aclrtMemcpy2dAsync

函数功能

实现异步内存复制,主要用于矩阵数据的复制。异步接口。

Atlas 推理系列加速模块产品不支持该接口。

约束说明

函数原型

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表示成功,返回其它值表示失败。