产品支持情况
产品
|
是否支持
|
Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件
|
√
|
Atlas 200I/500 A2 推理产品
|
√
|
Atlas 推理系列产品
|
√
|
Atlas 训练系列产品
|
√
|
Atlas 200/300/500 推理产品
|
√
|
功能说明
实现内存复制。
本接口在aclrtMemcpyAsync接口基础上扩展了功能,当传入的内存不是通过AscendCL提供的接口申请的,本接口在内存复制完成后才会返回;否则本接口是异步接口,调用接口成功仅表示任务下发成功,不表示任务执行成功,调用本接口后,需调用同步等待接口(例如,aclrtSynchronizeStream)确保内存复制的任务已执行完成。
函数原型
aclError aclrtMemcpyAsyncWithCondition(void *dst, size_t destMax, const void *src, size_t count, aclrtMemcpyKind kind, aclrtStream stream)
参数说明
参数名
|
输入/输出
|
说明
|
dst
|
输入
|
目的内存地址指针。
|
destMax
|
输入
|
目的内存地址的最大内存长度,单位Byte。
|
src
|
输入
|
源内存地址指针。
|
count
|
输入
|
内存复制的长度,单位Byte。
|
kind
|
输入
|
内存复制的类型。
|
stream
|
输入
|
指定stream。
|
约束说明
型号
|
约束
|
各型号通用
|
- 调用本接口进行内存复制时,源地址和目的地址都必须64字节对齐。
|
Atlas 200/300/500 推理产品
|
- Ascend EP形态下,本接口不支持异步Host内的内存复制功能,若传入的kind为ACL_MEMCPY_HOST_TO_HOST时,接口返回报错ACL_ERROR_RT_FEATURE_NOT_SUPPORT 。
- Ascend RC形态下,在板端运行应用时,若调用本接口传入的kind为ACL_MEMCPY_HOST_TO_DEVICE或ACL_MEMCPY_DEVICE_TO_HOST或ACL_MEMCPY_HOST_TO_HOST,系统内部会默认使用ACL_MEMCPY_DEVICE_TO_DEVICE执行Device内的内存复制。
|
Atlas 推理系列产品
|
|
Atlas 200I/500 A2 推理产品
|
- Ascend EP形态下,本接口不支持异步Host内的内存复制功能,若传入的kind为ACL_MEMCPY_HOST_TO_HOST时,接口返回报错ACL_ERROR_RT_FEATURE_NOT_SUPPORT 。
- Ascend RC形态下,在板端运行应用时,若调用本接口传入的kind为ACL_MEMCPY_HOST_TO_DEVICE或ACL_MEMCPY_DEVICE_TO_HOST或ACL_MEMCPY_HOST_TO_HOST,系统内部会默认使用ACL_MEMCPY_DEVICE_TO_DEVICE执行Device内的内存复制。
|
Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件
Atlas 训练系列产品
|
|