MatsuLab. Lecture Note/sougouenshu2008/round1
はすでに存在します。
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
//!!edit-lock!!
[[MatsuLab. Lecture Note/sougouenshu2008]]
*第1ラウンド解説 [#z54cb085]
#contents
**日程 [#a616bf73]
基本木曜日。月曜も15:00以降なら研究室にいるので、質問があ...
**第1回 [#rf63b86d]
10/9
''課題''~
渡したMPI仕様書を読んで、どういった通信関数があるか調べて...
主に一対一通信、集団通信の2グループに分かれるが、それぞれ...
''ヒント''~
一対一通信
-同期通信(ブロッキング通信)
-非同期通信(ノンブロッキング通信)
集団通信
-同期
--MPI_Barrier
-全対全
--MPI_Alltoall、MPI_Allgather
-一対多、多対一通信
--MPI_Bcast、MPI_Gather、MPI_Scatter
-Reduction操作
--MPI_Reduce、MPI_Allreduce、MPI_Reduce_scatter
XXv、XXwは無視してよい
-MPI_Alltoallvなど
**第2回 [#l9064a48]
10/23
''前回の課題の確認''~
-ブロッキング通信と、ノンブロッキング通信の両方がある理由
--ブロッキング通信だと通信中にCPUがアイドル(使用されない...
--現状のMPIでは集団通信はすべてブロッキングだが、研究レベ...
-なんのために集団通信は用意されているか
--MPIが提供する集団通信と同じパターンの通信は、MPIを使っ...
--集団通信を高速に実行するには賢いアルゴリズムを使う必要...
''MPIを使った並列プログラミング''
基本
-分散メモリモデルのプログラミングモデル
--プロセス(マシン)間でデータは共有されないので、明示的...
-- <-> 共有メモリモデル
-処理対象のデータ、問題を細かく分割し、多くのコンピュータ...
--通信量を出来るだけ少なくするように工夫
--計算量と通信のバランスも考える必要がある
--マシン性能に応じて配分する問題サイズを変えること(負荷...
MPIアプリケーションと、サーバ・クライアント型アプリケーシ...
-サーバ・クライアント型
--一般にサーバとクライアントアプリケーションは異なるプロ...
--WebサーバとWebブラウザ、ファイルサーバとクライアント(...
-MPI並列アプリケーション
--全てのプロセス(マシン)が同じプログラムを実行、ただし...
--もちろん、MPIライブラリを用いてサーバ・クライアント型ア...
MPIプログラムのサンプル: mpi_pi.c~
このファイルはモンテカルロ法を用いてPIを計算する、本当に...
MPI関数もMPI_BcastとMPI_Reduceしか用いていず、1関数での通...
-MPIアプリケーションはMPI_Init関数で始まり、MPI_Finalize...
-MPI_Comm_sizeで、アプリケーション実行に参加しているプロ...
-MPI_Comm_rankでMPIアプリケーション内での自分(プロセス、...
--名前の範囲は0〜N_PROCS-1
---具体的に4つのプロセスでアプリケーションを実行する場合...
--一対一通信ではこの名前で通信先プロセスを指定する
-MPI_Bcastで分割した問題を各プロセスに送信
--プロットする点の数をばらまく
--実はこのサンプルではMPI_Bcastする必要は無い
-MPI_Reduceで各プロセスの計算結果を1つのプロセスに集約
mpi_pi.cのコンパイル&実行方法
$ mpicc -c mpi_pi.c
$ mpicc -o mpi_pi mpi_pi.o -lm
$
$ mpirun -np 2 -machinefile machines ./mpi_pi <- 実行
''課題''~
PrestoIII上のtakizawaのホームディレクトリから今回の演習用...
$ cp -r ~takizawa/sougouenshu/n01 .
$ cp ~takizawa/sougouenshu/machines n01
''その1''
mpi_pi.cにおいて、定数N_POINTSや実行するプロセス数をさま...
''その2''~
以下の指示に従い「COLOR(BLUE){行列とベクトル積を行なうプ...
シングルプロセッサ用プログラムを用意してあるので、それを...
-行列、ベクトルデータの生成は1つのプロセス上で行い、その...
-計算終了後には1つのプロセスにデータを集約すること
-一対一通信のMPI_Send、MPI_Recvだけで実装できるが、集団通...
-特定のパターンのプロセス数で実行できればよい。たとえば、...
--任意の数のプロセスに対応するにはMPI_Scatter、MPI_Gather...
-行数、列数、使用プロセス数をさまざまに変化させて実行する...
シングルプロセッサ用プログラムのコンパイル&実行方法
$ 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 <- 実行
**第3回 [#v9bd9dd7]
''行列・ベクトル積問題の補足''
''その1''
/home/takizawa/sougouenshu 以下に「sample1.c」、「sample2...
sample1.cは行列データ送信時にMPI_Scatterを用いる実装で、s...
どちらの実装も、行列・ベクトル積を行なう回数は同じ。
10000x10000行列で、800MBのサイズの問題である。
ためしに4プロセスで実行したところ、
|sample1|10.406秒|
|sample2|61.827秒|
となった。
計算処理を分割しただけでは不十分で、処理対象データの転送...
''その2''
sample1.cをプロセス数を1,2,4と変化させて実行したところ、...
|1|2.914|
|2|4.994|
|4|10.406|
計算処理を分割しているから、プロセス数を増やせば各プロセ...
この理由は、計算コストに対して通信コストが高すぎるため。
実際にMPIでプログラムを書くときには、大きな通信コストを払...
また、問題によってはプロセス数を変化させた場合、ある程度...
ある程度までであれば、計算コストが通信コストを上回り、問...
このトレードオフを見極め、問題に対して適切なプロセス数を...
''N体問題''~
N体問題の基礎問題をMPIを用いてC言語で実装する。
N体問題では、N個の質点間における相互作用の力を解くことに...
末尾の参考文献に、N体問題を理解するためのオンラインデモと...
今回解いてもらうのはスパコンコンテスト2001で出題された問...
細かい問題の内容は[[こちらのページ>http://www.gsic.titech...
MPIを用いていない、C言語だけで書かれたシングルプロセス用...
:場所|/home/takizawa/sougouenshu/n-body.tar.gz
$ cd sougouenshu
$ cp ~takizawa/sougouenshu/n-body.tar.gz . <- 「.」を...
$ tar zxf n-body.tar.gz <- 圧...
$ cd n-body
$ ls
correct_data_0.c correct_data_1.c main.c problem.c ra...
このプログラムは以下のようにコンパイル、実行できる。
$ gcc -c *.c <- 拡張子が「.c」のファイルを全...
$ gcc -o main *.o -lm <- 注1
$ ./main 0 <- 実行 注2
:注1|
上のコマンドでコンパイルされて生成された全てのオブジェク...
:注2|
mainの引数に与えられている数値は問題番号を表す。種類は0、...
MPIで実装するにはmain.cだけを編集すればよい。以下のような...
$ gcc -c correct_data_0.c correct_data_1.c problem.c ran...
$ mpicc -c main.c
$ mpicc -o mpi_main *.o -lm
$ mpirun -np 32 -machinefile machines ./mpi_main
:注3|
既にcorrect_data_0.o correct_data_1.o problem.o random_ge...
''ヒント''
-main.cにはいくつか関数が定義されているが、round、calc_gr...
-main.c内で分からない関数があったら、ターミナルに次のよう...
$ man 3 floor
$ man 3 fflush
**第4回 [#t2ac8275]
''N体問題のNaiveな実装''~
PrestoIII上に「/home/takizawa/sougouenshu/nbody1.c」と言...
C言語だけの実装との違いは、
+do_step関数を引数を1つ取るように変更。引数に与えた数分の...
+forループ
--各プロセスが均等に星を処理する
--Allgatherで結果を集約
だけであり、高々数行変更しただけである。
プロセス数を1,2,4,8と変化させた場合の問題1にかかった時間...
|プロセス数|時間(秒)|
|1|209.641|
|2|105.682|
|4|53.038|
|8|26.851|
プロセスを倍に増やすと、実行時間も半分になることが確認で...
takizawaのホームディレクトリからのコピー方法。
$ cp ~takizawa/sougouenshu/nbody1.c . <- 「.」を忘...
''さらなる改良''~
さらに以下のような改良が出来る。
+MPI_Allgatherでの通信量を減らす
--nbody1.cではperticle構造体そのままを転送している。しか...
+do_stepの内側のループ回数を減らす
--内側のループではいまだにn_particles回処理を繰り返してい...
---一般に「COLOR(RED){粒子登録法}」と言われる
--αの値のとり方によって実行時間が変化するので、最適なαを...
--参考文献を参考に
--ためしに滝澤が実装して実行してみたところ、以下に示す結...
---nbody2が粒子登録法を用いた実装。ただし、1の通信量を減...
|プロセス数|nbody1|nbody2(α=2)|
|2|105.682|12.171|
|4|53.038|7.033|
|8|26.851|4.285|
+任意の数のプロセスで実行できるようにする
--通信関数にはMPI_Allgathervを使うと良い(ちょっと難しい...
--プロセス数回MPI_Bcastを実行するほうがラク
''課題''~
N体問題をMPI並列実装し、問題1、2の実行時間をプロセス数を...
|''問題''|''粒子数''|''プロセス数''|
|1|5000|2, 4, 8, 10, 20, 40, 50|
|2|20000|2, 4, 8, 16, 32, 40, 50|
レポートにはどのように実装したかを簡単に記述し、実験結果...
締め切りはCOLOR(RED){11/21}とします。
また、粒子登録法を用いて実装したサンプルプログラムを11/13...
こちらを参考にしてもかまいません。
2人以上が同時にプログラムを実行すると性能が出ないので、調...
**課題の進め方 [#v74ce563]
+演習室MACでプログラムを編集
+scpコマンドでプログラムをPrestoIIIクラスタに転送(リモー...
+sshコマンドでPrestoIIIにログイン
+PrestoIII上でプログラムをコンパイル&実行
**松岡研PCクラスタPrestoIIIの使い方 [#j81f0642]
作業には基本的にターミナルを使用する
-ログイン
++ログインノードnimbus.m.gsic.titech.ac.jp (131.112.28.30...
$ ssh USERNAME@nimbus.m.gsic.titech.ac.jp
++実行マシンへログイン
$ rsh pad041
-ファイルの転送(リモートコピー)
--以下のコマンドを用いて、*演習室のmac上の* カレントディ...
$ scp mpi.c USERNAME@nimbus.m.gsic.titech.c.jp:
--最後の「:」を忘れない
--また、ファイルをnimbus上の~/sougouenshu/n01以下に直接コ...
$ scp mpi.c USERNAME@nimbus.m.gsic.titech.c.jp:sougouens...
-使用するマシン
--20台(最大80CPU)
--どのマシンを使用するかは、/home/USERNAME/sougouenshu/ma...
--マシンは故障することがあるので、プログラムを実行できな...
**PrestoIII上のデータのバックアップ方法 [#e4687d48]
PrestoIIIへのアクセス権は今期いっぱいしか与えられないので...
+ nimbus.m.gsic.titech.ac.jpにログイン
$ ssh USER@nimbus.m.gsic.titech.ac.jp
+ 総合演習用データのアーカイブ(1つのファイルにまとめるこ...
$ tar zcf sougouenshu.tar.gz sougouenshu
--このコマンドを実行することにより sougouenshu ディレクト...
+ lsコマンドを実行し、sougouenshu.tar.gzが存在することを...
+ nimbus.m.gsic.titech.ac.jpからログアウト
+ MACマシン上でscpを実行し、nimbusからアーカイブファイル...
$ scp USER@nimbus.m.gsic.titech.ac.jp:sougouenshu.tar.gz .
--MACマシンからのプログラムファイル転送とは実行方法が違う...
--最後の「.」を忘れない
+ ダウンロードできたかどうか、lsで確認
+ アーカイブファイルを展開
$ tar zxf sougouenshu.tar.gz
--カレントディレクトリにsougouenshuと言う名のディレクトリ...
**参考文献 [#n46c9329]
+[[MPIドキュメント集:http://www.mpi-forum.org/docs/docs.h...
--初回配布資料は、この文献の前半部分(140ページまで)
+[[TSUBAMEの構成:http://www.gsic.titech.ac.jp/~ccwww/tgc/]]
+[[MPIによる並列プログラミングの基礎(PDF):http://mikilab....
--同志社大の先生が書かれた、非常に詳しい日本語資料
+[[スパコンコンテスト2001:http://www.gsic.titech.ac.jp/su...
--優勝チームのプログラムも掲載されているので、必要なら参...
+[[N体問題オンラインデモ:http://www.cs.cmu.edu/~scandal/a...
+[[N体問題重力ゲーム:http://homokaasu.org/gasgames/game.g...
+粒子登録法
--http://madeira.cc.hokudai.ac.jp/RD/emaru/Research/DPG/s...
--http://venus.netlaboratory.com/material/messe/winmasphy...
終了行:
//!!edit-lock!!
[[MatsuLab. Lecture Note/sougouenshu2008]]
*第1ラウンド解説 [#z54cb085]
#contents
**日程 [#a616bf73]
基本木曜日。月曜も15:00以降なら研究室にいるので、質問があ...
**第1回 [#rf63b86d]
10/9
''課題''~
渡したMPI仕様書を読んで、どういった通信関数があるか調べて...
主に一対一通信、集団通信の2グループに分かれるが、それぞれ...
''ヒント''~
一対一通信
-同期通信(ブロッキング通信)
-非同期通信(ノンブロッキング通信)
集団通信
-同期
--MPI_Barrier
-全対全
--MPI_Alltoall、MPI_Allgather
-一対多、多対一通信
--MPI_Bcast、MPI_Gather、MPI_Scatter
-Reduction操作
--MPI_Reduce、MPI_Allreduce、MPI_Reduce_scatter
XXv、XXwは無視してよい
-MPI_Alltoallvなど
**第2回 [#l9064a48]
10/23
''前回の課題の確認''~
-ブロッキング通信と、ノンブロッキング通信の両方がある理由
--ブロッキング通信だと通信中にCPUがアイドル(使用されない...
--現状のMPIでは集団通信はすべてブロッキングだが、研究レベ...
-なんのために集団通信は用意されているか
--MPIが提供する集団通信と同じパターンの通信は、MPIを使っ...
--集団通信を高速に実行するには賢いアルゴリズムを使う必要...
''MPIを使った並列プログラミング''
基本
-分散メモリモデルのプログラミングモデル
--プロセス(マシン)間でデータは共有されないので、明示的...
-- <-> 共有メモリモデル
-処理対象のデータ、問題を細かく分割し、多くのコンピュータ...
--通信量を出来るだけ少なくするように工夫
--計算量と通信のバランスも考える必要がある
--マシン性能に応じて配分する問題サイズを変えること(負荷...
MPIアプリケーションと、サーバ・クライアント型アプリケーシ...
-サーバ・クライアント型
--一般にサーバとクライアントアプリケーションは異なるプロ...
--WebサーバとWebブラウザ、ファイルサーバとクライアント(...
-MPI並列アプリケーション
--全てのプロセス(マシン)が同じプログラムを実行、ただし...
--もちろん、MPIライブラリを用いてサーバ・クライアント型ア...
MPIプログラムのサンプル: mpi_pi.c~
このファイルはモンテカルロ法を用いてPIを計算する、本当に...
MPI関数もMPI_BcastとMPI_Reduceしか用いていず、1関数での通...
-MPIアプリケーションはMPI_Init関数で始まり、MPI_Finalize...
-MPI_Comm_sizeで、アプリケーション実行に参加しているプロ...
-MPI_Comm_rankでMPIアプリケーション内での自分(プロセス、...
--名前の範囲は0〜N_PROCS-1
---具体的に4つのプロセスでアプリケーションを実行する場合...
--一対一通信ではこの名前で通信先プロセスを指定する
-MPI_Bcastで分割した問題を各プロセスに送信
--プロットする点の数をばらまく
--実はこのサンプルではMPI_Bcastする必要は無い
-MPI_Reduceで各プロセスの計算結果を1つのプロセスに集約
mpi_pi.cのコンパイル&実行方法
$ mpicc -c mpi_pi.c
$ mpicc -o mpi_pi mpi_pi.o -lm
$
$ mpirun -np 2 -machinefile machines ./mpi_pi <- 実行
''課題''~
PrestoIII上のtakizawaのホームディレクトリから今回の演習用...
$ cp -r ~takizawa/sougouenshu/n01 .
$ cp ~takizawa/sougouenshu/machines n01
''その1''
mpi_pi.cにおいて、定数N_POINTSや実行するプロセス数をさま...
''その2''~
以下の指示に従い「COLOR(BLUE){行列とベクトル積を行なうプ...
シングルプロセッサ用プログラムを用意してあるので、それを...
-行列、ベクトルデータの生成は1つのプロセス上で行い、その...
-計算終了後には1つのプロセスにデータを集約すること
-一対一通信のMPI_Send、MPI_Recvだけで実装できるが、集団通...
-特定のパターンのプロセス数で実行できればよい。たとえば、...
--任意の数のプロセスに対応するにはMPI_Scatter、MPI_Gather...
-行数、列数、使用プロセス数をさまざまに変化させて実行する...
シングルプロセッサ用プログラムのコンパイル&実行方法
$ 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 <- 実行
**第3回 [#v9bd9dd7]
''行列・ベクトル積問題の補足''
''その1''
/home/takizawa/sougouenshu 以下に「sample1.c」、「sample2...
sample1.cは行列データ送信時にMPI_Scatterを用いる実装で、s...
どちらの実装も、行列・ベクトル積を行なう回数は同じ。
10000x10000行列で、800MBのサイズの問題である。
ためしに4プロセスで実行したところ、
|sample1|10.406秒|
|sample2|61.827秒|
となった。
計算処理を分割しただけでは不十分で、処理対象データの転送...
''その2''
sample1.cをプロセス数を1,2,4と変化させて実行したところ、...
|1|2.914|
|2|4.994|
|4|10.406|
計算処理を分割しているから、プロセス数を増やせば各プロセ...
この理由は、計算コストに対して通信コストが高すぎるため。
実際にMPIでプログラムを書くときには、大きな通信コストを払...
また、問題によってはプロセス数を変化させた場合、ある程度...
ある程度までであれば、計算コストが通信コストを上回り、問...
このトレードオフを見極め、問題に対して適切なプロセス数を...
''N体問題''~
N体問題の基礎問題をMPIを用いてC言語で実装する。
N体問題では、N個の質点間における相互作用の力を解くことに...
末尾の参考文献に、N体問題を理解するためのオンラインデモと...
今回解いてもらうのはスパコンコンテスト2001で出題された問...
細かい問題の内容は[[こちらのページ>http://www.gsic.titech...
MPIを用いていない、C言語だけで書かれたシングルプロセス用...
:場所|/home/takizawa/sougouenshu/n-body.tar.gz
$ cd sougouenshu
$ cp ~takizawa/sougouenshu/n-body.tar.gz . <- 「.」を...
$ tar zxf n-body.tar.gz <- 圧...
$ cd n-body
$ ls
correct_data_0.c correct_data_1.c main.c problem.c ra...
このプログラムは以下のようにコンパイル、実行できる。
$ gcc -c *.c <- 拡張子が「.c」のファイルを全...
$ gcc -o main *.o -lm <- 注1
$ ./main 0 <- 実行 注2
:注1|
上のコマンドでコンパイルされて生成された全てのオブジェク...
:注2|
mainの引数に与えられている数値は問題番号を表す。種類は0、...
MPIで実装するにはmain.cだけを編集すればよい。以下のような...
$ gcc -c correct_data_0.c correct_data_1.c problem.c ran...
$ mpicc -c main.c
$ mpicc -o mpi_main *.o -lm
$ mpirun -np 32 -machinefile machines ./mpi_main
:注3|
既にcorrect_data_0.o correct_data_1.o problem.o random_ge...
''ヒント''
-main.cにはいくつか関数が定義されているが、round、calc_gr...
-main.c内で分からない関数があったら、ターミナルに次のよう...
$ man 3 floor
$ man 3 fflush
**第4回 [#t2ac8275]
''N体問題のNaiveな実装''~
PrestoIII上に「/home/takizawa/sougouenshu/nbody1.c」と言...
C言語だけの実装との違いは、
+do_step関数を引数を1つ取るように変更。引数に与えた数分の...
+forループ
--各プロセスが均等に星を処理する
--Allgatherで結果を集約
だけであり、高々数行変更しただけである。
プロセス数を1,2,4,8と変化させた場合の問題1にかかった時間...
|プロセス数|時間(秒)|
|1|209.641|
|2|105.682|
|4|53.038|
|8|26.851|
プロセスを倍に増やすと、実行時間も半分になることが確認で...
takizawaのホームディレクトリからのコピー方法。
$ cp ~takizawa/sougouenshu/nbody1.c . <- 「.」を忘...
''さらなる改良''~
さらに以下のような改良が出来る。
+MPI_Allgatherでの通信量を減らす
--nbody1.cではperticle構造体そのままを転送している。しか...
+do_stepの内側のループ回数を減らす
--内側のループではいまだにn_particles回処理を繰り返してい...
---一般に「COLOR(RED){粒子登録法}」と言われる
--αの値のとり方によって実行時間が変化するので、最適なαを...
--参考文献を参考に
--ためしに滝澤が実装して実行してみたところ、以下に示す結...
---nbody2が粒子登録法を用いた実装。ただし、1の通信量を減...
|プロセス数|nbody1|nbody2(α=2)|
|2|105.682|12.171|
|4|53.038|7.033|
|8|26.851|4.285|
+任意の数のプロセスで実行できるようにする
--通信関数にはMPI_Allgathervを使うと良い(ちょっと難しい...
--プロセス数回MPI_Bcastを実行するほうがラク
''課題''~
N体問題をMPI並列実装し、問題1、2の実行時間をプロセス数を...
|''問題''|''粒子数''|''プロセス数''|
|1|5000|2, 4, 8, 10, 20, 40, 50|
|2|20000|2, 4, 8, 16, 32, 40, 50|
レポートにはどのように実装したかを簡単に記述し、実験結果...
締め切りはCOLOR(RED){11/21}とします。
また、粒子登録法を用いて実装したサンプルプログラムを11/13...
こちらを参考にしてもかまいません。
2人以上が同時にプログラムを実行すると性能が出ないので、調...
**課題の進め方 [#v74ce563]
+演習室MACでプログラムを編集
+scpコマンドでプログラムをPrestoIIIクラスタに転送(リモー...
+sshコマンドでPrestoIIIにログイン
+PrestoIII上でプログラムをコンパイル&実行
**松岡研PCクラスタPrestoIIIの使い方 [#j81f0642]
作業には基本的にターミナルを使用する
-ログイン
++ログインノードnimbus.m.gsic.titech.ac.jp (131.112.28.30...
$ ssh USERNAME@nimbus.m.gsic.titech.ac.jp
++実行マシンへログイン
$ rsh pad041
-ファイルの転送(リモートコピー)
--以下のコマンドを用いて、*演習室のmac上の* カレントディ...
$ scp mpi.c USERNAME@nimbus.m.gsic.titech.c.jp:
--最後の「:」を忘れない
--また、ファイルをnimbus上の~/sougouenshu/n01以下に直接コ...
$ scp mpi.c USERNAME@nimbus.m.gsic.titech.c.jp:sougouens...
-使用するマシン
--20台(最大80CPU)
--どのマシンを使用するかは、/home/USERNAME/sougouenshu/ma...
--マシンは故障することがあるので、プログラムを実行できな...
**PrestoIII上のデータのバックアップ方法 [#e4687d48]
PrestoIIIへのアクセス権は今期いっぱいしか与えられないので...
+ nimbus.m.gsic.titech.ac.jpにログイン
$ ssh USER@nimbus.m.gsic.titech.ac.jp
+ 総合演習用データのアーカイブ(1つのファイルにまとめるこ...
$ tar zcf sougouenshu.tar.gz sougouenshu
--このコマンドを実行することにより sougouenshu ディレクト...
+ lsコマンドを実行し、sougouenshu.tar.gzが存在することを...
+ nimbus.m.gsic.titech.ac.jpからログアウト
+ MACマシン上でscpを実行し、nimbusからアーカイブファイル...
$ scp USER@nimbus.m.gsic.titech.ac.jp:sougouenshu.tar.gz .
--MACマシンからのプログラムファイル転送とは実行方法が違う...
--最後の「.」を忘れない
+ ダウンロードできたかどうか、lsで確認
+ アーカイブファイルを展開
$ tar zxf sougouenshu.tar.gz
--カレントディレクトリにsougouenshuと言う名のディレクトリ...
**参考文献 [#n46c9329]
+[[MPIドキュメント集:http://www.mpi-forum.org/docs/docs.h...
--初回配布資料は、この文献の前半部分(140ページまで)
+[[TSUBAMEの構成:http://www.gsic.titech.ac.jp/~ccwww/tgc/]]
+[[MPIによる並列プログラミングの基礎(PDF):http://mikilab....
--同志社大の先生が書かれた、非常に詳しい日本語資料
+[[スパコンコンテスト2001:http://www.gsic.titech.ac.jp/su...
--優勝チームのプログラムも掲載されているので、必要なら参...
+[[N体問題オンラインデモ:http://www.cs.cmu.edu/~scandal/a...
+[[N体問題重力ゲーム:http://homokaasu.org/gasgames/game.g...
+粒子登録法
--http://madeira.cc.hokudai.ac.jp/RD/emaru/Research/DPG/s...
--http://venus.netlaboratory.com/material/messe/winmasphy...
ページ名:
既存のページ名で編集する