MPI 関数を使用して、MPI_Sendrecv
プロセス間でデータの配列を通信します。私は mpi4py を使用して Python でこれを行いますが、私の質問は使用する言語とは無関係であると確信しています。
私が本当に望んでいるのは、別のプロセスに存在する配列を既存のローカル配列に追加することです。これはすべてのプロセスで行う必要があるため、MPI_Sendrecv
関数を使用して配列を一度に送受信します。次に、受信した配列をrecvbuf
ローカル配列に追加して完了です。
ただし、別の配列を用意し、既存のデータを上書きせずrecvbuf
にローカル配列に直接データを受け取るだけでなく、何らかの操作を使用して更新する (私の場合は追加)という手順を省くことができればよいでしょう。
私が探しているのは、複合MPI_Sendrecv
/MPI_Reduce
関数だと思います。このような関数は MPI に存在しますか?