CANN/runtime Profiling数据采集接口
# 19-01 Profiling数据采集接口【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime本章节描述 Profiling 数据采集的核心接口用于性能采集的初始化、配置、启停控制。aclError aclprofInit(const char *profilerResultPath, size_t length)初始化Profiling目前用于设置保存性能数据的文件的路径。aclError aclprofSetConfig(aclprofConfigType configType, const char *config, size_t configLength)aclprofCreateConfig接口的扩展接口用于设置性能数据采集参数。aclError aclprofStart(const aclprofConfig *profilerConfig)下发Profiling请求使能对应数据的采集。aclError aclprofStop(const aclprofConfig *profilerConfig)停止Profiling数据采集。aclError aclprofFinalize()结束Profiling。uint64_t aclprofStr2Id(const char *message)msproftx用于将字符串转化为哈希ID。数据采集说明总体约束不能与订阅算子信息的接口交叉调用aclprofInit接口和aclprofFinalize接口之间不能调用aclprofModelSubscribe接口、aclprofGet*接口、aclprofModelUnSubscribe接口。接口约束说明调用接口要求aclprofInit接口必须在aclInit接口之后、模型加载之前调用。如果已经通过aclInit接口配置了Profiling信息则调用aclprofInit接口、aclprofStart接口、aclprofStop接口、aclprofFinalize时会返回报错。如果没有调用aclprofInit接口调用aclprofStart接口、aclprofStop接口、aclprofFinalize时会返回报错。aclprofStart接口在模型执行之前调用若在模型执行过程中调用aclprofStart接口Profiling采集到的数据为调用aclprofStart接口之后的数据可能导致数据不完整。调用aclprofStart接口时可以指定从一个Device上采集性能数据也可以指定从多个Device上采集性能数据。一个用户APP进程内如果连续调用多次aclprofStart接口指定重复的Profiling配置或指定的Device重复会返回报错。在用户APP的进程生命周期内aclprofInit接口与aclprofFinalize接口配对使用建议只调用一次如该组合多次调用可以改变保存性能数据的文件的路径。aclprofStart接口与aclprofStop接口需配对使用。aclprofSetConfig接口必须在aclprofStart接口之前调用。一个APP进程内可以根据需要选择一次或多次调用aclprofSetConfig接口。调用aclFinalize并接收到正常退出码后为执行完毕其他情况为非正常。由于性能数据采集不支持多进程并发执行为确保驱动关闭正常需要在前一个性能数据采集用例完全执行完毕之后再执行下一轮采集。建议在aclFinalize接口返回值上加入异常处理操作方便展示执行状态与问题定位。接口调用顺序建议的接口调用顺序如下以“一个用户APP进程内采集多个模型推理时的性能数据”为例aclInit接口--aclprofInit接口--aclprofStart接口(指定Device 0和Device 1)--模型1加载--模型1执行--aclprofStop接口(与aclprofStart接口的aclprofConfig数据保持一致)--aclprofStart接口(指定Device 1和Device 2)--模型2加载--模型2执行--aclprofStop接口(与aclprofStart接口的aclprofConfig数据保持一致)--aclprofFinalize接口--执行其它任务--模型卸载--aclFinalize接口错误的接口调用顺序示例如下以“一个用户APP进程内如果连续调用多次aclprofStart接口指定的Device重复”为例aclInit接口--aclprofInit接口--aclprofStart接口(指定Device 0和Device 1)--aclprofStart接口(指定Device 1和Device 2)--模型1加载--模型1执行--模型2加载--模型2执行--aclprofStop接口--aclprofStop接口--aclprofFinalize--执行其它任务--模型卸载--aclFinalize接口aclprofInitaclError aclprofInit(const char *profilerResultPath, size_t length)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明初始化Profiling目前用于设置保存性能数据的文件的路径。参数说明参数名输入/输出说明profilerResultPath输入指定保存性能数据的文件的路径支持配置为绝对路径或相对路径。length输入profilerResultPath的长度单位为Byte最大长度不超过4096字节。返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明与aclprofFinalize接口配对使用先调用aclprofInit接口再调用aclprofFinalize接口。aclprofSetConfigaclError aclprofSetConfig(aclprofConfigType configType, const char *config, size_t configLength)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明aclprofCreateConfig接口的扩展接口用于设置性能数据采集参数。该接口支持多次调用用户需要保证数据的一致性和准确性。参数说明参数名输入/输出说明configType输入作为configType参数值。每个枚举表示不同采集配置若要使用该接口下不同的选项采集多种性能数据则需要多次调用该接口详细请参见aclprofConfigType。config输入指定配置项参数值。configLength输入config的长度单位为Byte最大长度不超过256字节。返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明先调用aclprofSetConfig接口再调用aclprofStart接口可根据需求选择调用该接口。aclprofStartaclError aclprofStart(const aclprofConfig *profilerConfig)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明下发Profiling请求使能对应数据的采集。用户可根据需要在模型执行过程中按需调用aclprofStart接口Profiling采集到的数据为调用该接口之后的数据。参数说明参数名输入/输出说明profilerConfig输入指定Profiling配置数据。类型定义请参见aclprofConfig。需提前调用aclprofCreateConfig接口创建aclprofConfig类型的数据。返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明与aclprofStop接口配对使用先调用aclprofStart接口再调用aclprofStop接口。aclprofStopaclError aclprofStop(const aclprofConfig *profilerConfig)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明停止Profiling数据采集。参数说明参数名输入/输出说明profilerConfig输入指定停止Profiling数据采集的配置。类型定义请参见aclprofConfig。与aclprofStart接口中的aclprofConfig类型数据保持一致。返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明与aclprofStart接口配对使用先调用aclprofStart接口再调用aclprofStop接口。aclprofFinalizeaclError aclprofFinalize()产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明结束Profiling。参数说明无返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明与aclprofInit接口配对使用先调用aclprofInit接口再调用aclprofFinalize接口。aclprofStr2Iduint64_t aclprofStr2Id(const char *message)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明msproftx用于将字符串转化为哈希ID。参数说明参数名输入/输出说明message输入字符信息例如算子名。返回值说明返回哈希ID如果是uint64_t类型的最大值则表示失败其他表示成功。约束说明与aclprofRangePushEx和aclprofRangePop接口配合使用在aclprofRangePushEx接口调用之前调用。【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2598042.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!