昇腾C饱和标志位设置

📅 2026/7/17 9:14:19
昇腾C饱和标志位设置
SetSaturationFlag(ISASI)【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况Ascend 950PR/Ascend 950DT不支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品不支持Atlas 推理系列产品AI Core不支持Atlas 推理系列产品Vector Core不支持Atlas 训练系列产品不支持Kirin X90不支持Kirin 9030不支持功能说明头文件路径为basic_api/kernel_operator_common_intf.h。设置饱和开关的标志位以控制计算/精度转换时饱和模式的开启与关闭。函数原型template SaturationMode mode __aicore__ inline void SetSaturationFlag(bool enableSat)参数说明表1模板参数说明参数名描述mode配置的对应饱和模式。当mode配置为FLOAT时开启饱和模式inf输出会被饱和为±MAXNaN输出会被饱和为0关闭饱和模式inf/NaN保持原输出。当mode配置为CAST时开启饱和模式溢出值会被饱和为±MAX关闭饱和模式溢出值会按目标数据类型位数截断保留低位舍弃高位。enum class SaturationMode : uint8_t {FLOAT, // 控制浮点数计算和浮点数精度转换时的饱和模式,浮点数数据类型仅支持half、bfloat16_t;CAST // 控制浮点数转整数或整数转整数时的精度转换饱和模式;};表2参数说明参数名输入/输出描述enableSat输入是否开启对应饱和模式。true表示开启饱和模式false表示关闭饱和模式。返回值说明无约束说明无调用示例如下示例中开启整数转整数时精度转换的饱和模式。AscendC::SetSaturationFlagAscendC::SaturationMode::CAST(true);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考