CANN/asc-devkit:Ascend C非对齐存储API

发布时间:2026/9/10 0:35:48
CANN/asc-devkit:Ascend C非对齐存储API asc_storeunalign【免费下载链接】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 训练系列产品不支持功能说明头文件路径c_api/reg_compute/reg_store.h。reg计算数据搬运接口适用于从矢量数据寄存器连续非32B对齐的起始地址连续搬出到UB的场景。该接口使用uint32_t作为存储偏移量不改变源操作数在UB上的地址每次循环的调用都需要用户手动更新目的操作数在UB上的地址。函数原型__simd_callee__ inline void asc_storeunalign(__ubuf__ int8_t* dst, vector_store_unalign src0, vector_int8_t src1, uint32_t count) __simd_callee__ inline void asc_storeunalign(__ubuf__ uint8_t* dst, vector_store_unalign src0, vector_uint8_t src1, uint32_t count) __simd_callee__ inline void asc_storeunalign(__ubuf__ int16_t* dst, vector_store_unalign src0, vector_int16_t src1, uint32_t count) __simd_callee__ inline void asc_storeunalign(__ubuf__ uint16_t* dst, vector_store_unalign src0, vector_uint16_t src1, uint32_t count) __simd_callee__ inline void asc_storeunalign(__ubuf__ int32_t* dst, vector_store_unalign src0, vector_int32_t src1, uint32_t count) __simd_callee__ inline void asc_storeunalign(__ubuf__ int64_t* dst, vector_store_unalign src0, vector_int64_t src1, uint32_t count) __simd_callee__ inline void asc_storeunalign(__ubuf__ uint32_t* dst, vector_store_unalign src0, vector_uint32_t src1, uint32_t count) __simd_callee__ inline void asc_storeunalign(__ubuf__ half* dst, vector_store_unalign src0, vector_half src1, uint32_t count) __simd_callee__ inline void asc_storeunalign(__ubuf__ float* dst, vector_store_unalign src0, vector_float src1, uint32_t count) __simd_callee__ inline void asc_storeunalign(__ubuf__ bfloat16_t* dst, vector_store_unalign src0, vector_bfloat16_t src1, uint32_t count) __simd_callee__ inline void asc_storeunalign(__ubuf__ fp8_e4m3fn_t* dst, vector_store_unalign src0, vector_fp8_e4m3fn_t src1, uint32_t count) __simd_callee__ inline void asc_storeunalign(__ubuf__ hifloat8_t* dst, vector_store_unalign src0, vector_hifloat8_t src1, uint32_t count) __simd_callee__ inline void asc_storeunalign(__ubuf__ fp8_e5m2_t* dst, vector_store_unalign src0, vector_fp8_e5m2_t src1, uint32_t count) __simd_callee__ inline void asc_storeunalign(__ubuf__ fp8_e8m0_t* dst, vector_store_unalign src0, vector_fp8_e8m0_t src1, uint32_t count) __simd_callee__ inline void asc_storeunalign(__ubuf__ fp4x2_e2m1_t* dst, vector_store_unalign src0, vector_fp4x2_e2m1_t src1, uint32_t count) __simd_callee__ inline void asc_storeunalign(__ubuf__ fp4x2_e1m2_t* dst, vector_store_unalign src0, vector_fp4x2_e1m2_t src1, uint32_t count) __simd_callee__ inline void asc_storeunalign(__ubuf__ int4b_t* dst, vector_store_unalign src0, vector_int4x2_t src1, uint32_t count)参数说明参数名输入/输出描述dst输出目的操作数矢量的起始地址。src0输入/输出非对齐寄存器用于保存非对齐数据长度32B。src1输入源操作数矢量数据寄存器。count输入存储搬运的个数。矢量数据寄存器和非对齐寄存器的详细说明请参见data_type_definition.md。返回值说明无流水类型PIPE_V约束说明该接口中的dst不需要32B对齐。调用该接口之后需要调用asc_storeunalign_post处理非对齐搬出的尾块。调用示例// dst地址为8非32B对齐占用的地址为UB[8:520]。 __ubuf__ uint32_t* dst (__ubuf__ uint32_t*)asc_get_phy_buf_addr(8); vector_store_unalign ureg; vector_uint32_t src; uint32_t count 64; uint32_t repeat 2; for (uint32_t i 0; i repeat; i) { // 其他reg操作 // 第一次src[0:62] 写入dst[0:62]即UB[8:256]同时src[62:64] 写入ureg[0:2] // 第二次ureg[0:2] src[0:62] 写入dst[62:126]即UB[256:512]同时src[62:64] 写入ureg[0:2] asc_storeunalign(dst i*count, ureg, src, count); } // dst结束地址为520即dst repeat * count * sizeof(uint32_t)所以offset要配置为repeat * count int32_t offset repeat * count; // ureg[0:2] 写入dst[126:128]即UB[512:520] asc_storeunalign_post(dst, ureg, offset);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询