京都大学大学院医学研究科 画像応用治療学・放射線腫瘍学 石原 佳知

Slides:



Advertisements
Similar presentations
1 広島大学 理学研究科 尾崎 裕介 石川 健一. 1. Graphic Processing Unit (GPU) とは? 2. Nvidia CUDA programming model 3. GPU の高速化 4. QCD with CUDA 5. 結果 6. まとめ 2.
Advertisements

1 プリミティブ Web サービスの 入出力データに関する一考察 2005 年 3 月 21 日 松江工業高等専門学校 情報工学科 奈良先端科学技術大学院大学 情報科学研究科 越田高志 電子情報通信学会 2005年総合 大会.
MPIを用いたグラフの並列計算 情報論理工学研究室 藤本 涼一.
相互作用図 FM11010 田中健太.
第3回 並列計算機のアーキテクチャと 並列処理の実際
連続系アルゴリズム演習 第2回 OpenMPによる課題.
情報理工学系研究科 コンピュータ科学専攻 上嶋裕樹
CPUとGPUの 性能比較 -行列計算およびN体問題を用いて-
クラスタの構成技術と クラスタによる並列処理
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
PCクラスタにおける2個体分散遺伝的アルゴリズムの高速化
伺か with なでしこ 発表者:しらたま /05/05 うかべん大阪#3.
AllReduce アルゴリズムによる QR 分解の精度について
このPowerPointファイルは、 情報処理演習用に作った フィクションです。
時空間データからのオブジェクトベース知識発見
基礎プログラミング (第五回) 担当者: 伊藤誠 (量子多体物理研究室) 内容: 1. 先週のおさらいと続き (実習)
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
分散遺伝的アルゴリズムによる各種クラスタのベンチマーク
各種PC クラスタの性能評価 同志社大学 工学部 廣安 知之 三木 光範 谷村 勇輔.
多数の遊休PC上での 分散ゲーム木探索 導入 ゲーム木探索 ⇒遊休PCを利用して高速化 例)コンピュータ将棋における次手の計算
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング システムプログラミング プロセス間通信(パイプ) 担当:青木義満
ネットワーク性能に合わせた 分散遺伝的アルゴリズムにおける 最適な移住についての検討
CONCURRENT PROGRAMMING
オペレーティングシステムとは オペレーティングシステム 第3回.
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
文献名 “Performance Tuning of a CFD Code on the Earth Simulator”
現実の有限密度QCDの定性的な振る舞いに
領域分割手法について 2008年2月26日 中島研吾.
MPIによるwavからmp3圧縮の検証 情報論理工学研究室 04‐1‐47‐200 木村 惇一.
P2P方式によるオンラインゲームの研究、開発
MPIを用いた並列計算 情報論理工学研究室 清水周.
関数の定義.
プログラミング応用 printfと変数.
モデルの逆解析 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(NlogN)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似法
平成30年度高知工科大学教職科目 微分方程式特論I 11 高知大学教育学部技術教育コース 北川 晃.
研究課題名 研究背景・目的 有機エレクトロニクス材料物質の基礎電子物性の理解 2. 理論 3. 計算方法、プログラムの現状
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
通信機構合わせた最適化をおこなう並列化ンパイラ
進化的計算手法の並列計算機への実装 三木 光範
動的データ依存関係解析を用いた Javaプログラムスライス手法
5.RSA暗号 素因数分解の困難性を利用した暗号.
実行時情報を用いて通信を最適化するPCクラスタ上の並列化コンパイラ
phononの分散関係の計算 -カイラルナノチューブ(18,3)-
MPIを使った加算  齋藤グループ 小林直樹
東北大学 大学院情報科学研究科 応用情報科学専攻 田中 和之(Kazuyuki Tanaka)
応用課題 8.太陽風磁気圏相互作用 ベクトル化とベクトル並列化(MPI)の3次元グローバルMHDコードを用いて、SUNワークステーションとベクトル並列型のスーパーコンピュータ Fujitsu VPP5000で太陽風と地球磁気圏相互作用のシミュレーションを行い、惑星間磁場(IMF)が北向きと南向きの場合の磁気圏構造を調べる。図形処理として、PostScript言語を用いた断面図や3次元磁力線の描画、VRMLを用いた3次元可視化を実行する。
目的:高速QR分解ルーチンのGPUクラスタ実装
背景 課題 目的 手法 作業 期待 成果 有限体積法による汎用CFDにおける 流体構造連成解析ソルバーの計算効率の検証
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
岩澤全規 理化学研究所 計算科学研究機構 粒子系シミュレータ研究チーム 2015年7月22日 AICS/FOCUS共催 FDPS講習会
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
高精細計算を実現するAMR法フレームワークの高度化 研究背景と研究目的 複数GPU間での袖領域の交換と効率化
ガイダンス 電子計算機 電気工学科 山本昌志 1E
OSI7層に関係する機器、仕様、機能など 物理層 データリンク層 ネットワーク層 トランスポート層 セッション層 プレゼンテーション層
理工学部情報学科 情報論理工学研究室 延山 周平
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
BSPモデルを用いた 最小スパニング木 情報論理工学研究室 02-1-47-134 小林洋亮.
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
プログラミング演習II 2003年12月10日(第7回) 木村巌.
オブジェクト指向メトリクスを用いた 開発支援に関する研究 --- VC++とMFCを用いた開発を対象として ---
第39回応用物理学科セミナー 日時: 12月22日(金) 14:30 – 16:00 場所:葛飾キャンパス研究棟8F第2セミナー室
大規模粒子法による大型クルーズ船の浸水解析
まさ 2003/06/12 卒論その後の進捗 まさ 2003/06/12.
Presentation transcript:

