CANN Ascend C矩阵计算搬入解压接口

📅 2026/7/16 13:08:44
CANN Ascend C矩阵计算搬入解压接口
# LoadDataUnzip【免费下载链接】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 训练系列产品不支持功能说明将GM上的数据解压并搬运到L1 BufferA1/B1或L0B BufferB2上。执行该API前需要执行LoadUnzipIndex加载压缩索引表。函数原型template typename T __aicore__ inline void LoadDataUnzip(const LocalTensorT dst, const GlobalTensorT src)参数说明表1参数说明参数名称输入/输出含义dst输出目的操作数类型为LocalTensor支持的TPosition为A1/B1/B2。LocalTensor的起始地址需要保证• TPosition为A1/B1时32字节对齐。• TPosition为B2时512B对齐。src输入源操作数类型为GlobalTensor。数据类型需要与dst保持一致。数据类型支持的数据类型为int8_t。返回值说明无约束说明操作数地址对齐要求请参见通用地址对齐约束。调用示例该调用示例支持的运行平台为Atlas 推理系列产品AI Core。uint32_t srcLen 896, dstLen 1024, numOfIndexTabEntry 1; AscendC::LocalTensorint8_t weightB1 inQueueB1.AllocTensorint8_t(); AscendC::LoadUnzipIndex(indexGlobal, numOfIndexTabEntry); // 加载索引数据加载GM上的压缩索引表到内部寄存器 AscendC::LoadDataUnzip(weightB1, weGlobal); // 根据内部寄存器里的索引表加载数据【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考