1 / 22

PSC2001 成果発表

PSC2001 成果発表. 東京大学大学院理学系研究科 情報科学専攻修士 2 年 医科学研究所ヒトゲノム解析センター DNA 情報解析分野所属 蓬来祐一郎. 産総研生命情報科学研究センター (CBRC) で実習. PSC2001 問題. カットオフのある分子動力学計算 粒子数最大40000 初期値を受け取って、与えられたステップ数後の粒子の位置と速度を返す カットオフ判定にもっとも時間がかかる ( すべてまじめに計算すると O(N^2) かかる ) → カットオフ判定の回数を減らす. カットオフアルゴリズム. 固定セルを用いる方法

raleigh
Download Presentation

PSC2001 成果発表

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PSC2001成果発表 東京大学大学院理学系研究科 情報科学専攻修士2年 医科学研究所ヒトゲノム解析センター DNA情報解析分野所属 蓬来祐一郎 産総研生命情報科学研究センター(CBRC)で実習

  2. PSC2001問題 • カットオフのある分子動力学計算 • 粒子数最大40000 • 初期値を受け取って、与えられたステップ数後の粒子の位置と速度を返す • カットオフ判定にもっとも時間がかかる (すべてまじめに計算するとO(N^2)かかる) →カットオフ判定の回数を減らす

  3. カットオフアルゴリズム • 固定セルを用いる方法 (参考:チューニング技法虎の巻[青山:IBM]) • 木構造を用いた方法 (参考:Barnes-HatのTree-code)

  4. カットオフ半径内 固定セルを用いる方法(セルインデックス法) X軸方向 カットオフ半径内にある可能性がある粒子を すべてかつ高速に集めたい

  5. セルの 用意 カットオフ半径 ×N≡カットオフ半径+ε とすると、粒子を含むセル2N+1個の 範囲に存在する粒子のみ考慮すればよい。 (3次元ならば(2N+1)^3個のセル) 固定セルを用いる方法2(セルインデックス法) 1次元方向で全粒子が存在する範囲 なるべく多くの粒子がセル配列 に正しく納まるようにする

  6. セルインデックス法の問題点 • セル配列の大きさがあまり多く取れない。 (今回はセルサイズを(カットオフ半径/3)とし、 最大128x128x128個(選択ミス)のセルを用意した。 • 粒子の分散が大きいと、距離の遠く離れた粒子が多数同じセルに入れられてしまう。 →カットオフ判定に最悪、O(N^2)かかってしまう。

  7. 木構造を利用したカットオフ 木構造の作成

  8. 木構造を利用したカットオフ2 ご近所リストの作成

  9. セルインデックス法 もしくは ツリーコード プログラム構造 for each step begin make a cell structure for each particle i begin make a list containing all particles which can be inside of the cut-off radius of particle i. for eachj in the list begin if distance(i, j)< cut-off radius calculate force endif end end calculate next position and velocity end

  10. 並列化 • セル構造を作る部分は、並列化を行わなかった。 • 粒子をそれぞれのCPUに割り当て、それぞれのCPUが行う力計算が均等になるように粒子の再分散を行った。

  11. コンテスト後の実験 • Scoreクラスタ 1 node CPU :Dual PentiumⅢ 933MHz RAM:1Gbytes Network: Myrinet2000 x 最大16 node使用して実験

  12. 予選問題実行時間

  13. 予選問題台数効果

  14. 本選問題実行時間 506.8秒 127.5秒

  15. 本選問題並列化効率

  16. 提出プログラムの欠陥 • セルインデックス法で最大のセルの個数を128x128x128としたため、この配列のクリア等の処理にかかる時間が、力計算よりも圧倒的に時間がかかってしまった → セル構造を作成する部分を高速化 (最大セルサイズを40x40x40 int → unsigned short 必要な部分だけセルのデータを作成するよう に変更) したものと比較

  17. 本選問題実行時間2 45.7秒

  18. 本選問題並列化効率2

  19. 木構造が有利なデータ • 非常に広い粒子分布を持つデータ →セルサイズ固定だと多くの粒子を同じセル(端のセル)にいれてしまい,行わなければならないカットオフ判定が増える。 • 粒子分布が非常に密な場合 →より精確なカットオフ処理を行えるため

  20. 木構造が有利なデータ2 • 40000粒子がx方向に幅1で直線的に分布するデータで50ステップの実験を行った。 • 以下がその結果

  21. プラットホームごとの違い • Score 通信が速いため並列化部分を少し増やした。 C言語+MPI版を提出。(CPU数-16x2) • SGI OpenMPの場合、共有メモリのアクセスが遅いためかMPIの方が高速だった。 Fortran+MPI版を提出。(CPU数-32) • SUN 少ない粒子の場合、MPIの方が速かったが、 予選問題の場合、OpenMPの方が速そうだったので Fortran+OpenMP版を提出。(CPU数-40)

  22. 反省点 • 実験データの作成を怠った。 • いやらしい問題を予想しすぎた。 • 使用言語を絞らなかった。(Fortran,C,OpenMP,MPI) • セル構造の更新を毎ステップ行ったが、数ステップに1回というふうに行えば、セル構造作成のオーバーヘッドが削減できたのではないか?

More Related