CANN/runtime Label管理API

张开发
2026/5/9 16:19:33 15 分钟阅读

分享文章

CANN/runtime Label管理API
10. Label管理【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime本章节描述 CANN Runtime 的 Label 管理接口用于 Label 的创建、设置、销毁及条件分支控制。aclError aclrtCreateLabel(aclrtLabel *label)创建标签。每个进程最多创建65535个标签。aclError aclrtSetLabel(aclrtLabel label, aclrtStream stream)在Stream上设置标签。aclError aclrtDestroyLabel(aclrtLabel label)销毁标签。aclError aclrtCreateLabelList(aclrtLabel *labels, size_t num, aclrtLabelList *labelList)创建标签列表。aclError aclrtDestroyLabelList(aclrtLabelList labelList)销毁标签列表。aclError aclrtSwitchLabelByIndex(void *ptr, uint32_t maxValue, aclrtLabelList labelList, aclrtStream stream)根据标签索引跳转到相应的标签位置执行该标签所在Stream上的任务同时当前Stream上的任务停止执行。异步接口。aclrtCreateLabelaclError aclrtCreateLabel(aclrtLabel *label)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品☓Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明创建标签。每个进程最多创建65535个标签。调用本接口创建标签后再依次配合aclrtCreateLabelList接口创建标签列表、aclrtSetLabel接口在Stream上设置标签、aclrtSwitchLabelByIndex接口跳转到指定Stream使用实现Stream之间的跳转。参数说明参数名输入/输出说明label输出标签的指针。类型定义请参见aclrtLabel。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtSetLabelaclError aclrtSetLabel(aclrtLabel label, aclrtStream stream)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品☓Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明在Stream上设置标签。参数说明参数名输入/输出说明label输入标签。类型定义请参见aclrtLabel。通过aclrtCreateLabel接口创建的标签作为此处的输入。stream输入需设置标签的Stream。类型定义请参见aclrtStream。此处只支持通过aclmdlRIBindStream接口绑定过模型运行实例的Stream。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtDestroyLabelaclError aclrtDestroyLabel(aclrtLabel label)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品☓Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明销毁标签。参数说明参数名输入/输出说明label输入通过aclrtCreateLabel接口创建的标签。类型定义请参见aclrtLabel。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtCreateLabelListaclError aclrtCreateLabelList(aclrtLabel *labels, size_t num, aclrtLabelList *labelList)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品☓Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明创建标签列表。参数说明参数名输入/输出说明labels输入标签数组。类型定义请参见aclrtLabel。数组中的标签需通过aclrtCreateLabel接口创建。num输入标签数组长度取值(0, 65535]。labelList输出标签列表。类型定义请参见aclrtLabelList。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtDestroyLabelListaclError aclrtDestroyLabelList(aclrtLabelList labelList)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品☓Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明销毁标签列表。参数说明参数名输入/输出说明labelList输入通过接口创建的标签列表。类型定义请参见aclrtLabelList。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtSwitchLabelByIndexaclError aclrtSwitchLabelByIndex(void *ptr, uint32_t maxValue, aclrtLabelList labelList, aclrtStream stream)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品☓Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明根据标签索引跳转到相应的标签位置执行该标签所在Stream上的任务同时当前Stream上的任务停止执行。异步接口。参数说明参数名输入/输出说明ptr输入标签索引。存放目标标签索引值的Device内存地址索引值的数据类型uint32长度4字节索引值从0开始。当目标标签索引大于labelList数组的最大索引值时跳转到最大标签。maxValue输入标签列表中的标签个数。labelList输入标签列表。类型定义请参见aclrtLabelList。通过aclrtCreateLabelList接口创建的标签列表作为此处的输入。stream输入执行跳转任务的Stream。类型定义请参见aclrtStream。返回值说明返回0表示成功返回其他值表示失败请参见aclError。【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

更多文章