OpenMPI を使用して複数のワーカーにデータを分散しようとしていますが、データ分割をかなりカスタムな方法で行っていMPI_Scatter
ますMPI_Broadcast
。私がやりたいことは、各プロセッサがデータの最初のチャンクで作業を行い、次のチャンクを取得し、チャンクがなくなるまで繰り返すことができるように、キュー (または他の非同期メカニズム) でいくつかの作業を行うことです。
のことは知っていますがMPI_Isend
、 でデータを送信すると、送信MPI_Isend
が完了するまで変更できません。強制的に使用するためMPI_Wait
、スレッドがデータの受信を完了するまで待たなければなりません!
この問題に対する標準的な解決策はありますか、それとも自分のアプローチを再考する必要がありますか?