0_overflow_detection【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime概述本示例演示流级溢出检测开关、状态查询和重置流程。功能说明查询当前 Device 的浮点溢出模式并切换为ACL_RT_OVERFLOW_MODE_SATURATION。在饱和模式下创建 Stream打开溢出检测开关并读取当前配置。申请固定64 Byte的 Device 状态缓冲区获取一次溢出状态并同步到 Host。调用aclrtResetOverflowStatus后再次查询状态并在结束时恢复原始饱和模式。销毁 Stream、Context 和状态缓存。产品支持情况本样例支持以下产品产品是否支持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.shCANN RUNTIME API在本样例中涉及的关键功能点及其关键接口如下所示初始化与 Context/Stream 管理调用aclInit和aclFinalize接口完成 ACL 初始化与去初始化。调用aclrtSetDevice、aclrtResetDeviceForce接口管理 Device。调用aclrtCreateContext和aclrtDestroyContext接口创建和销毁 Context。调用aclrtCreateStream、aclrtSynchronizeStream和aclrtDestroyStream接口管理 Stream。Device 浮点溢出模式管理调用aclrtGetDeviceSatMode和aclrtSetDeviceSatMode接口查询并设置 Device 饱和模式。溢出检测状态管理调用aclrtSetStreamOverflowSwitch和aclrtGetStreamOverflowSwitch接口开启或查询 Stream 溢出检测开关。调用aclrtGetOverflowStatus接口获取当前溢出状态。调用aclrtResetOverflowStatus接口重置溢出状态。内存管理与数据传输调用aclrtMalloc和aclrtFree接口管理状态缓存。调用aclrtMemcpy接口将状态数据同步到 Host 侧。已知 issueaclrtSetStreamOverflowSwitch仅在ACL_RT_OVERFLOW_MODE_SATURATION模式下可用如果当前产品或运行时不支持该能力相关接口可能返回ACL_ERROR_RT_FEATURE_NOT_SUPPORT (207000)。样例会记录告警并在完成资源清理后退出。【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考