私は MPI プログラミング ( mpich2 fedora ) の初心者です。MPI_COMM_WORLD とは別のコミュニケータで MPI_Barrier を使用すると、デッドロックが発生しました。
私はこのような2つのコミュニケーターを作ります:
MPI_Comm_split (MPI_COMM_WORLD, 色, ランク, &split_comm);
すべての色が通過できる MPI_Barrier を配置すれば、問題ありません。
しかし、color == 1 のみが通過できる MPI_Barrier を配置すると、デッドロックが発生しました。
別のコミュニケータで MPI_Barrier を使用するには? 私も MPI_Bcast() を (別のコミュニケーター MPI_COMM_WORLD で) 使用していましたが、誰も MPI_Bcast を呼び出さない場合でもブロックされませんでした。MPI_COMM_WORLD への 1 つの異なるコミュニケーターで、独自のプロセスを同期できますか?