所以我有一個應用程序,我喜歡使用OpenCL分佈在多臺機器上使用MPI。OpenCL部分緩衝區DMA讀取/寫入
現在,在算法的每次迭代中,我需要同步MPI進程之間的緩衝區,但這裏有一個問題:只有2D緩衝區的邊界需要同步/複製,而不是整個區域。
所以我的問題是,如果有可能與OpenCL的內存映射機制(clEnqueueMapBuffer & clEnqueueUnmapMemObject)讀/寫的只是一個2D緩衝的邊界不觸發整個緩衝區的完整副本。
基本上這隻能在OpenCL使用DMA而不是主機端緩衝區副本時才起作用。所以我的問題是,如果OpenCL支持分立PCIe GPU上的設備緩衝區數據的DMA訪問。如果是的話,在什麼硬件和哪個操作系統上?
clEnqueueWriteBufferRect/clEnqueueReadBufferRect似乎是我一直在尋找,謝謝。 –