Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
私はboost::mpi、OpenMPIを使用しています。boost::mpi::communicator::recv (ブロッキング バージョン) は、Linux シグナルによって中断されません。SIGTERM シグナルを使用してプログラムを正しく終了するにはどうすればよいですか?
問題は解決されました。 1. マスターを除くすべてのノードが信号を無視します。2. マスター ノードは、1 つのスレッドを除いて信号を無視します (このスレッドは POSIX 一時停止関数を呼び出します)。一時停止が中断されると、mpi の「停止」メッセージがすべてのノードに送信されます。したがって、すべてのノードが作業を停止します。
私はこの問題を解決するために2日間の作業の大部分を費やしました。ローカルマシンに次のコードをロードすると、それが機能します。クラウド上の実際のサイトにロードすると、このエラーが発生します。
Parse error: syntax error, unexpected '&