MPI の私のアプリケーションには、大きなデータを生成するプロセスがあります。N+1 プロセス (マスター コントロール用に 1 つ、その他はワーカー) があるとします。各ワーカー プロセスは大きなデータを生成し、ファイル 1、ファイル 2、...、ファイル N という名前の通常のファイルに単純に書き込みます。各ファイルのサイズはかなり異なる場合があります。次のジョブを実行するには、すべての fileM をランク M プロセスに送信する必要があります。これは、すべてのデータ転送と同じです。
私の問題は、MPI API を使用してこれらのファイルを効率的に送信する方法です。以前は Windows 共有フォルダーを使用してこれらを転送していましたが、それは良い考えではないと思います。
MPI_file と MPI_All_to_all について考えてみましたが、これらの関数は私の場合にはあまり適していないようです。単純な MPI_Send と MPI_Recv は、すべてのプロセスが大量のデータを転送する必要があるため、使用するのが難しいと思われます。分散ファイル システムは今のところ使用したくありません。