そのため、MPI を使用して複数のマシンに分散されている OpenCL を使用して実装したいアプリケーションがあります。
アルゴリズムの反復ごとに、MPI プロセス間でバッファーを同期する必要がありますが、ここに問題があります。領域全体ではなく、2D バッファーの境界のみを同期/コピーする必要があります。
したがって、私の質問は、OpenCL のメモリ マッピング メカニズム (clEnqueueMapBuffer & clEnqueueUnmapMemObject) を使用して、バッファー全体の完全なコピーをトリガーすることなく、2D バッファーの境界のみを読み書きできるかどうかです。
基本的に、これは OpenCL がホスト側のバッファ コピーの代わりに DMA を使用している場合にのみ機能します。したがって、私の質問は、OpenCL がディスクリート PCIe GPU 上のデバイス バッファ データの DMA アクセスをサポートしているかどうかです。はいの場合、どのハードウェアとどのオペレーティング システムで使用しますか?