LoadUnzipIndex
功能说明
加载GM上的压缩索引表到内部寄存器。
索引表为LoadDataUnzip压缩信息,例如压缩长度等,以获取压缩后的数据。
索引表由压缩工具根据对应的权重数据离线生成。一个LoadUnzipIndex指令可以加载多个索引表,而每个LoadDataUnzip指令只能消耗一个索引表。因此,索引表之间的顺序应该由程序员来确定,以确保其与压缩数据的对应性。
函数原型
1 2 | template <typename T = int8_t, typename std::enable_if<IsSameType<PrimT<T>, int8_t>::value, bool>::type = true> __aicore__ inline void LoadUnzipIndex(const GlobalTensor<T>& srcTensor, uint32_t numOfIndexTabEntry) |
参数说明
参数名 |
描述 |
---|---|
T |
srcTensor的数据类型。
最后一个模板参数仅用于上述数据类型检查,用户无需关注。 |
参数名称 |
输入/输出 |
含义 |
---|---|---|
srcTensor |
输入 |
源操作数,索引表地址,类型为GlobalTensor。 srcTensor地址必须2字节对齐。srcTensor长度必须是512字节的整数倍,最大为32KB。 |
numOfIndexTabEntry |
输入 |
输入数据,表示加载的索引表个数。索引表个数必须大于0。 |
支持的型号
Atlas推理系列产品AI Core
返回值
无
注意事项
- 操作数地址偏移对齐要求请参见通用约束。
- LoadUnzipIndex必须在任何LoadDataUnzip指令之前执行。
- LoadUnzipIndex加载的索引表个数必须大于或等于LoadDataUnzip指令执行的次数。
调用示例
该调用示例支持的运行平台为Atlas推理系列产品AI Core。详细用例请参考LoadDataUnzip。
1 2 | indexGlobal.SetGlobalBuffer((__gm__ int8_t*)indexGm); AscendC::LoadUnzipIndex(indexGlobal, numOfIndexTabEntry); |
父主题: 矩阵计算