news 2026/5/9 12:48:15

CANN/runtime错误处理示例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/runtime错误处理示例

1_error_handling

【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime

概述

本示例演示 Runtime 错误处理的基础模式,参考 CUDAcheckCudaErrors的写法,展示如何统一检查 ACL 返回值,并组合使用aclrtPeekAtLastErroraclrtGetLastErroraclGetRecentErrMsgaclrtGetErrorVerbose获取更完整的诊断信息。

功能说明

该样例演示以下内容:

  1. 使用统一的检查宏处理 ACL 调用失败。
  2. 调用aclrtGetRunMode获取当前运行模式。
  3. 故意触发一次aclrtGetRunMode(nullptr)参数错误。
  4. 使用aclrtPeekAtLastError(ACL_RT_THREAD_LEVEL)读取线程级 Runtime 错误码而不清空状态。
  5. 使用aclrtGetLastError(ACL_RT_THREAD_LEVEL)获取并清空线程级 Runtime 错误码。
  6. 使用aclGetRecentErrMsg()获取最近一次 ACL 调用失败的错误描述。
  7. 使用aclrtGetErrorVerbose()查询更详细的设备错误摘要信息。
  8. 再次读取错误信息,演示错误码和错误描述的清空语义。

产品支持情况

本样例支持以下产品:

产品是否支持
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品

编译运行

环境安装详情以及运行详情请见 example 目录下的 README。

运行步骤如下:

# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 source ${install_root}/cann/set_env.sh export ASCEND_INSTALL_PATH=${install_root}/cann # 编译运行 bash run.sh

CANN RUNTIME API

在本样例中,涉及的关键功能点及其关键接口如下所示:

  • 初始化
    • 调用aclInit接口初始化 ACL。
    • 调用aclFinalize接口释放 ACL 资源。
  • Device 管理
    • 调用aclrtSetDevice接口绑定当前设备。
    • 调用aclrtResetDeviceForce接口重置当前设备。
    • 调用aclrtGetRunMode接口查询当前运行模式。
  • 错误诊断
    • 调用aclrtPeekAtLastError接口查询线程级 Runtime 错误码而不清空状态。
    • 调用aclrtGetLastError接口获取并清空线程级 Runtime 错误码。
    • 调用aclGetRecentErrMsg接口获取最近一次 ACL 调用失败的错误描述。
    • 调用aclrtGetErrorVerbose接口查询详细的错误摘要信息。

示例输出

[INFO] ACL init and set device successfully [INFO] Current run mode: ACL_HOST [INFO] Triggering an expected invalid-parameter error with aclrtGetRunMode(nullptr) [ERROR] Diagnostics: ret=..., peekErr=..., lastErr=..., recentErrMsg=... [INFO] Verbose error info: errorType=..., tryRepair=..., hasDetail=... [INFO] After diagnostics are consumed once: peekErr=0, lastErr=0, recentErrMsg=<null>

已知 issue

暂无。

【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime

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

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

高中生用Gemini3.1Pro打造研究性学习手册

在 2026 年&#xff0c;AI 已经不仅仅服务于写作、编程和内容生成&#xff0c;它也开始进入基础教育中的研究性学习场景。对于高中生来说&#xff0c;研究性学习最大的难点通常不是“想不到题目”&#xff0c;而是从选题、查资料、定方法、做记录、写结论到整理成果的整个流程不…

作者头像 李华
网站建设 2026/5/9 12:44:34

AI时代生物医学文献检索:从PubMed到LLM的智能工作流构建

1. 项目概述&#xff1a;当海量文献遇上智能工具在生物医学领域&#xff0c;每天都有成千上万篇新的研究论文发表&#xff0c;从PubMed这样的核心数据库涌出。作为一名从业者&#xff0c;无论是追踪前沿、设计实验&#xff0c;还是撰写综述、寻找临床证据&#xff0c;高效精准的…

作者头像 李华
网站建设 2026/5/9 12:44:34

我的端口开放了吗?

我的端口开放了吗&#xff1f; 摘要&#xff1a; 本文提供了一个简单的单行命令&#xff0c;用于检查 Linux 系统上特定端口是否开放&#xff0c;避免了使用 nmap 或 netcat 等传统工具的复杂性。 原文链接 作为一名顾问&#xff0c;我经常需要为客户安装 Postgres。当然&…

作者头像 李华
网站建设 2026/5/9 12:42:12

CANN/pyasc按位取反函数文档

asc.language.basic.bitwise_not 【免费下载链接】pyasc 本项目为Python用户提供算子编程接口&#xff0c;支持在昇腾AI处理器上加速计算&#xff0c;接口与Ascend C一一对应并遵守Python原生语法。 项目地址: https://gitcode.com/cann/pyasc asc.language.basic.bitwi…

作者头像 李华
网站建设 2026/5/9 12:42:12

生成式AI的艺术评判:当传统审美标准遭遇算法创作

1. 项目概述&#xff1a;当AI拿起画笔&#xff0c;我们如何评判&#xff1f; 最近几年&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;的爆发&#xff0c;让“创造力”这个曾经被认为是人类专属的领域&#xff0c;变得不再那么泾渭分明。从能写出流畅文章的C…

作者头像 李华
网站建设 2026/5/9 12:42:11

CANN/cannbot-skills:A5 Flash Attention FP8因果注意力内核

Deep Note: agent/example/kernels/a5/flash_attn_full_fp8_causal.py 【免费下载链接】cannbot-skills CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体&#xff0c;本仓库为其提供可复用的 Skills 模块。 项目地址: https://gitcode.com/cann/cannbot-skills …

作者头像 李华