MatsuLab. Lecture Note/sougouenshu2007/round2
配布資料の"A User's Guide to MPI" ( ftp://math.usfca.edu/pub/MPI/mpi.guide.ps )を読む。また、2章に書かれているプログラムを実際にプロセス数を変化させながら動かしてみる。 実行方法は、プログラムファイル名をgreetings.cとして、以下のとおり行う。
$mpicc -o greetings greetings.c $mpirun -np 4 -machinefile machines greetings
1行目では、プログラムファイル(greetings.c)からコンパイルとリンクを行い、greetingsという名前のexecutableを生成している。-oは出力ファイル名を指定するオプション。
2行目では,1行目で生成されたexcutableを実行している。-npがプロセス数を指定するオプションで、-machinefileは実行マシンを指定するオプション。ファイル(ここではmachines)に記述された実行マシンが選択される。以下はmachinesファイルの例。
pad050 pad051 pad052
以下の指示に従い「行列とベクトル積を行なうプログラム」を実装し、実行すること。シングルプロセッサ用プログラムを用意してあるので、それを参考にして良い。
シングルプロセッサ用プログラムのコンパイル&実行方法。
$ gcc -c vector.c <- vector.oが既に生成されていれば実行しなくても良い $ gcc -c mul_matrix.c $ gcc -o mul_matrix mul_matrix.o vector.o $ ./mul_matrix <- 実行
MPIプログラムのコンパイル方法。mpi_mm.cは各自が作成するプログラム。
$ gcc -c vector.c <- vector.oが既に生成されていれば実行しなくても良い $ mpicc -c mpi_mm.c $ mpicc -o mpi_mm mpi_mm.o vector.o $ mpirun -np 4 -machinefile machines ./mpi_mm <- 実行
その1
その2