LoadUnzipIndex【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况产品是否支持Ascend 950PR/Ascend 950DTxAtlas A3 训练系列产品 / Atlas A3 推理系列产品xAtlas A2 训练系列产品 / Atlas A2 推理系列产品xAtlas 200I/500 A2 推理产品xAtlas 推理系列产品 AI Core√Atlas 推理系列产品 Vector CorexAtlas 训练系列产品x功能说明加载GM上的压缩索引表到内部寄存器。索引表为LoadDataUnzip压缩信息例如压缩长度等以获取压缩后的数据。索引表由压缩工具根据对应的权重数据离线生成。一个LoadUnzipIndex指令可以加载多个索引表而每个LoadDataUnzip指令只能消耗一个索引表。因此索引表之间的顺序应该由用户来确定以确保其与压缩数据的对应性。函数原型template typename T int8_t, typename Std::enable_ifStd::is_samePrimTT, int8_t::value, bool::type true __aicore__ inline void LoadUnzipIndex(const GlobalTensorT src, uint32_t numOfIndexTabEntry)参数说明表 1模板参数说明参数名描述Tsrc的数据类型。当src使用基础数据类型时 其数据类型必须为uint8_t否则编译失败。当src使用TensorTrait类型时 src数据类型T的LiteType必须为int8_t否则编译失败。最后一个模板参数仅用于上述数据类型检查用户无需关注。表 2参数说明参数名称输入/输出含义src输入源操作数索引表地址类型为GlobalTensor。src地址必须2字节对齐。src长度必须是512字节的整数倍最大为32KB。numOfIndexTabEntry输入输入数据表示加载的索引表个数。索引表个数必须大于0。返回值说明无约束说明操作数地址对齐要求请参见通用地址对齐约束。LoadUnzipIndex必须在任何LoadDataUnzip指令之前执行。LoadUnzipIndex加载的索引表个数必须大于或等于LoadDataUnzip指令执行的次数。调用示例该调用示例支持的运行平台为Atlas 推理系列产品AI Core。详细用例请参考LoadDataUnzip。indexGlobal.SetGlobalBuffer((__gm__ int8_t*)indexGm); AscendC::LoadUnzipIndex(indexGlobal, numOfIndexTabEntry);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
CANN/asc-devkit SIMD数据搬运API
LoadUnzipIndex【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况产品是否支持Ascend 950PR/Ascend 950DTxAtlas A3 训练系列产品 / Atlas A3 推理系列产品xAtlas A2 训练系列产品 / Atlas A2 推理系列产品xAtlas 200I/500 A2 推理产品xAtlas 推理系列产品 AI Core√Atlas 推理系列产品 Vector CorexAtlas 训练系列产品x功能说明加载GM上的压缩索引表到内部寄存器。索引表为LoadDataUnzip压缩信息例如压缩长度等以获取压缩后的数据。索引表由压缩工具根据对应的权重数据离线生成。一个LoadUnzipIndex指令可以加载多个索引表而每个LoadDataUnzip指令只能消耗一个索引表。因此索引表之间的顺序应该由用户来确定以确保其与压缩数据的对应性。函数原型template typename T int8_t, typename Std::enable_ifStd::is_samePrimTT, int8_t::value, bool::type true __aicore__ inline void LoadUnzipIndex(const GlobalTensorT src, uint32_t numOfIndexTabEntry)参数说明表 1模板参数说明参数名描述Tsrc的数据类型。当src使用基础数据类型时 其数据类型必须为uint8_t否则编译失败。当src使用TensorTrait类型时 src数据类型T的LiteType必须为int8_t否则编译失败。最后一个模板参数仅用于上述数据类型检查用户无需关注。表 2参数说明参数名称输入/输出含义src输入源操作数索引表地址类型为GlobalTensor。src地址必须2字节对齐。src长度必须是512字节的整数倍最大为32KB。numOfIndexTabEntry输入输入数据表示加载的索引表个数。索引表个数必须大于0。返回值说明无约束说明操作数地址对齐要求请参见通用地址对齐约束。LoadUnzipIndex必须在任何LoadDataUnzip指令之前执行。LoadUnzipIndex加载的索引表个数必须大于或等于LoadDataUnzip指令执行的次数。调用示例该调用示例支持的运行平台为Atlas 推理系列产品AI Core。详细用例请参考LoadDataUnzip。indexGlobal.SetGlobalBuffer((__gm__ int8_t*)indexGm); AscendC::LoadUnzipIndex(indexGlobal, numOfIndexTabEntry);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考