aclrtMemcpy2dAsync
函数功能
实现异步内存复制,主要用于矩阵数据的复制。异步接口。
约束说明
- 该接口是异步接口,调用接口成功仅表示任务下发成功,不表示任务执行成功。调用该接口后,一定要调用aclrtSynchronizeStream接口确保内存复制的任务已执行完成。
- 当前仅支持ACL_MEMCPY_HOST_TO_DEVICE类型和ACL_MEMCPY_DEVICE_TO_HOST类型的内存复制。
- Atlas 200/500 A2推理产品,Ascend RC形态下,不支持调用本接口。
函数原型
aclError aclrtMemcpy2dAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height,aclrtMemcpyKind kind, aclrtStream stream)
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
dst |
输入 |
目的内存地址指针。 |
dpitch |
输入 |
目的内存中相邻两列向量的地址距离。 |
src |
输入 |
源内存地址指针。 |
spitch |
输入 |
源内存中相邻两列向量的地址距离。 |
width |
输入 |
待复制的矩阵宽度。 |
height |
输入 |
待复制的矩阵高度。 height最大设置为5*1024*1024=5242880,否则接口返回失败。 |
kind |
输入 |
内存复制的类型。 typedef enum aclrtMemcpyKind { ACL_MEMCPY_HOST_TO_HOST, // Host内的内存复制 ACL_MEMCPY_HOST_TO_DEVICE, // Host到Device的内存复制 ACL_MEMCPY_DEVICE_TO_HOST, // Device到Host的内存复制 ACL_MEMCPY_DEVICE_TO_DEVICE, // Device内或Device间的内存复制 } aclrtMemcpyKind; |
stream |
输入 |
指定stream。 |
返回值说明
返回0表示成功,返回其它值表示失败。
父主题: 内存管理