MPI-CPU ノードと単一 GPU 間の「データ転送」アルゴリズムを改善したいと考えています。
NUMPROCS ノードでは、各 MPI ノードに Ntot/NUMPROCESS float4 の 1D 配列があります。
私のアルゴは非常に単純です。
1) 1D 配列はマスターノード上の大きな配列 (サイズ Ntot) に集められます (MPI_GATHER)。
2) マスター ノードでは、大きな配列が cudaMemcpy 関数を介して GPU に送信されます。CUDA カーネルは、マスター ノードで起動されます。
最初のステップを回避することは可能ですか?つまり、各 MPI ノードはその配列を cudaMemcpy 経由で送信し、連結は GPU のメモリ上で直接行われます。