使用streamline快速构建Mali GPU性能分析环境
- UID
- 1066743
|
使用streamline快速构建Mali GPU性能分析环境
1. Streamline介绍 Streamline是ARM DS-5工具中十分重要的性能分析工具,既支持CPU的性能分析,又支持GPU的性能分析。Streamline以丰富的图形化界面为用户提供Timeline,Call Paths, Function,Code,Log等5种视图,简单、直观、易用。Streamline版本和ARM DS-5工具一起发布,最新的版本为v5.24,下载地址请参阅 [0],关于streamline的详细介绍,请参阅 [1]。首先让我们一起了解一下streamline的实现机制。
2. Streamline实现概述 从架构上讲,可以把Streamline分为Host端和target端。在Host端(PC端)运行streamline的GUI,在target端运行一个代理程序,我们称之为Gator。Host和Gator两端遵循streamline定义的协议,称为Target-Host Protocol (该协议基于TCP/IP)。目前Gator实现有两种形式,一种称为user space gator,即运行在用户态的一个应用程序gator daemon,另一种形式需要gator driver的支持,即用户态的gator daemon和内核态的gator driver协同工作,两者都需要target上运行Linux Kernel,支持perf接口。那么如果要对GPU进行性能分析,需要使用第二种形式,即使用Gator Driver,同时需要Mali DDK Driver的支持。下图是Target上运行的Gator的工作机制。
Gator 工作原理
3. 准备工作目前,要使用streamline对Mali GPU进行性能分析,需要准备Gator daemon和 Gator driver。根据实际运行的平台(Linux或者Android)进行对应的编译工作,生成相应的binary。
- Gator Daemon的编译,请参阅 [2]
- Gator Driver的编译,请参阅 [3]
- Mali Driver的编译,请参阅相应Mali GPU的Driver Development Kit (DDK) 文档
注意:建议将Mali Driver编译进内核,原因有两点:
- 新版本的android有可能不让加载模块
- 有效避免Linux kernel 3.15版本和之后的版本中关于trace point的问题
- 验证gator driver 是否build 成功
ls -l /dev/gator/events/ARM_Mali*- 该命令应该列出多个以”ARM_Mali_”开头的GPU counter。
4. 读取GPU Counter 打开counter configuration:
选取感兴趣的Counter:
供选择的GPU counter(一)
供选择的GPU counter (二)
点击 ”save”, 开始
“ capture ”:
点击 “Stop Capture”停止数据捕获
停止 capture之后,streamline会自动分析抓到的数据,显示抓取的结果:
Timeline关于GPU counter的视图 |
|
|
|
|
|