昇腾社区首页
中文
注册

函数:memcpy

产品支持情况

产品

是否支持

Atlas A3 训练系列产品 / Atlas A3 推理系列产品

Atlas A2 训练系列产品 / Atlas 800I A2 推理产品 /A200I A2 Box 异构组件

Atlas 训练系列产品

Atlas 推理系列产品

Atlas 200I/500 A2 推理产品

Atlas 200/300/500 推理产品

功能说明

实现内存复制。

函数原型

  • C函数原型
    1
    aclError aclrtMemcpy(void *dst, size_t destMax, const void *src, size_t count, aclrtMemcpyKind kind)
    
  • python函数
    1
    ret = acl.rt.memcpy(dst, dest_max, src, count, kind)
    

参数说明

参数名

说明

dst

int,目的内存地址指针地址。

destMax

int,目的内存地址的最大内存长度,单位Byte。

src

int,源内存地址指针地址。

count

int,内存复制的长度,单位Byte。

kind

int,内存复制的类型,预留参数,配置枚举值中的值无效,系统内部会根据源内存地址的指针地址、目的内存地址的指针地址判断是否可以将源地址的数据复制到目的地址,如果不可以,则系统会返回报错。
  • 0:ACL_MEMCPY_HOST_TO_HOST,Host内的内存复制。
  • 1:ACL_MEMCPY_HOST_TO_DEVICE,Host到Device的内存复制。
  • 2:ACL_MEMCPY_DEVICE_TO_HOST,Device到Host的内存复制。
  • 3:ACL_MEMCPY_DEVICE_TO_DEVICE,Device内的内存复制。
  • 4:ACL_MEMCPY_DEFAULT, 由系统根据源、目的内存地址自行判断拷贝方向

返回值说明

返回值

说明

ret

int,错误码,返回0表示成功,返回其它值表示失败。

约束说明

本接口会立刻进行内存复制,函数内部不会进行隐式的Device同步或流同步。

资源参考

接口调用示例,参见数据传输