CANN/runtime msproftx扩展接口

CANN/runtime msproftx扩展接口 19-02 msproftx扩展接口【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime本章节描述 msproftx 扩展接口用于自定义性能标记Stamp、范围标记及调用栈标记。void *aclprofCreateStamp()创建msproftx事件标记。aclError aclprofSetStampTraceMessage(void *stamp, const char *msg, uint32_t msgLen)为msproftx事件标记携带字符串描述在Profiling解析并导出结果中msprof_tx summary数据展示。aclError aclprofMark(void *stamp)msproftx标记瞬时事件。aclError aclprofMarkEx(const char *msg, size_t msgLen, aclrtStream stream)aclprofMarkEx打点接口。aclError aclprofPush(void *stamp)msproftx用于记录事件发生的时间跨度的开始时间。aclError aclprofPop()msproftx用于记录事件发生的时间跨度的结束时间。aclError aclprofRangeStart(void *stamp, uint32_t *rangeId)msproftx用于记录事件发生的时间跨度的开始时间。aclError aclprofRangeStop(uint32_t rangeId)msproftx用于记录事件发生的时间跨度的结束时间。aclError aclprofRangePushEx(aclprofEventAttributes *attr)在Torch场景下msproftx上报Tensor信息。aclError aclprofRangePop()在Torch场景下msproftx上报Tensor信息。void aclprofDestroyStamp(void *stamp)释放msproftx事件标记。扩展接口使用说明调用接口要求msproftx功能相关接口须在aclprofStart接口与aclprofStop接口之间调用。其中配对使用的接口有aclprofCreateStamp/aclprofDestroyStamp、aclprofPush/aclprofPop、aclprofRangeStart/aclprofRangeStop。接口调用顺序aclprofStart接口(指定Device 0和Device 1)--aclprofCreateStamp接口--aclprofSetStampTraceMessage接口--aclprofMark接口--(aclprofPush接口--aclprofPop接口)或(aclprofRangeStart接口--aclprofRangeStop接口)--aclprofDestroyStamp接口--aclprofStop接口(与aclprofStart接口的aclprofConfig数据保持一致)。aclprofCreateStampvoid *aclprofCreateStamp()产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明创建msproftx事件标记。后续调用aclprofMark、aclprofSetStampTraceMessage、aclprofPush和aclprofRangeStart接口时需要以描述该事件的指针作为输入表示记录该事件发生的时间跨度。返回值说明返回void类型的指针表示成功。返回nullptr表示失败。约束说明与aclprofDestroyStamp接口配对使用需提前调用aclprofStart接口。aclprofSetStampTraceMessageaclError aclprofSetStampTraceMessage(void *stamp, const char *msg, uint32_t msgLen)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明为msproftx事件标记携带字符串描述在Profiling解析并导出结果中msprof_tx summary数据展示。参数说明参数名输入/输出说明stamp输入Stamp指针指代msproftx事件标记。指定aclprofCreateStamp接口的指针。msg输入Stamp信息字符串指针。msgLen输入字符串长度。返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明在aclprofCreateStamp接口和aclprofDestroyStamp接口之间调用。aclprofMarkaclError aclprofMark(void *stamp)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明msproftx标记瞬时事件。调用此接口后Profiling自动在Stamp指针中加上当前时间戳将Event type设置为Mark表示开始一次msproftx采集。参数说明参数名输入/输出说明stamp输入Stamp指针指代msproftx事件标记。指定aclprofCreateStamp接口的指针。返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明在aclprofCreateStamp接口和aclprofDestroyStamp接口之间调用。aclprofMarkExaclError aclprofMarkEx(const char *msg, size_t msgLen, aclrtStream stream)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明aclprofMarkEx打点接口。调用此接口向配置的Stream流上下发打点任务用于标识Host侧打点与Device侧打点任务的关系。参数说明参数名输入/输出说明msg输入打点信息字符串指针。类型定义请参见aclrtStream。msgLen输入字符串长度。最大支持127字符。stream输入指定Stream。取值详见aclrtStream。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclprofPushaclError aclprofPush(void *stamp)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明msproftx用于记录事件发生的时间跨度的开始时间。调用此接口后Profiling自动在Stamp指针中记录开始的时间戳将Event type设置为Push/Pop。参数说明参数名输入/输出说明stamp输入Stamp指针指代msproftx事件标记。指定aclprofCreateStamp接口的指针。返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明与aclprofPop接口成对使用表示时间跨度的开始和结束。在aclprofCreateStamp接口和aclprofDestroyStamp接口之间调用。不能跨线程调用若需要跨线程可使用aclprofRangeStart/aclprofRangeStop接口。aclprofPopaclError aclprofPop()产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明msproftx用于记录事件发生的时间跨度的结束时间。调用此接口后Profiling自动在Stamp指针中记录采集结束的时间戳。返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明与aclprofPush接口成对使用表示时间跨度的开始和结束。在aclprofCreateStamp接口和aclprofDestroyStamp接口之间调用。不能跨线程调用。若需要跨线程可使用aclprofRangeStart/aclprofRangeStop接口。aclprofRangeStartaclError aclprofRangeStart(void *stamp, uint32_t *rangeId)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明msproftx用于记录事件发生的时间跨度的开始时间。调用此接口后Profiling自动在Stamp指针记录采集开始的时间戳将Event type设置为Start/Stop生成一个进程唯一的id并将Stamp保存在以进程粒度维护的一个map中。参数说明参数名输入/输出说明stamp输入Stamp指针指代msproftx事件标记。指定aclprofCreateStamp接口的指针。rangeId输出msproftx事件标记的唯一标识。用于在跨线程时区分。返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明与aclprofRangeStop接口成对使用表示时间跨度的开始和结束。在aclprofCreateStamp接口和aclprofDestroyStamp接口之间调用。可以跨线程调用。aclprofRangeStopaclError aclprofRangeStop(uint32_t rangeId)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明msproftx用于记录事件发生的时间跨度的结束时间。调用此接口后Profiling自动在Stamp指针中记录采集结束的时间戳。参数说明参数名输入/输出说明rangeId输出msproftx事件标记的唯一标识。用于在跨线程时区分。返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明与aclprofRangeStart接口成对使用表示时间跨度的开始和结束。在aclprofCreateStamp接口和aclprofDestroyStamp接口之间调用。可以跨线程调用。aclprofRangePushExaclError aclprofRangePushEx(aclprofEventAttributes *attr)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明在Torch场景下msproftx上报Tensor信息。调用此接口后Profiling判断messageType为MESSAGE_TYPE_TENSOR_INFO时缓存Tensor信息。参数说明参数名输入/输出说明attr输入需要上报的Tensor信息结构体详见aclprofEventAttributes。返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明与aclprofRangePop接口配对使用先调用aclprofRangePushEx接口再调用aclprofRangePop接口。aclprofRangePopaclError aclprofRangePop()产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明在Torch场景下msproftx上报Tensor信息。调用此接口后Profiling上报缓存的Tensor信息。返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明与aclprofRangePushEx接口配对使用先调用aclprofRangePushEx接口再调用aclprofRangePop接口。aclprofDestroyStampvoid aclprofDestroyStamp(void *stamp)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明释放msproftx事件标记。参数说明参数名输入/输出说明stamp输入Stamp指针指代msproftx事件标记。指定aclprofCreateStamp接口的指针。返回值说明无约束说明与aclprofCreateStamp接口配对使用在aclprofStop接口前调用。【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考