プロセス間データ通信  齋藤グループ 小林 直樹 2003.6.6.

Slides:



Advertisements
Similar presentations
Windows HPC 講習会 2009/9/25 Windows HPC コンソーシアム 1 - MS-MPIプログラミング演習 - 同志社大学生命医科学部 廣安 知之 同志社大学工学研究科 中尾 昌広.
Advertisements

5.制御構造と配列 場合分け( If Then Else , Select Case ) 繰返し( Do While ) 繰返しその2( For Next )
卒研のようなもの 圧縮ちーむ 2008.6.24 鴫原、山本、齋藤.
The Perl Conference Japan ’98 朝日奈アンテナによる コンテンツ情報の取得と利用
クラスタの構成技術と クラスタによる並列処理
Fortran と有限差分法の 入門の入門の…
京都大学情報学研究科 通信情報システム専攻 湯淺研究室 M2 平石 拓
4章 制御の流れ-3.
情報基礎演習I(プログラミング) 5月25日 水曜5限 江草由佳
情報基礎A 第13週 VBAプログラミング VBAの基本文法7・実際のデータ処理
コンパイラ 第9回 コード生成 ― スタックマシン ―
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
2012年度 計算機システム演習 第4回 白幡 晃一.
プログラミング論 II 2008年9月25日 誤り検出,訂正符号 ハミング符号
並列処理のためのプログラム作成.
プログラミング言語論 第4回 手続きの引数機構 変数の有効範囲
条件式 (Conditional Expressions)
OSI7層の各層の1)名称 2)機能の簡単な説明 3)各階層に関連のあ る機器、規格などを5つ以上書いて下さい。
MPI Programming 1 本schoolの目的
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第11回 プロセス間通信4 仮想FTPの実現 担当:青木義満
Northrop Grumman RQ-4 Global Hawk
MPIによるプログラミング概要(その1) 【C言語編】
テキストボックス、チェックボックス×2、コマンドボタンを配置する。 コマンドボタンに機能を与える
第9回 プロセスの協調と排他制御 並行プロセスと資源の競合 競合問題 セマフォ 不可分命令の実装 プロセス間通信 PV命令
京都大学大学院医学研究科 画像応用治療学・放射線腫瘍学 石原 佳知
11.6 ランダムアクセスファイル 11.7 StreamTokenizerクラス
MPIによるプログラミング概要(その2) 【Fortran言語編】
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
平山 英夫、波戸 芳仁 KEK, 高エネルギー加速器研究機構
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
プログラミング言語論 第9回 Hoare論理の練習問題 手続きの引数機構 変数の有効範囲
関数の定義.
MATLAB測位プログラミングの 基礎とGT (2)
京都大学情報学研究科 通信情報システム専攻 湯淺研究室 D1 平石 拓 2005/10/18
Mathematicaによる固有値計算の高速化 ~ Eigenvalue calculation speed by Mathematica ~ 情報工学科 06A2055 平塚 翔太.
復習 前回の関数のまとめ(1) 関数はmain()関数または他の関数から呼び出されて実行される.
東京工科大学 コンピュータサイエンス学部 亀田弘之
ネットワークプログラミング (5回目) 05A1302 円田 優輝.
phononの分散関係の計算 -カイラルナノチューブ(18,3)-
MPIを使った加算  齋藤グループ 小林直樹
高度プログラミング演習 (05).
高度プログラミング演習 (05).
プログラムの制御構造 配列・繰り返し.
アルゴリズム論 (第12回) 佐々木研(情報システム構築学講座) 講師 山田敬三
プログラミング言語論 第5回 手続きの引数機構 変数の有効範囲
コーパス言語学 ~バッチ処理~ 2013.10. 28.
プログラムの基本構造と 構造化チャート(PAD)
情報工学科 3年生対象 専門科目 システムプログラミング 第4回 シェルスクリプト 情報工学科 篠埜 功.
制御文の役割と種類 IF文 論理式と関係演算子 GO TO文
プログラミング入門.
情報とコンピュータ 静岡大学工学部 安藤和敏
岡村耕二 TCP通信プログラム 課題と回答例 岡村耕二 情報ネットワーク.
3.1 ifステートメント 3.2 if-elseステートメント 3.3 コードのブロック 11月14日(金) 発表者:藤井丈明
IF文 START もしも宝くじが当たったら 就職活動する 就職活動しない YES END NO.
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
平山 英夫、波戸 芳仁 KEK, 高エネルギー加速器研究機構
計算機プログラミングI 第4回 2002年10月31日(木) 問題解決とアルゴリズム クラスメソッドと手続きの抽象化 最大公約数
C言語講座 制御(選択) 2006年 計算技術研究会.
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第11回 プロセス間通信4 仮想FTPの実現 担当:青木義満
情報工学Ⅱ (第8回) 月曜4限 担当:北川 晃.
Inline 展開のアルゴリズム 長谷川啓
ネットワーク・プログラミング 1対多のプロセス間通信.
PROGRAMMING IN HASKELL
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
並列・分散ソフトウェア(2).
場合分け(If Then Else,Select Case) 繰返し(Do While) 繰返しその2(For Next)
6.5 アダマール(Hadamard)変換 (1)アダマール変換とは
モバイルプログラミング第3回 Cプログラミングの基礎( 2 )
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
5.2 グレゴリー・ニュートン(Gregory-Newton)の補間式 (1)導入
Presentation transcript:

