aclrtMemcpy2dAsync
产品支持情况
| 
          产品  | 
        
          是否支持  | 
       
|---|---|
| 
          | 
        
          √  | 
       
| 
          | 
        
          √  | 
       
| 
          | 
        
          √  | 
       
| 
          | 
        
          √  | 
       
| 
          | 
        
          √  | 
       
| 
          | 
        
          √  | 
       
 
     功能说明
实现异步内存复制,主要用于矩阵数据的复制。
本接口是异步接口,调用接口成功仅表示任务下发成功,不表示任务执行成功。调用该接口后,需调用同步等待接口(例如,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。
约束说明
- 当前仅支持ACL_MEMCPY_HOST_TO_DEVICE类型和ACL_MEMCPY_DEVICE_TO_HOST类型的内存复制。
 Atlas 200I/500 A2 推理产品 上,Ascend RC形态下,不支持调用本接口。
参考资源
本接口的内存复制示意图:
