MPIIntro
18/30 MPI_Send, MPI_Recv
【テロップ】
※各テロップ文字をクリックすると該当の場所がピンポイントで閲覧できます。
【ノート】
では、ランク0のプロセスから、ランク2のプロセスにデータを転送する例を考えましょう。ここでは、MPIセンドおよびMPIレシーブの関数を用います。 ★ まず、変数xと変数yを適当に初期化します。 ★ ランクが0の場合、MPIセンド関数でデータを送信し、 ランクが2の場合、MPIレシーブ関数でデータを受信します。 ★ それぞれ、送信は、送信先のランクを2とし、受信は、送信元を0とします。 ★ また、送信元のデータはx、受信先のデータはyとします。 これで、ランク0のxのデータが、ランク2の変数yに格納されることになります。 なお、関数の引数の詳細は次のスライドで説明します。 ★ これを実行すると、最初、xとyのあたいはこうなっていますが、 ★ データ転送することで、ランク2のyのあたいが変わります。 ★ 実行結果はこのようになります。 すなわち、ランク2のyのあたいだけ10になります。 次にそれぞれの関数の引数の詳細を見てみましょう。