
asc.language.basic.data_copy【免费下载链接】pyasc本项目为Python用户提供算子编程接口支持在昇腾AI处理器上加速计算接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyascasc.language.basic.data_copy(dst: LocalTensor, src: GlobalTensor, count: int) → Noneasc.language.basic.data_copy(dst: LocalTensor, src: LocalTensor, count: int) → Noneasc.language.basic.data_copy(dst: GlobalTensor, src: LocalTensor, count: int) → Noneasc.language.basic.data_copy(dst: LocalTensor, src: GlobalTensor, repeat_params: DataCopyParams) → Noneasc.language.basic.data_copy(dst: LocalTensor, src: LocalTensor, repeat_params: DataCopyParams) → Noneasc.language.basic.data_copy(dst: GlobalTensor, src: LocalTensor, repeat_params: DataCopyParams) → Noneasc.language.basic.data_copy(dst: LocalTensor, src: GlobalTensor, intri_params: DataCopyParams, enhanced_params: DataCopyEnhancedParams) → Noneasc.language.basic.data_copy(dst: LocalTensor, src: LocalTensor, intri_params: DataCopyParams, enhanced_params: DataCopyEnhancedParams) → Noneasc.language.basic.data_copy(dst: GlobalTensor, src: LocalTensor, intri_params: DataCopyParams, enhanced_params: DataCopyEnhancedParams) → Noneasc.language.basic.data_copy(dst: GlobalTensor, src: LocalTensor, slice_list1: list, slice_list2: list, dim_value: int) → Noneasc.language.basic.data_copy(dst: LocalTensor, src: GlobalTensor, slice_list1: list, slice_list2: list, dim_value: int) → Noneasc.language.basic.data_copy(dst: LocalTensor, src: GlobalTensor, intri_params: Nd2NzParams) → Noneasc.language.basic.data_copy(dst: LocalTensor, src: LocalTensor, intri_params: Nd2NzParams) → Noneasc.language.basic.data_copy(dst: GlobalTensor, src: LocalTensor, intri_params: Nz2NdParamsFull) → Noneasc.language.basic.data_copy(dst: GlobalTensor, src: LocalTensor, intri_params: DataCopyCO12DstParams) → Noneasc.language.basic.data_copy(dst: LocalTensor, src: LocalTensor, intri_params: DataCopyCO12DstParams) → NoneDataCopy系列接口提供全面的数据搬运功能支持多种数据搬运场景并可在搬运过程中实现随路格式转换和量化激活等操作。 该接口支持Local Memory与Global Memory之间的数据搬运以及Local Memory内部的数据搬运。对应的Ascend C函数原型template typename T __aicore__ inline void DataCopy(const LocalTensorT dst, const GlobalTensorT src, const uint32_t count)template typename T __aicore__ inline void DataCopy(const LocalTensorT dst, const GlobalTensorT src, const DataCopyParams repeatParams)template typename T __aicore__ inline void DataCopy(const LocalTensorT dst, const LocalTensorT src, const uint32_t count)template typename T __aicore__ inline void DataCopy(const LocalTensorT dst, const LocalTensorT src, const DataCopyParams repeatParams)template typename T __aicore__ inline void DataCopy(const GlobalTensorT dst, const LocalTensorT src, const uint32_t count)template typename T __aicore__ inline void DataCopy(const GlobalTensorT dst, const LocalTensorT src, const DataCopyParams repeatParams)template typename T __aicore__ inline void DataCopy(const LocalTensorT dst, const GlobalTensorT src, const DataCopyParams intriParams, const DataCopyEnhancedParams enhancedParams)template typename T __aicore__ inline void DataCopy(const LocalTensorT dst, const LocalTensorT src, const DataCopyParams intriParams, const DataCopyEnhancedParams enhancedParams)template typename T __aicore__ inline void DataCopy(const GlobalTensorT dst, const LocalTensorT src, const DataCopyParams intriParams, const DataCopyEnhancedParams enhancedParams)template typename T, typename U __aicore__ inline void DataCopy(const LocalTensorT dst, const LocalTensorU src, const DataCopyParams intriParams, const DataCopyEnhancedParams enhancedParams)template typename T __aicore__ inline void DataCopy(const LocalTensorT dst, const GlobalTensorT src, const SliceInfo dstSliceInfo[], const SliceInfo srcSliceInfo[], const uint32_t dimValue 1)template typename T __aicore__ inline void DataCopy(const GlobalTensorT dst, const LocalTensorT src, const SliceInfo dstSliceInfo[], const SliceInfo srcSliceInfo[], const uint32_t dimValue 1)参数说明dst: 目的操作数类型为LocalTensor或GlobalTensor。src源操作数类型为LocalTensor或GlobalTensor。params搬运参数DataCopyParams类型。count参与搬运的元素个数。enhanced_params增强信息参数。slice_list1/slice_list2目的操作数/源操作数切片信息SliceInfo类型。dim_value操作数维度信息默认值为1。约束说明如果需要执行多个data_copy指令且data_copy的目的地址存在重叠需要通过调用pipe_barrier(ISASI)来插入同步指令保证多个data_copy指令的串行化防止出现异常数据。在跨卡通信算子开发场景data_copy类接口支持跨卡数据搬运仅支持HCCS物理链路不支持其他通路开发者开发过程中需要关注涉及卡间通信的物理通路可通过npu-smi info -t topo命令查询HCCS物理链路。调用示例基础数据搬运pipe asc.Tpipe() in_queue_src asc.TQue(asc.TPosition.VECIN, 1) out_queue_dst asc.TQue(asc.TPosition.VECOUT, 1) src_global asc.GlobalTensor() dst_global asc.GlobalTensor() pipe.init_buffer(quein_queue_src, num1, len512 * asc.half.sizeof()) pipe.init_buffer(queout_queue_dst, num1,len512 * asc.half.sizeof()) src_local in_queue_src.alloc_tensor(asc.half) dst_local out_queue_dst.alloc_tensor(asc.half) # 使用传入count参数的搬运接口完成连续搬运 asc.data_copy(src_local, src_global, count512) asc.data_copy(dst_local, src_local, count512) asc.data_copy(dst_global, dst_local, count512) # 使用传入DataCopyParams参数的搬运接口支持连续和非连续搬运 intri_params asc.DataCopyParams() asc.data_copy(src_local, src_global, paramsintri_params) asc.data_copy(dst_local, src_local, paramsintri_params) asc.data_copy(dst_global, dst_local, paramsintri_params)增强数据搬运pipe asc.Tpipe() in_queue_src asc.TQue(asc.TPosition.CO1, 1) out_queue_dst asc.TQue(asc.TPosition.CO2, 1) ... src_local in_queue_src.alloc_tensor(asc.half) dst_local out_queue_dst.alloc_tensor(asc.half) intri_params asc.DataCopyParams() enhanced_params asc.DataCopyEnhancedParams() asc.data_copy(dst_local, src_local, paramsintri_params, enhanced_paramsenhanced_params)【免费下载链接】pyasc本项目为Python用户提供算子编程接口支持在昇腾AI处理器上加速计算接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyasc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考