如何在 ARM Mali GPU 上运行的 Android 上分析 OpenCL 代码

问题描述 投票:0回答:1

如何使用本机代码在 Android 设备上分析 Mali GPU?

假设 Android 设备上的二进制文件运行为“./run.bin”。该二进制文件未打包为 apk。该二进制文件包含 OpenCL 代码。我该如何分析这个?我理想地寻找与 Nvidia 的 Nsight 分析器类似的输出。

据我所知,Streamline Performance Analyzer 可以分析 Android 上的应用程序。但是,文档概述了如何捕获通过 Streamline 启动的 apk 的数据。我可以以某种方式收集本机二进制文件的数据吗?

android android-ndk arm profiling mali
1个回答
0
投票

您已经在 Arm 社区论坛 上找到了答案,但我也会将其放在这里供其他人使用:

您将需要二进制文件的调试版本,并且需要使用

gatord
工具。

gatord
(位于
Arm_Performance_Studio/streamline/bin/android/arm64/
)推送到 Android 设备,然后在
adb shell
中运行可执行文件,如下所示,将捕获的名称作为输出的一部分,例如:

./gatord -o /data/local/tmp/capture.apc -A 应用程序参数...

应该可以工作。

请参阅

--help
了解用于配置目标的命令行参数列表(例如,请参阅
--print counters
-C
了解配置)。

您还可以使用 Streamline UI 在此配置中从目标进行实时捕获(如果您对此感兴趣,这将允许您应用 GPU 模板)...运行 gatord,如下所示:

./gatord -A 应用程序参数...

然后使用“TCP/IP”选项,而不是“开始”选项卡中的“Android”选项。如果您的设备通过 adb/usb 连接,并且 adb 命令位于 PATH 中(或在 Streamline UI 首选项中配置),那么您应该会看到该设备出现在可用设备列表中。

© www.soinside.com 2019 - 2024. All rights reserved.