CANN/asc-devkit地址寄存器创建

📅 2026/7/15 14:11:07
CANN/asc-devkit地址寄存器创建
asc_create_addr_reg【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√功能说明头文件路径c_api/reg_compute/reg_vector.h。地址寄存器通过该接口初始化然后在循环之中使用地址寄存器存储地址偏移量该重载接口同步支持1-4个offset参数并支持初始化b8/b16/b32位宽的寄存器适配1-4维Tensor。底层在多维循环中自动计算地址偏移消除标量地址运算开销。函数原型__simd_callee__ inline addr_reg asc_create_addr_reg_b32(uint32_t offset) __simd_callee__ inline addr_reg asc_create_addr_reg_b16(uint32_t offset) __simd_callee__ inline addr_reg asc_create_addr_reg_b8(uint32_t offset) __simd_callee__ inline addr_reg asc_create_addr_reg_b32(uint32_t offset0, uint32_t offset1) __simd_callee__ inline addr_reg asc_create_addr_reg_b16(uint32_t offset0, uint32_t offset1) __simd_callee__ inline addr_reg asc_create_addr_reg_b8(uint32_t offset0, uint32_t offset1) __simd_callee__ inline addr_reg asc_create_addr_reg_b32(uint32_t offset0, uint32_t offset1, uint32_t offset2) __simd_callee__ inline addr_reg asc_create_addr_reg_b16(uint32_t offset0, uint32_t offset1, uint32_t offset2) __simd_callee__ inline addr_reg asc_create_addr_reg_b8(uint32_t offset0, uint32_t offset1, uint32_t offset2) __simd_callee__ inline addr_reg asc_create_addr_reg_b32(uint32_t offset0, uint32_t offset1, uint32_t offset2, uint32_t offset3) __simd_callee__ inline addr_reg asc_create_addr_reg_b16(uint32_t offset0, uint32_t offset1, uint32_t offset2, uint32_t offset3) __simd_callee__ inline addr_reg asc_create_addr_reg_b8(uint32_t offset0, uint32_t offset1, uint32_t offset2, uint32_t offset3)参数说明参数名输入/输出描述offset输入地址偏移量。offset0输入地址偏移量。offset1输入地址偏移量。offset2输入地址偏移量。offset3输入地址偏移量。返回值说明地址寄存器。流水类型PIPE_V约束说明请勿在循环内使用 if/else。addr_reg必须在最内层循环体内赋值使用。不同步长的操作数建议使用多个addr_reg避免地址被覆盖。调用示例见地址寄存器调用示例。【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考