asc.language.basic.data_copy_pad【免费下载链接】pyasc本项目为Python用户提供算子编程接口支持在昇腾AI处理器上加速计算接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyascasc.language.basic.data_copy_pad(dst: LocalTensor, src: GlobalTensor, data_copy_params: DataCopyExtParams, pad_params: DataCopyPadExtParams) → Noneasc.language.basic.data_copy_pad(dst: GlobalTensor, src: LocalTensor, data_copy_params: DataCopyExtParams) → Noneasc.language.basic.data_copy_pad(dst: LocalTensor, src: LocalTensor, data_copy_params: DataCopyExtParams, nd2nz_params: Nd2NzParams) → Noneasc.language.basic.data_copy_pad(dst: LocalTensor, src: GlobalTensor, data_copy_params: DataCopyParams, pad_params: DataCopyPadParams) → Noneasc.language.basic.data_copy_pad(dst: GlobalTensor, src: LocalTensor, data_copy_params: DataCopyParams) → Noneasc.language.basic.data_copy_pad(dst: LocalTensor, src: LocalTensor, data_copy_params: DataCopyParams, nd2nz_params: Nd2NzParams) → NoneDataCopyPad接口提供数据非对齐搬运的功能其中从Global Memory搬运数据至Local Memory时可以根据开发者的需要自行填充数据。对应的Ascend C函数原型通路Global Memory-Local Memorytemplate typename T __aicore__ inline void DataCopyPad(const LocalTensorT dst, const GlobalTensorT src, const DataCopyExtParams dataCopyParams, const DataCopyPadExtParamsT padParams)通路Local Memory-Global Memorytemplate typename T __aicore__ inline void DataCopyPad(const GlobalTensorT dst, const LocalTensorT src, const DataCopyExtParams dataCopyParams)通路Local Memory-Local Memory实际搬运过程是VECIN/VECOUT-GM-TSCMtemplate typename T __aicore__ inline void DataCopyPad(const LocalTensorT dst, const LocalTensorT src, const DataCopyExtParams dataCopyParams, const Nd2NzParams nd2nzParams)通路Global Memory-Local Memory (DataCopyParams版本)templatetypename T __aicore__ inline void DataCopyPad(const LocalTensorT dst, const GlobalTensorT src, const DataCopyParams dataCopyParams, const DataCopyPadParams padParams)通路Local Memory-Global Memory (DataCopyParams版本)templatetypename T __aicore__ inline void DataCopyPad(const GlobalTensorT dst, const LocalTensorT src, const DataCopyParams dataCopyParams)通路Local Memory-Local Memory实际搬运过程是VECIN/VECOUT-GM-TSCM (DataCopyParams版本)templatetypename T __aicore__ inline void DataCopyPad(const LocalTensorT dst, const LocalTensorT src, const DataCopyParams dataCopyParams, const Nd2NzParams nd2nzParams)参数说明dst: 目的操作数类型为LocalTensor或GlobalTensor。 LocalTensor的起始地址需要保证32字节对齐。 GlobalTensor的起始地址无地址对齐约束。src: 源操作数类型为LocalTensor或GlobalTensor。 LocalTensor的起始地址需要保证32字节对齐。 GlobalTensor的起始地址无地址对齐约束。dataCopyParams: 搬运参数。 DataCopyExtParams类型支持更大的操作数步长等参数取值范围 DataCopyParams类型标准搬运参数padParams: 从Global Memory搬运数据至Local Memory时用于控制数据填充过程的参数。 DataCopyPadExtParams 类型支持泛型填充值 DataCopyPadParams类型仅支持uint64_t数据类型且填充值只能为0nd2nzParams: 从VECIN/VECOUT-TSCM进行数据搬运时用于控制数据格式转换的参数。 Nd2NzParams类型ndNum仅支持设置为1。约束说明leftPadding、rightPadding的字节数均不能超过32Bytes。当数据类型长度为64位时paddingValue只能设置为0。不同产品型号对函数原型的支持存在差异请参考官方文档选择产品型号支持的函数原型进行开发。调用示例GM-VECIN搬运数据并填充# 从GM-VECIN搬运使用DataCopyParams和DataCopyPadParams src_local in_queue_src.alloc_tensor(asc.half) copy_params asc.DataCopyParams(1, 20 * asc.half.sizeof(), 0, 0) pad_params asc.DataCopyPadParams(True, 0, 2, 0) asc.data_copy_pad(src_local, src_global, copy_params, pad_params)【免费下载链接】pyasc本项目为Python用户提供算子编程接口支持在昇腾AI处理器上加速计算接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyasc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考