news 2026/9/10 20:52:10

CANN/GE ACL算子描述API

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/GE ACL算子描述API

aclmdlCreateAndGetOpDesc

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

产品支持情况

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

功能说明

获取指定算子的描述信息,包括算子名、输入tensor描述、输出tensor描述,如果查询不到指定算子,则返回报错。该接口不支持动态Shape场景。

使用场景举例:执行整网模型推理时,如果产生AI Core报错,可以调用本接口获取报错算子的描述信息,再做进一步错误排查。

推荐的接口调用顺序如下:

  1. 定义并实现异常回调函数fn,回调函数原型请参见aclrtSetExceptionInfoCallback。

    实现回调函数的关键步骤如下:

    1. 在异常回调函数fn内调用aclrtGetDeviceIdFromExceptionInfo、aclrtGetStreamIdFromExceptionInfo、aclrtGetTaskIdFromExceptionInfo接口分别获取Device ID、Stream ID、Task ID。

    2. 在异常回调函数fn内调用aclmdlCreateAndGetOpDesc接口获取算子的描述信息。

    3. 在异常回调函数fn内调用aclGetTensorDescByIndex接口获取指定算子输入/输出的tensor描述。

    4. 在异常回调函数fn内调用如下接口获取tensor描述中的数据,进行进一步分析。

      例如,调用aclGetTensorDescAddress接口获取tensor数据的内存地址(用户可从该内存地址中获取tensor数据)、调用aclGetTensorDescType接口获取tensor描述中的数据类型、调用aclGetTensorDescFormat接口获取tensor描述中的Format、调用aclGetTensorDescNumDims接口获取tensor描述中的Shape维度个数、调用aclGetTensorDescDimV2接口获取Shape中指定维度的大小。

  2. 调用aclrtSetExceptionInfoCallback接口设置异常回调函数。

  3. 执行模型推理。

    如果存在AI Core报错,则触发回调函数fn,获取算子的信息,进行进一步分析。

函数原型

aclError aclmdlCreateAndGetOpDesc(uint32_t deviceId, uint32_t streamId, uint32_t taskId, char *opName, size_t opNameLen, aclTensorDesc **inputDesc, size_t *numInputs, aclTensorDesc **outputDesc, size_t *numOutputs)

参数说明

参数名输入/输出说明
deviceId输入Device ID。
调用aclrtGetDeviceIdFromExceptionInfo接口获取异常信息中的Device ID,作为本接口的输入。
streamId输入Stream ID。
调用aclrtGetStreamIdFromExceptionInfo接口获取异常信息中的Stream ID,作为本接口的输入。
taskId输入Task ID。
调用aclrtGetTaskIdFromExceptionInfo接口获取异常信息中的Task ID,作为本接口的输入。
opName输出算子名称字符串的指针。
opNameLen输入算子名称字符串长度。
若用户指定的长度比实际算子名称的长度短,则返回报错。
inputDesc输出算子所有输入的tensor描述的指针,指向一块连续内存的首地址。类型定义请参见aclTensorDesc。
numInputs输出输入个数的指针。
outputDesc输出算子所有输出的tensor描述的指针,指向一块连续内存的首地址。类型定义请参见aclTensorDesc。
numOutputs输出输出个数的指针。

返回值说明

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

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

量子力学核心概念与应用解析

1. 量子力学基础概述量子力学是现代物理学的重要分支,研究微观粒子运动规律的理论体系。我第一次接触量子力学是在大学物理实验室,当时用双缝实验观察电子干涉现象,那种颠覆经典物理认知的震撼至今难忘。量子力学不仅改变了我们对物质基本组成…

作者头像 李华
网站建设 2026/9/10 20:49:17

CANN/ge图引擎概念原理

概念原理 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的…

作者头像 李华
网站建设 2026/9/10 20:48:09

黑客为什么不攻击微信和支付宝,反而盯着某些平台下手呢?

黑客为什么不攻击微信和支付宝,反而盯着某些平台下手呢? 近期,快手平台疑似遭遇黑客入侵的消息引发行业热议——有网友反馈账号异常登录、个人信息泄露,部分主播甚至出现直播打赏资金被篡改的情况。事件虽未得到官方最终定性&…

作者头像 李华
网站建设 2026/9/10 20:47:52

低代码平台如何破解企业数据孤岛难题

1. 数据孤岛困局与低代码破局之道在数字化转型浪潮中,企业普遍面临一个尴尬现状:ERP系统里的财务数据、CRM中的客户信息、MES系统的生产记录各自为政,就像一个个被海水隔绝的孤岛。某制造企业高管曾向我吐槽:"每次做经营分析…

作者头像 李华