aclrtMemcpy2dAsync

产品支持情况

产品

是否支持

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

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas 200/300/500 推理产品

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

功能说明

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

本接口是异步接口,调用接口成功仅表示任务下发成功,不表示任务执行成功。调用该接口后,需调用同步等待接口(例如,aclrtSynchronizeStream)确保任务已执行完成,否则可能会导致训练或推理等业务异常、Device断链掉卡等未知情况。

函数原型

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

输入

内存复制的类型。

stream

输入

指定stream。

返回值说明

返回0表示成功,返回其他值表示失败,请参见aclError

约束说明

参考资源

本接口的内存复制示意图: