Profiling业务流程及维测说明
Profiling业务流程
本节介绍Profiling功能执行过程中各指令经过的环节,方便工具使用者深入了解Profiling。业务流程如图7-36所示。
本节介绍Profiling业务流程。
如果是命令行方式执行Profiling,则Profiling配置信息通过hiprof直接下发。
Profiling执行流程描述:
- 把用户配置的Profiling配置信息下发给hiprof。
- hiprof将Profiling配置信息通过ADC发送至Host侧的Host Profiling Manager。
- Host Profiling Manager保存Profiling配置信息为配置文件并设置环境变量。
- Host Profiling Manager执行APP。
- APP调用AscendCL,AscendCL读取Profiling环境变量。
- AscendCL获取Profiling配置信息prof_conf.ini。
- AscendCL调用GEInitialize接口,将Profiling配置参数发送给GE。
- GE调用ProfMgrStartUp接口,将Profiling相关的配置信息发送给libmsprof.so。
对于单算子场景(op_trace)且AI Core采集全部Metrics时(ai_core_metrics_all)时,GE在调用ProfMgrStartUp前,先调用ProfMgrGetConf获取Profiling采集项配置与迭代次数。
- libmsprof.so将Profiling相关的配置信息发送给Host Profiling Agent。
- Host Profiling Agent基于Profiling配置信息配置Device侧相关模块的Profiling配置。
- GE发送Profiling配置信息至下游AI软件栈并启动Profiling,如Runtime。
- 采集各个模块的Profiling数据并由Host Profiling Agent回传。
- 命令行方式,hiprof命令直接解析数据并屏幕显示。
Profiling任务执行完毕后,GE调用ProfMgrStop接口,使能Profiling的退出流程。
Profiling维测说明
Profiling提供丰富的维测日志信息,方便用户在使用Profiling过程中根据关键信息快速进行故障定位定界。例如,如果Profiling异常中止,此时可以根据Profiling业务流程已打印的关键日志信息,分析知晓Profiling业务流程在某一个阶段异常,造成Profling流程无法正常执行,如表7-5所示。
序号 |
关键日志信息 |
异常原因 |
---|---|---|
1 |
Received Ide message to start profiling, jobId: |
未打印该日志,表示Profiling采集端(Host Profiling Manager)没有收到hiprof下发的Profiling指令,需要排查hiprof命令是否正常下发。 |
2 |
GenerateAclConf filePath: |
未打印该日志,表示Profiling采集端处理异常,需要排查Profiling采集端问题。 |
3 |
Succeeded to launch app pid=XXX |
|
4 |
Received ProfStart message to start profiling |
未打印该日志,表示GE没有调用Profiling的start接口,没有使能Profiling,需要排查GE/AscendCL之间的问题。 |
5 |
Received ProfStop message to stop profiling |
未打印该日志,表示GE没有调用Profiling的stop接口来关闭Profiling,需要排查GE没有调用Profiling的stop接口原因。 |
6 |
App process XXX exited, exit code: |
未打印该日志,表示APP一直在运行没有退出,需要APP的开发者确认是否存在死循环或者持续执行APP不退出的情况。 |