函数:memcpy_async_with_desc
产品支持情况
产品 |
是否支持 |
---|---|
√ |
|
√ |
|
x |
|
x |
|
√ |
|
x |
功能说明
使用内存复制描述符(二级指针方式)进行内存复制。
本接口是异步接口,调用接口成功仅表示任务下发成功,不表示任务执行成功。调用该接口后,需调用同步等待接口(例如,acl.rt.synchronize_stream)确保任务已执行完成,否则可能会导致训练或推理等业务异常、Device断链掉卡等未知情况。
本接口需与以下其它关键接口配合使用,以便实现内存复制:
- 调用acl.rt.get_memcpy_desc_size接口获取内存描述符所需的内存大小。
- 申请Device内存,用于存放内存描述符。
- 申请源内存、目的内存,分别用于存放复制前后的数据。
- 调用acl.rt.set_memcpy_desc接口将源内存地址、目的内存地址等信息设置到内存描述符中。
- 调用acl.rt.memcpy_async_with_desc接口实现内存复制。
函数原型
- C函数原型
1
aclError aclrtMemcpyAsyncWithDesc(void *desc, aclrtMemcpyKind kind, aclrtStream stream)
- python函数
1
ret= acl.rt.memcpy_async_with_desc(desc, kind, stream)
参数说明
参数名 |
说明 |
---|---|
desc |
int,内存复制描述符地址指针,Device侧内存地址。此处需先调用acl.rt.set_memcpy_desc接口设置内存复制描述符,再将内存复制描述符地址指针作为入参传入本接口。 |
kind |
int,内存复制的类型。当前仅支持ACL_MEMCPY_INNER_DEVICE_TO_DEVICE,表示Device内的内存复制。 |
stream |
int,指定stream。 |
返回值说明
返回值 |
说明 |
---|---|
ret |
int,错误码,返回0表示成功,返回其它值表示失败。 |
父主题: 内存管理