CANN/asc-devkit: L0C拷贝参数设置

asc_set_l0c_copy_params

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

产品支持情况

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

功能说明

头文件路径:"c_api/cube_datamove/cube_datamove.h"

DataCopy从L0C Buffer搬运到Global Memory或L1 Buffer过程中进行随路格式转换(NZ格式转换为ND格式)时,通过调用该接口设置格式转换的相关配置。

函数原型

__aicore__ inline void asc_set_l0c_copy_params(uint16_t nd_num, uint16_t src_nd_stride, uint16_t dst_nd_stride)

参数说明

表1参数说明

参数名输入/输出描述
nd_num输入ND矩阵的数量,取值范围:nd_num∈[1, 65535]。
src_nd_stride输入以分形大小为单位的源步长,源相邻nz矩阵的起始地址间的偏移。
src_nd_stride∈[1, 512],单位:fractal_size 1024B。
dst_nd_stride输入目的相邻ND矩阵的起始地址间的偏移。单位为元素。
dst_nd_stride∈[1, 65535]。

返回值说明

流水类型

PIPE_S

约束说明

调用示例

uint16_t nd_num = 2; uint16_t src_nd_stride = 2; uint16_t dst_nd_stride = 1; asc_set_l0c_copy_params(nd_num, src_nd_stride, dst_nd_stride);

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考