MPI_Scatter =========== .. literalinclude:: mpi_sample4.cpp :language: c++ :linenos: :download:`Download the source code` MPI_Scatter では、グループ操作のルートとして指定した rank で 用意した配列データを等しい個数ずつ、全てのrankに分配します。 ルートrankを含む全てのrankでは分配された分のデータだけを受信します。 送信するのはルートrankだけですが、関数のインタフェース上は 全てのrankで送信バッファと受信バッファの双方を指定します。 コンパイルと実行例を示します。:: $ mpic++ -o mpi_sample4 mpi_sample4.cpp $ mpiexec -n 4 mpi_sample4 rank: 0, send_data: [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ] rank: 0, recv_data: [ 0 1 2 3 4 5 6 7 8 9 ] rank: 3, recv_data: [ 30 31 32 33 34 35 36 37 38 39 ] rank: 1, recv_data: [ 10 11 12 13 14 15 16 17 18 19 ] rank: 2, recv_data: [ 20 21 22 23 24 25 26 27 28 29 ]