0

私は2つのプロセスを持っています.1つのプロセスは、内部割り込みがプロセス(送信するプロセス)を停止するまで、パケットを別のプロセスにストリーミングしています。このチャネルに受信するメッセージがあるまで、他のプロセスが受信できるメカニズムが必要です。

停止コマンドをメッセージとして転送する以外にそれを行う方法はありますか? 割り込みが送信側プロセスを強制終了する可能性があるため、別のメッセージとして終了/割り込みを送信しないことを好みます。

if (world.rank() != 0) {
  while (!interrupt())
    world.send(ROOT, ID, a, bufferSize);
  // I prefer not to send finish/interrupt as another message
 }
 else {
  while (/*there is any packet to be received*/)
    world.recv(boost::mpi::any_source, ID, a, bufferSize);
}
4

1 に答える 1