news 2026/7/11 14:45:54

CANN/runtime Label管理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/runtime Label管理

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上的任务停止执行。异步接口。

aclrtCreateLabel

aclError aclrtCreateLabel(aclrtLabel *label)

产品支持情况

  • Ascend 950PR/Ascend 950DT:支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
  • Atlas 200I/500 A2 推理产品:支持
  • Atlas 推理系列产品:支持
  • Atlas 训练系列产品:支持
  • IPV350:不支持

功能说明

创建标签。每个进程最多创建65535个标签。

调用本接口创建标签后,再依次配合aclrtCreateLabelList接口(创建标签列表)、aclrtSetLabel接口(在Stream上设置标签)、aclrtSwitchLabelByIndex接口(跳转到指定Stream)使用,实现Stream之间的跳转。

参数说明

参数名输入/输出说明
label输出标签的指针。类型定义请参见aclrtLabel。

返回值说明

返回0表示成功,返回其他值表示失败,请参见aclError。




aclrtSetLabel

aclError aclrtSetLabel(aclrtLabel label, aclrtStream stream)

产品支持情况

  • Ascend 950PR/Ascend 950DT:支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
  • Atlas 200I/500 A2 推理产品:支持
  • Atlas 推理系列产品:支持
  • Atlas 训练系列产品:支持
  • IPV350:不支持

功能说明

在Stream上设置标签。

参数说明

参数名输入/输出说明
label输入标签。类型定义请参见aclrtLabel。
通过aclrtCreateLabel接口创建的标签作为此处的输入。
stream输入需设置标签的Stream。类型定义请参见aclrtStream。
此处只支持通过aclmdlRIBindStream接口绑定过模型运行实例的Stream。

返回值说明

返回0表示成功,返回其他值表示失败,请参见aclError。




aclrtDestroyLabel

aclError aclrtDestroyLabel(aclrtLabel label)

产品支持情况

  • Ascend 950PR/Ascend 950DT:支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
  • Atlas 200I/500 A2 推理产品:支持
  • Atlas 推理系列产品:支持
  • Atlas 训练系列产品:支持
  • IPV350:不支持

功能说明

销毁标签。

参数说明

参数名输入/输出说明
label输入通过aclrtCreateLabel接口创建的标签。类型定义请参见aclrtLabel。

返回值说明

返回0表示成功,返回其他值表示失败,请参见aclError。




aclrtCreateLabelList

aclError aclrtCreateLabelList(aclrtLabel *labels, size_t num, aclrtLabelList *labelList)

产品支持情况

  • Ascend 950PR/Ascend 950DT:支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
  • Atlas 200I/500 A2 推理产品:支持
  • Atlas 推理系列产品:支持
  • Atlas 训练系列产品:支持
  • IPV350:不支持

功能说明

创建标签列表。

参数说明

参数名输入/输出说明
labels输入标签数组。类型定义请参见aclrtLabel。
数组中的标签需通过aclrtCreateLabel接口创建。
num输入标签数组长度,取值(0, 65535]。
labelList输出标签列表。类型定义请参见aclrtLabelList。

返回值说明

返回0表示成功,返回其他值表示失败,请参见aclError。




aclrtDestroyLabelList

aclError aclrtDestroyLabelList(aclrtLabelList labelList)

产品支持情况

  • Ascend 950PR/Ascend 950DT:支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
  • Atlas 200I/500 A2 推理产品:支持
  • Atlas 推理系列产品:支持
  • Atlas 训练系列产品:支持
  • IPV350:不支持

功能说明

销毁标签列表。

参数说明

参数名输入/输出说明
labelList输入通过接口创建的标签列表。类型定义请参见aclrtLabelList。

返回值说明

返回0表示成功,返回其他值表示失败,请参见aclError。




aclrtSwitchLabelByIndex

aclError aclrtSwitchLabelByIndex(void *ptr, uint32_t maxValue, aclrtLabelList labelList, aclrtStream stream)

产品支持情况

  • Ascend 950PR/Ascend 950DT:支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
  • Atlas 200I/500 A2 推理产品:支持
  • Atlas 推理系列产品:支持
  • Atlas 训练系列产品:支持
  • IPV350:不支持

功能说明

根据标签索引跳转到相应的标签位置,执行该标签所在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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/11 14:44:05

如何选择适合的闭循环低温恒温器

结合闭循环低温恒温器的技术特点、核心指标、应用场景等方面,选择适配的闭循环低温恒温器可以从实际需求出发逐层筛选。 先梳理清楚自身实验的核心硬性要求,明确实验需要的*低温度、温度区间范围,确认样品腔的尺寸是否能放下待测样品和配套夹…

作者头像 李华
网站建设 2026/7/11 14:39:07

UTXO模型及其在区块链中的演化

引言 UTXO(未花费交易输出)模型是比特币的核心设计之一,它通过将交易分为输入和输出,使每个UTXO只能被花费一次,从而有效防止了双花攻击。尽管UTXO模型简洁且高效,它在支持复杂交易和智能合约方面存在一定的…

作者头像 李华
网站建设 2026/7/11 14:39:04

CANN通信层SHMEM参考

通信层(SHMEM / UDMA)参考 【免费下载链接】cannbot-skills CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。 项目地址: https://gitcode.com/cann/cannbot-skills 本文档承载 MC2 ski…

作者头像 李华
网站建设 2026/7/11 14:38:09

3步快速上手GrapesJS终极指南:从零开始构建可视化网页编辑器

3步快速上手GrapesJS终极指南:从零开始构建可视化网页编辑器 【免费下载链接】grapesjs Free and Open source Web Builder Framework. Next generation tool for building templates without coding 项目地址: https://gitcode.com/GitHub_Trending/gr/grapesjs …

作者头像 李华
网站建设 2026/7/11 14:35:26

让老旧Mac重获新生:OpenCore Legacy Patcher实战指南

让老旧Mac重获新生:OpenCore Legacy Patcher实战指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 还在为2007-2017年的老旧Mac无法升级到最新m…

作者头像 李华
网站建设 2026/7/11 14:35:04

L9958与STM32F107VC电机控制方案实战解析

1. 为什么选择L9958STM32F107VC组合在工业级电机控制领域,这个组合就像F1赛车中的涡轮增压引擎配专业车手。L9958这颗多通道H桥驱动器芯片,实测单通道能稳定输出3A持续电流(峰值5A),而STM32F107VC作为Cortex-M3内核的M…

作者头像 李华