news 2026/7/17 12:32:41

CANN/asc-devkit内置宏指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/asc-devkit内置宏指南

内置宏

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

下表列出了一些常用的内置宏,涵盖了bfloat16、half和float三种浮点类型的特殊值,以及常用的数学常数、对数和边界值。当开发者需要处理浮点边界或数学常量时,可以直接参考并使用这些内置宏,无需手动定义或查阅具体的数值,从而可以将更多精力集中在算法逻辑上。

表1常用内置宏列表

宏名描述需要包含的头文件
ASCRT_INF_BF16定义bfloat16类型的正无穷大值。asc_bf16.h
ASCRT_MAX_NORMAL_BF16定义bfloat16类型的最大表示值。asc_bf16.h
ASCRT_MIN_DENORM_BF16定义bfloat16类型的最小表示值。asc_bf16.h
ASCRT_NAN_BF16定义bfloat16类型的nan值。asc_bf16.h
ASCRT_NEG_ZERO_BF16定义bfloat16类型的负零值。asc_bf16.h
ASCRT_ONE_BF16定义bfloat16类型的1.0值。asc_bf16.h
ASCRT_ZERO_BF16定义bfloat16类型的正零值。asc_bf16.h
ASCRT_INF_FP16定义half类型的正无穷大值。asc_fp16.h
ASCRT_MAX_NORMAL_FP16定义half类型的最大表示值。asc_fp16.h
ASCRT_MIN_DENORM_FP16定义half类型的最小表示值。asc_fp16.h
ASCRT_NAN_FP16定义half类型的nan值。asc_fp16.h
ASCRT_NEG_ZERO_FP16定义half类型的负零值。asc_fp16.h
ASCRT_ONE_FP16定义half类型的1.0值。asc_fp16.h
ASCRT_ZERO_FP16定义half类型的正零值。asc_fp16.h
ASCRT_INF_F定义float类型的正无穷大值。math_constants.h
ASCRT_NAN_F定义float类型的nan值。math_constants.h
ASCRT_MIN_DENORM_F定义float类型的最小表示值。math_constants.h
ASCRT_MAX_NORMAL_F定义float类型的最大表示值。math_constants.h
ASCRT_NEG_ZERO_F定义float类型的负零值。math_constants.h
ASCRT_ZERO_F定义float类型的正零值。math_constants.h
ASCRT_ONE_F定义float类型的1.0值。math_constants.h
ASCRT_SQRT_HALF_F定义$\sqrt{1/2}$的浮点数值。math_constants.h
ASCRT_SQRT_HALF_HI_F定义$\sqrt{1/2}$的高位部分浮点数值。math_constants.h
ASCRT_SQRT_HALF_LO_F定义$\sqrt{1/2}$的低位部分浮点数值。math_constants.h
ASCRT_SQRT_TWO_F定义$\sqrt{2}$的浮点数值。math_constants.h
ASCRT_THIRD_F定义$1/3$的浮点数值。math_constants.h
ASCRT_PIO4_F定义$\pi/4$的浮点数值。math_constants.h
ASCRT_PIO2_F定义$\pi/2$的浮点数值。math_constants.h
ASCRT_3PIO4_F定义$3\pi/4$的浮点数值。math_constants.h
ASCRT_2_OVER_PI_F定义$2/\pi$的浮点数值。math_constants.h
ASCRT_SQRT_2_OVER_PI_F定义$\sqrt{2/\pi}$的浮点数值。math_constants.h
ASCRT_PI_F$\pi$的浮点数值。math_constants.h
ASCRT_L2E_F定义$\log_2(e)$的浮点数值。math_constants.h
ASCRT_L2T_F定义$\log_2(10)$的浮点数值。math_constants.h
ASCRT_LG2_F定义$\log_{10}(2)$的浮点数值。math_constants.h
ASCRT_LGE_F定义$\log_{10}(e)$的浮点数值。math_constants.h
ASCRT_LN2_F定义$\ln(2)$的浮点数值。math_constants.h
ASCRT_LNT_F定义$\ln(10)$的浮点数值。math_constants.h
ASCRT_LNPI_F定义$\ln(\pi)$的浮点数值。math_constants.h
ASCRT_TWO_TO_M126_F定义$2^{-126}$的浮点数值。math_constants.h
ASCRT_TWO_TO_126_F定义$2^{126}$的浮点数值。math_constants.h
ASCRT_NORM_HUGE_F定义float类型的最大有限值,超过该值即溢出到inf。math_constants.h
ASCRT_TWO_TO_23_F定义$2^{23}$的浮点数值。math_constants.h
ASCRT_TWO_TO_24_F定义$2^{24}$的浮点数值。math_constants.h
ASCRT_TWO_TO_31_F定义$2^{31}$的浮点数值。math_constants.h
ASCRT_TWO_TO_32_F定义$2^{32}$的浮点数值。math_constants.h
ASCRT_REMQUO_BITS_F在remquof函数中提取商的最低3位有效位,即数值为3。math_constants.h
ASCRT_REMQUO_MASK_F用于提取remquof结果中低3位比特的位掩码。math_constants.h
ASCRT_TRIG_PLOSS_F105615.0F,表示三角函数计算中精度损失的临界阈值。math_constants.h
ASCRT_MIN_VAL_S定义int32类型的最小值。math_constants.h
ASCRT_MAX_VAL_S定义int32类型的最大值。math_constants.h

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

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

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

深度探索syzkaller:构建内核安全防御体系的5个进阶实战策略

深度探索syzkaller:构建内核安全防御体系的5个进阶实战策略 【免费下载链接】syzkaller syzkaller is an unsupervised coverage-guided kernel fuzzer 项目地址: https://gitcode.com/gh_mirrors/sy/syzkaller syzkaller作为Google开发的无监督覆盖引导内核…

作者头像 李华
网站建设 2026/7/17 12:31:32

Dante Cloud漏洞防护:常见安全漏洞的预防与处理

Dante Cloud漏洞防护:常见安全漏洞的预防与处理 【免费下载链接】dante-cloud 🐉 Dante Cloud 国内首个支持阻塞式和响应式服务并行的微服务云原生基座。采用领域驱动模型(DDD)设计思想,以「高质量代码、低安全漏洞」为核心,高度模…

作者头像 李华
网站建设 2026/7/17 12:31:25

CMake-IDE 故障排除:常见问题和解决方案的完整清单

CMake-IDE 故障排除:常见问题和解决方案的完整清单 【免费下载链接】cmake-ide 项目地址: https://gitcode.com/gh_mirrors/cm/cmake-ide CMake-IDE 是一款专为 Emacs 用户设计的 CMake 集成开发环境插件,能帮助开发者自动配置编译环境、管理项目…

作者头像 李华
网站建设 2026/7/17 12:29:59

ComfyUI工作流避坑手册,深度解析8类高频报错根源及一键修复方案

更多请点击: https://codechina.net 第一章:ComfyUI工作流避坑手册导览 ComfyUI 以节点式可视化编程为核心,其灵活性与强大扩展性深受创作者青睐,但隐含的底层机制和常见配置陷阱也常导致工作流异常中断、显存溢出或推理结果失真…

作者头像 李华