Skip to content

SetSparseIndex

产品支持情况

  • Ascend 950PR/Ascend 950DT:不支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
  • Atlas 200I/500 A2 推理产品:不支持
  • Atlas 推理系列产品AI Core:不支持
  • Atlas 推理系列产品Vector Core:不支持
  • Atlas 训练系列产品:不支持

功能说明

设置稀疏矩阵稠密化过程生成的索引矩阵。

索引矩阵在稠密化中的作用请参考MmadWithSparse

函数原型

Text
__aicore__ inline void SetSparseIndex(const GlobalTensor<uint8_t>& indexGlobal)

参数说明

表1 参数说明

参数名输入/输出描述
indexGlobal输入索引矩阵在Global Memory上的首地址,类型为GlobalTensor。

索引矩阵的数据类型为uint2,需要由用户拼成uint8的数据类型,再传入本接口。索引矩阵的Format格式只支持NZ格式。

返回值说明

约束说明

  • 索引矩阵的Format格式要求为NZ格式。
  • 本接口仅支持在纯Cube模式(只有矩阵计算)且MDL模板的场景使用。

调用示例

Text
#define ASCENDC_CUBE_ONLY // 开启纯Cube模式(只有矩阵计算)
REGIST_MATMUL_OBJ(&pipe, GetSysWorkSpacePtr(), mm, &tiling);
mm.SetTensorA(gm_a);
mm.SetTensorB(gm_b);
mm.SetSparseIndex(gm_index); //设置索引矩阵
mm.SetBias(gm_bias);
mm.IterateAll(gm_c);

免责声明:本站内容由 asc-devkit 仓 master 分支自动编译生成,属于持续开发版本,可能存在缺陷,仅供预览与参考。如需稳定及商用资料,请查阅官方 昇腾社区