函数:memcpy
产品支持情况
|
产品 |
是否支持 |
|---|---|
|
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
功能说明
实现内存复制。
函数原型
- C函数原型
1aclError aclrtMemcpy(void *dst, size_t destMax, const void *src, size_t count, aclrtMemcpyKind kind)
- python函数
1ret = acl.rt.memcpy(dst, dest_max, src, count, kind)
参数说明
|
参数名 |
说明 |
|---|---|
|
dst |
int,目的内存地址指针地址。 |
|
destMax |
int,目的内存地址的最大内存长度,单位Byte。 |
|
src |
int,源内存地址指针地址。 |
|
count |
int,内存复制的长度,单位Byte。 |
|
kind |
int,内存复制的类型,预留参数,配置枚举值中的值无效,系统内部会根据源内存地址的指针地址、目的内存地址的指针地址判断是否可以将源地址的数据复制到目的地址,如果不可以,则系统会返回报错。
|
返回值说明
|
返回值 |
说明 |
|---|---|
|
ret |
int,错误码,返回0表示成功,返回其它值表示失败。 |
约束说明
- 本接口会立刻进行内存复制,函数内部不会进行隐式的device同步或流同步。
- 如果执行两个Device间的内存复制,需先调用acl.rt.device_can_access_peer接口查询两个Device间是否支持数据交互、调用acl.rt.device_enable_peer_access接口开启两个Device间的数据交互功能,再调用本接口进行内存复制。
该约束适用以下型号:
Atlas A2 训练系列产品 /Atlas A2 推理系列产品 Atlas 推理系列产品 Atlas 训练系列产品
父主题: 内存管理