OpenCL 是否支持主机和设备之间的直接内存访问?

问题描述

我是 OpenCL 的新手。如果我从主机端调用 clEnqueueWriteBuffer 或 clEnqueueReadBuffer ,是否会有从主机到设备以及从设备到主机的 DMA 传输?这些设备将是 NVIDIA GPU 和 XILINX FPGA。

解决方法

简而言之:是的,clEnqueueWriteBufferclEnqueueReadBuffer 使用 DMA 进行内存传输。 This answer 详细解释了 OpenCL 内存传输的工作原理。