MPI を使用して信号機をシミュレートする C++ プログラムを作成しています。基本的に、2 秒ごとに、プロセス 0 が他のすべてのプロセス (信号機) に色を変更する必要があるというメッセージを送信する必要があります。私の現在のアプローチは次のようなものです(実際のコードはありません):
if ( process_rank == 0)
{
while(true)
{
Sleep(2000); //we sleep for 2 seconds
for(i=1; i<=n;i++)
{
MPI_Send( message to change color to process i);
}
}
}
else
{
MPI_Recv(message to change color);
}
コードは問題ありません。コンパイル エラーはありませんが、問題は私のロジックにあるようです。なんらかの理由で理解できません。プログラムは期待どおりに動作しません。MPI プログラムを継続的に実行し、X 秒ごとにメッセージを送信する良い方法はありますか? ありがとうございました