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