京都大学大学院医学研究科 画像応用治療学・放射線腫瘍学 石原 佳知 y.ishi@kuhp.kyoto-u.ac.jp MPIを利用した並列計算 京都大学大学院医学研究科 画像応用治療学・放射線腫瘍学 石原 佳知 y.ishi@kuhp.kyoto-u.ac.jp

MC計算と高速化 MC計算では統計誤差を満たす(目的となるregionのイベントを増やす)ため反復計算(複数回の粒子移動計算)を行う この反復計算のため計算終了まで膨大な計算時間が必要である 計算時間短縮のため様々な高速化方法が存在する

計算高速化手法 Splitting STOPS (Simultaneous Transport of Particle Sets) Russian roulet History repetition Range rejection Recycling Parallel Processing ?

(with multiple photon transport) 計算高速化手法 Full MC Fast MC (with multiple photon transport) 強制的に粒子の発生確率を大きくし、   少ない粒子で大量の相互作用を発生させる

計算高速化手法 事前に取得した粒子データをそのまま適用

計算高速化手法 並列計算 条件設定 結果取得 処理を複数のCPUに分散し計算時間を短縮 Core数がN個であれば計算時間は1/Nとなる MC計算においては単純にN倍の高速化

殆どの高速化手法は物理的な歪が生じるために計算精度が落ちる可能性がある 計算高速化手法 殆どの高速化手法は物理的な歪が生じるために計算精度が落ちる可能性がある 並列計算においては計算機さえあれば精度を落とすことなく高速化が可能である MPI (Message Passing Interface) HPF (High Performance Fortran) PVM (Parallel Virtual Machine) Linda

MPI 分散メモリ型の並列計算機で2つ以上のプロセス間でのデータをやりとりするために用いるメッセージ通信操作の仕様標準 この方式を使ったプログラムを共有メモリ型の並列計算機で実行することも可能 MPI は新しいプログラミング言語ではなく、C または Fortran から呼び出すサブプログラムのライブラリである

MC計算を並列化するために必要な処理 並列化用乱数の導入 統計誤差の設定 並列化部分の設定 各coreにおいて異なった乱数でなければならない 並列計算専用乱数の導入 例:SPRNG (http://sprng.cs.fsu.edu/) 統計誤差の設定 History-by-historyによる評価 Walters B R B, Kawrakow I and Rogers D W O, 2002,   History by history statistical estimators in the BEAM code system, Med. Phys. 29 2745–52 並列化部分の設定

並列化部分の設定 .fファイルにMPIのコードを組込む MPIの開始と終了部分を設定 #include <sprng_f.h>; 並列化開部分の設定 CALL MPI_INIT(IERR); 変数の初期化 CALL MPI_COMM_SIZE(MPI_COMM_WORLD,NPROCS,IERR); プロセス数の取得 CALL MPI_COMM_RANK(MPI_COMM_WORLD,MYRANK,IERR); 自分のノード番号の取得 ****並列化計算**** CALL MPI_FINALIZE(IERR);並列化終了部分の設定

MPI組込みの概略 (使用するのはこれだけ!) MYRANK: プロセス番号のための変数, NPROCS: 総プロセス数のための変数 ↑このふたつの変数を定義する #include <sprng_f.h>; 並列化開部分の設定 CALL MPI_INIT(IERR); 変数の初期化 CALL MPI_COMM_SIZE(MPI_COMM_WORLD,NPROCS,IERR); 総プロセス数の取得 CALL MPI_COMM_RANK(MPI_COMM_WORLD,MYRANK,IERR); 自分のプロセス番号の取得 ****各ノードにおけるファイル・変数の設定**** CALL MPI_BARRIER(MPI_COMM_WORLD,IERR); プロセスの同期 ****並列化計算(粒子輸送計算)**** CALL MPI_REDUCE(A(MYRANK,I),ASUM(I),1,MPI_REAL,MPI_SUM, 0,MPI_COMM_WORLD,IERR); データの結合 (例:outputで使用) CALL MPI_FINALIZE(IERR);並列化終了部分の設定

初期化 MPIの開始部分の設定 この4文はそのまま使用する #include <sprng_f.h>; 並列化開部分の設定 CALL MPI_INIT(IERR); 変数の初期化 CALL MPI_COMM_SIZE(MPI_COMM_WORLD,NPROCS,IERR); 総プロセス数の取得 CALL MPI_COMM_RANK(MPI_COMM_WORLD,MYRANK,IERR); 自分のプロセス番号の取得 MPIの開始部分の設定 この4文はそのまま使用する

処理の同期 CALL MPI_BARRIER(MPI_COMM_WORLD,IERR);

各プロセスでの結果A(MYRANK)を0番のプロセスにおいてASUMの変数にreal型(MPI_REAL)として累積(MPI_SUM)する データの結合 CALL MPI_REDUCE(A(MYRANK),ASUM,1,MPI_REAL,MPI_SUM, 0,MPI_COMM_WORLD,IERR); 各プロセスでの結果A(MYRANK)を0番のプロセスにおいてASUMの変数にreal型(MPI_REAL)として累積(MPI_SUM)する

MPI計算例概略図

その他の並列化 (GPU)

その他の並列化 (GPU)

まとめ 並列化計算の分野では異なった処理をいかに効率よく並列するかが焦点、つまり反復(同一)処理が多いMCは並列化に最適 並列化では粒子輸送過程での物理的な歪が生じず精度を担保しやすい 並列化のための乱数、統計誤差の評価の組込みが必須 MPIは並列化の中でも確立された手法であり資料等の入手が容易(http://accc.riken.jp/HPC/training.html)