Cuda CUDAMEMCPy2daryToArray没有异步对应项

Cuda CUDAMEMCPy2daryToArray没有异步对应项,cuda,Cuda,我正在使用:cudaMemcpy2DArrayToArray()。此函数是否也有异步对应项?CUDAMEMCPy2darayToArrayAsync()不存在。我想避免cuda操作的隐式同步。其他10个左右的cudaMemcpy*()调用都有一个异步版本,所以我猜这个调用是以某种方式实现的,从而阻止了完全异步版本。但是请注意,文档中说“此函数为大多数用例显示同步行为”,他们的意思似乎是: 对于从可分页主机内存到设备内存的传输,在启动复制之前执行流同步。一旦可分页缓冲区被复制到暂存内存,以便DMA

我正在使用:cudaMemcpy2DArrayToArray()。此函数是否也有异步对应项?CUDAMEMCPy2darayToArrayAsync()不存在。我想避免cuda操作的隐式同步。

其他10个左右的cudaMemcpy*()调用都有一个异步版本,所以我猜这个调用是以某种方式实现的,从而阻止了完全异步版本。但是请注意,文档中说“此函数为大多数用例显示同步行为”,他们的意思似乎是:

  • 对于从可分页主机内存到设备内存的传输,在启动复制之前执行流同步。一旦可分页缓冲区被复制到暂存内存,以便DMA传输到设备内存,该函数将返回,但DMA到最终目的地可能尚未完成

  • 对于从固定主机内存到设备内存的传输,该功能与主机同步

  • 对于从设备到可分页或固定主机内存的传输,该函数仅在复制完成后返回

  • 对于从设备内存到设备内存的传输,不执行主机端同步

  • 对于从任何主机内存到任何主机内存的传输,该功能与主机完全同步


  • 其他10个左右的cudaMemcpy*()调用都有一个异步版本,所以我猜这个调用是以某种方式实现的,从而阻止了完全异步的版本。但是请注意,文档中说“此函数为大多数用例显示同步行为”,他们的意思似乎是:

  • 对于从可分页主机内存到设备内存的传输,在启动复制之前执行流同步。一旦可分页缓冲区被复制到暂存内存,以便DMA传输到设备内存,该函数将返回,但DMA到最终目的地可能尚未完成

  • 对于从固定主机内存到设备内存的传输,该功能与主机同步

  • 对于从设备到可分页或固定主机内存的传输,该函数仅在复制完成后返回

  • 对于从设备内存到设备内存的传输,不执行主机端同步

  • 对于从任何主机内存到任何主机内存的传输,该功能与主机完全同步


  • 您似乎已经回答了自己的问题。我很难相信您无法将一个cuda阵列异步复制到另一个cuda阵列。我想不惜一切代价避免同步。看来你已经回答了你自己的问题。我很难相信你不能将一个cuda阵列异步复制到另一个cuda阵列。我想不惜一切代价避免同步。