MPIIntro
17/30 MPI_Comm_size, MPI_Comm_rank

【テロップ】
※各テロップ文字をクリックすると該当の場所がピンポイントで閲覧できます。



【ノート】
次に、複数のプロセスを起動して、そのサイズおよびプロセスのランクを表示してみましょう。このプログラムに示すように、 ★ MPIコムサイズおよび ★ MPIコムランクの関数で、プロセスの総数および起動したプロセス毎のランクを取得するようにします。 ★ それぞれの関数の最初のひき数は、コミュニケータで、今回の資料では、MPIコムワールドを用います。 サイズとランクを保持するのはイント型の変数で、 ★ これらの関数の2個目のひき数は、それらの変数へのポインタになっています。 ★ このプログラムをMPI ccでコンパイルし、3個のプロセスを起動し、3個のコンピュータ上で実行してみることにします。 ★ プログラムのファイル名は、tドットcとしました。MPI ccがコンパイルを行うコマンドで、正しくコンパイルされると、aドットアウトが生成されます。 実行を行うコマンドは、mpiエグゼックで、オプションnpに3とつけると、3個のプロセスで、aドットアウトが起動されます。つまり、aドットアウトが3個起動し、別々のコンピュータでそれらが実行されます。 ★ 実際は、もっと細かく、起動の方法を指定できますが、この資料では、最小限のオプションだけで説明をするようにしたいと思います。 なお、オプションnpの3を、別のあたいに変えると、起動するプロセスの数を変更することができます。コンピュータが増えれば、このあたいを変えればよいことになります。 ★ このプログラムを実行するとこのような表示が標準出力であらわされます。すなわち、全体では3個のプロセスが動いており、それぞれのプロセスがプリント文を実行し、サイズと、それぞれのプロセスのランクである、0, 1, 2が表示されます。 MPIのプログラムは、エスピーエムディーで実行されるので、このランクのあたいを用いて、プログラムを制御を行います。