プロセス間データ通信  齋藤グループ 小林 直樹 2003.6.6

前回の問題点 問題点 解決策 各プロセスでの計算 結果が同じファイルに出力 1/8しか結果を得られず rootプロセスに結果を集める MPIを使って8プロセスで計算した結果 MPIを使わずに計算した結果

集積方法① -MPI_REDUCE- 加算 e11 e21 e31 e41 e12 e22 e32 e42 e13 e23 e33 e43 プロセス0 プロセス1 プロセス2 プロセス3 e11 e21 e31 e41 e12 e22 e32 e42 e13 e23 e33 e43 e14 e24 e34 e44 加算 e11 e12 e13 e14 e21 e22 e23 e24 e31 e32 e33 e34 e41 e42 e43 e44 call mpi_reduce(e(1,1),a(1,1),16,mpi_integer, & mpi_sum,0,mpi_comm_world,ierr)

集積結果① call mpi_reduce(eee(1,1), eee1(1,1), (nk*3)*nj, (120×100行列)×8 の加算 call mpi_reduce(eee(1,1), eee1(1,1), (nk*3)*nj, & mpi_double_precision, mpi_sum, 0, mpi_comm_world, error) アームチェアナノチューブ(10,10)  nk = 40, nj = 100

集積方法② -MPI_GATHER- e11 e21 e31 e41 e12 e22 e32 e42 e13 e23 e33 e43 e14 プロセス0 プロセス1 プロセス2 プロセス3 e11 e21 e31 e41 e12 e22 e32 e42 e13 e23 e33 e43 e14 e24 e34 e44 送信側の引数 e11 e12 e13 e14 e21 e22 e23 e24 e31 e32 e33 e34 e41 e42 e43 e44 call mpi_gather(e(1,is),4,mpi_integer, & e(1,1),4,mpi_integer,0,mpi_comm_world,ierr) 受信側の引数

MPI_GATHER の注意点 各プロセスから同じ個数の値をとらなければならない プログラムの抜粋 結果 do 10 i = is, ie a(i) = i **2 10 continue c if(myrank+1 .le. lc) then call mpi_gather(a(is), lb+1, mpi_integer, & a(is), lb+1, MPI_INTEGER, 0, mpi_comm_world, ierr) else call mpi_gather(a(is), lb,MPI_INTEGER, & a(is), lb,mpi_integer, 0, mpi_comm_world, ierr) end if a( 1) = 1 a( 2) = 4 a( 3) = 9 a( 4) = 16 a( 5) = 25 a( 6) = 36 a( 7) = 49 a( 8) = 0 a( 9) = 64 a(10) = 81 a(11) = 100 a(12) = 0 各プロセスから同じ個数の値をとらなければならない

集積結果② メッセージパッシング call mpi_gather(eee(1,is), (nk*3)*nj/tnode, mpi_double_precision, & eee(1,1), (nk*3)*nj/tnode, mpi_double_precision, 0, & mpi_comm_world, error) アームチェアナノチューブ(10,10)  nk = 40, nj = 96

今後の予定 abc-lib(対角化プログラム) の実行