总体介绍
本章节提供离线推理场景下,如何通过API方式采集性能数据,支持以下实现方式:
采集方式 |
说明 |
调用 |
---|---|---|
方式一:采集并落盘性能数据 |
将采集到的性能数据写入文件,再使用msprof工具解析该文件,并展示性能分析数据。 |
aclprofInit、aclprofFinalize、aclprofSetConfig、aclprofStart、aclprofStop、aclprofCreateConfig和aclprofDestroyConfig接口配合使用,实现该方式的性能数据采集。该方式可获取AI Core上算子的执行时间、AI Core性能指标数据等。 |
方式二:使用msproftx扩展接口采集并落盘性能数据 |
当用户需要定位应用程序或上层框架程序的性能瓶颈时,可在Profiling采集进程内(aclprofStart接口、aclprofStop接口之间)调用msproftx扩展接口,开启记录应用程序执行期间特定事件发生的时间跨度,并将数据写入性能数据文件,再使用msprof工具解析该文件,并导出展示性能分析数据。 |
在aclprofStart和aclprofStop接口之间调用aclprofCreateStamp、aclprofSetStampTraceMessage、aclprofMark、aclprofPush、aclprofPop、aclprofRangeStart、aclprofRangeStop、aclprofDestroyStamp接口,获取应用程序执行期间特定时间发生的事件并记录事件发生的时间跨度。 |
方式三:订阅算子信息 |
将采集到的性能数据解析后写入管道,由用户读入内存,再由用户调用API获取性能数据。 |
aclprofModelSubscribe接口、aclprofGet*接口、aclprofModelUnSubscribe接口配合使用,实现该方式的性能数据采集,当前支持获取网络模型中算子的性能数据,包括算子名称、算子类型名称、算子执行时间等。 |