要求メッセージをやり取りするMPIプロセスがたくさんあります。プロセスは、他のどのプロセスがメッセージを送信するのか、またはその数を知りません。このような状況で、他のすべてのプロセスが自分自身がメッセージの送信を完了したと見なしているかどうかを効率的に知る方法が欲しいのです。
これは、MPI_Barrierの次の非ブロッキングバージョンによって完全に達成されます。これをMPI_Ibarrierと呼びます。
int MPI_Ibarrier(MPI_Comm comm, MPI_Request* request);
MPI_Ibarrier
すぐに戻り、リクエストオブジェクトに対する標準操作により、全員がバリアに到達したことが通知されます。
MPI 2でこの動作を効率的にシミュレートする方法はありますか(つまり、公式のノンブロッキングコレクティブなし)。