MatsuLab. Lecture Note/sougouenshu2007/round2/1
の編集
http://matsu-www.is.titech.ac.jp/lecture/lecture-wiki/index.php?MatsuLab.%20Lecture%20Note/sougouenshu2007/round2/1
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
-- 雛形とするページ --
BracketName
FrontPage
grid2009
grid2010
grid2011
grid2012
hpc2013
hpc2016
InterWiki
InterWikiName
InterWikiテクニカル
MatsuLab.+Lecture+Note/sougouenshu2007/round3/mpich2
MatsuLab.+Lecture+Note/sougouenshu2008/round1
MatsuLab. Lecture Note
MatsuLab. Lecture Note/compsys2006
MatsuLab. Lecture Note/compsys2006/exerdata
MatsuLab. Lecture Note/compsys2006/recent_changed
MatsuLab. Lecture Note/compsys2006/submit_test
MatsuLab. Lecture Note/compsys2006/Ï¢Ííöà
MatsuLab. Lecture Note/compsys2006/演習コメント
MatsuLab. Lecture Note/compsys2006/演習提出
MatsuLab. Lecture Note/compsys2006/演習提出/coution
MatsuLab. Lecture Note/compsys2006/演習提出状況
MatsuLab. Lecture Note/compsys2006/連絡事項
MatsuLab. Lecture Note/compsys2007
MatsuLab. Lecture Note/compsys2007/report_submitted
MatsuLab. Lecture Note/compsys2008
MatsuLab. Lecture Note/compsys2008/課題提出状況と解答例
MatsuLab. Lecture Note/compsys2009
MatsuLab. Lecture Note/compsys2009/解答
MatsuLab. Lecture Note/compsys2010
MatsuLab. Lecture Note/compsys2011
MatsuLab. Lecture Note/compsys2012
MatsuLab. Lecture Note/compsys2012/課題提出ページのエラーについて
MatsuLab. Lecture Note/compsys2013
MatsuLab. Lecture Note/compsys2014
MatsuLab. Lecture Note/compsys2015
MatsuLab. Lecture Note/compsys2016
MatsuLab. Lecture Note/compsys2017
MatsuLab. Lecture Note/grid2007
MatsuLab. Lecture Note/grid2008
MatsuLab. Lecture Note/info_net_system2009
MatsuLab. Lecture Note/kaimen06
MatsuLab. Lecture Note/sougouenshu2006
MatsuLab. Lecture Note/sougouenshu2006/1stround
MatsuLab. Lecture Note/sougouenshu2006/3rdround
MatsuLab. Lecture Note/sougouenshu2006/3rdround/BASIC/COMPILE
MatsuLab. Lecture Note/sougouenshu2006/3rdround/BASIC/SCP
MatsuLab. Lecture Note/sougouenshu2006/3rdround/BASIC/SSH_TO_POTAL
MatsuLab. Lecture Note/sougouenshu2006/3rdround/BASIC/SSH_TO_SIM
MatsuLab. Lecture Note/sougouenshu2006/3rdround/BASIC/VPN
MatsuLab. Lecture Note/sougouenshu2006/3rdround/BASIC/WRITE_PRG
MatsuLab. Lecture Note/sougouenshu2006/3rdround/EXERCISE/1st
MatsuLab. Lecture Note/sougouenshu2006/3rdround/EXERCISE/2st
MatsuLab. Lecture Note/sougouenshu2006/3rdround/EXERCISE/3rd
MatsuLab. Lecture Note/sougouenshu2006/3rdround/MISC/ERRATA_FIXSTARS
MatsuLab. Lecture Note/sougouenshu2007
MatsuLab. Lecture Note/sougouenshu2007/round1
MatsuLab. Lecture Note/sougouenshu2007/round2
MatsuLab. Lecture Note/sougouenshu2007/round2/1
MatsuLab. Lecture Note/sougouenshu2007/round2/2
MatsuLab. Lecture Note/sougouenshu2007/round2/3
MatsuLab. Lecture Note/sougouenshu2007/round2/cluster_usage
MatsuLab. Lecture Note/sougouenshu2007/round3
MatsuLab. Lecture Note/sougouenshu2007/round3/1
MatsuLab. Lecture Note/sougouenshu2007/round3/2
MatsuLab. Lecture Note/sougouenshu2007/round3/cluster_usage
MatsuLab. Lecture Note/sougouenshu2007/round3/IM
MatsuLab. Lecture Note/sougouenshu2007/round3/mpich2
MatsuLab. Lecture Note/sougouenshu2007/round3/nbody
MatsuLab. Lecture Note/sougouenshu2007/round3/node_reservation
MatsuLab. Lecture Note/sougouenshu2007/round3/ppe_spe
MatsuLab. Lecture Note/sougouenshu2007/round3/test
MatsuLab. Lecture Note/sougouenshu2008
MatsuLab. Lecture Note/sougouenshu2008/round1
MatsuLab. Lecture Note/sougouenshu2008/round2
MatsuLab. Lecture Note/sougouenshu2008/round3
MatsuLab. Lecture Note/sougouenshu2009
MatsuLab. Lecture Note/sougouenshu2009/round1
MatsuLab. Lecture Note/sougouenshu2009/round1/results
MatsuLab. Lecture Note/グリッドコンピューティング09
MenuBar
PHP
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
RecentDeleted
SandBox
WikiEngines
WikiName
WikiWikiWeb
YukiWiki
...
[[MatsuLab. Lecture Note/sougouenshu2007/round2]] * 第1回目 [#u08f69df] ** 課題 [#t8204c96] *** その1 [#odcae55d] 配布資料の"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 [#f22ab2be] 以下の指示に従い「COLOR(BLUE){行列とベクトル積を行なうプログラム}」を実装し、実行すること。シングルプロセッサ用プログラムを用意してあるので、それを参考にして良い。 -行列、ベクトルデータの生成は1つのプロセス上で行い、そのプロセスからMPI通信関数を呼び出して他のプロセスに送ること -計算終了後には1つのプロセスにデータを集約すること -行数、列数、使用プロセス数をさまざまに変化させて実行すること -一対一通信のMPI_Send、MPI_Recvだけで実装できるが、集団通信のMPI_Bcast、MPI_Scatter、MPI_Gatherなどを使って実装すると良い --なお、任意の数のプロセスに対応するにはMPI_Scatter、MPI_Gatherの変わりに、MPI_Scatterv、MPI_Gathervを使うことになる シングルプロセッサ用プログラムのコンパイル&実行方法。 $ 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 <- 実行 * 課題の進め方 [#s7ceb180] その1 -演習室MACでプログラムを編集 -scpコマンドでプログラムをPrestoIIIクラスタに転送(リモートコピー) -sshコマンドでPrestoIIIにログイン -PrestoIII上でプログラムをコンパイル&実行 その2 -sshコマンドでPrestoIIIにログイン -PrestoIII上でviやemacs( -nw)などでプログラムを編集、コンパイル&
タイムスタンプを変更しない
[[MatsuLab. Lecture Note/sougouenshu2007/round2]] * 第1回目 [#u08f69df] ** 課題 [#t8204c96] *** その1 [#odcae55d] 配布資料の"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 [#f22ab2be] 以下の指示に従い「COLOR(BLUE){行列とベクトル積を行なうプログラム}」を実装し、実行すること。シングルプロセッサ用プログラムを用意してあるので、それを参考にして良い。 -行列、ベクトルデータの生成は1つのプロセス上で行い、そのプロセスからMPI通信関数を呼び出して他のプロセスに送ること -計算終了後には1つのプロセスにデータを集約すること -行数、列数、使用プロセス数をさまざまに変化させて実行すること -一対一通信のMPI_Send、MPI_Recvだけで実装できるが、集団通信のMPI_Bcast、MPI_Scatter、MPI_Gatherなどを使って実装すると良い --なお、任意の数のプロセスに対応するにはMPI_Scatter、MPI_Gatherの変わりに、MPI_Scatterv、MPI_Gathervを使うことになる シングルプロセッサ用プログラムのコンパイル&実行方法。 $ 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 <- 実行 * 課題の進め方 [#s7ceb180] その1 -演習室MACでプログラムを編集 -scpコマンドでプログラムをPrestoIIIクラスタに転送(リモートコピー) -sshコマンドでPrestoIIIにログイン -PrestoIII上でプログラムをコンパイル&実行 その2 -sshコマンドでPrestoIIIにログイン -PrestoIII上でviやemacs( -nw)などでプログラムを編集、コンパイル&
テキスト整形のルールを表示する