Skip to content

asc_set_gm2l1_nz_para

产品支持情况

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

功能说明

对MTE2_NZ_PARA寄存器中的值进行设置,可以在调用asc_copy_gm2l1_dn2nzasc_copy_gm2l1_nd2nz前设置相关参数。

MTE2_NZ_PARA是一个64bit的寄存器,其中各bit含义如下:

表1 MTE2_NZ_PARA寄存器比特位说明

bit范围含义
15:0需要搬运的ND/DN矩阵数量。
31:16N维度上相邻两个block块之间的间隔。
47:32同一个NZ矩阵中2个C0列之间的间隔。
63:48两个ND/DN矩阵中两个NZ矩阵之间的间隔。

函数原型

C++
__aicore__ inline void asc_set_gm2l1_nz_para(uint64_t config)

参数说明

表2 参数说明

参数名输入/输出描述
config输入待设置的寄存器值。

返回值说明

流水类型

PIPE_S

约束说明

调用示例

C++
uint64_t nz_dst_stride = 16;
uint64_t config = nz_dst_stride << 48; //[63:48]
uint64_t c0_stride = 32;
config |= c0_stride << 32; //[47:32]
uint64_t n_dst_stride = 32;
config |= n_dst_stride << 16; //[31:16]
uint64_t nd_num = 64;
config |= nd_num; //[15:0]

asc_set_gm2l1_nz_para(config);

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