MatsuLab. Lecture Note/sougouenshu2007/round2

第1回目

課題

その1

配布資料の"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

その2

以下の指示に従い「行列とベクトル積を行なうプログラム」を実装し、実行すること。シングルプロセッサ用プログラムを用意してあるので、それを参考にして良い。

シングルプロセッサ用プログラムのコンパイル&実行方法。

$ 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


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS