文献名 “Performance Tuning of a CFD Code on the Earth Simulator”

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

G ゼミ 2010/5/14 渡辺健人. パフォーマンスの測定 CUDA Visual Profiler CUDA の SDK に標準でついているパフォーマン ス測定用のツール 使い方: exe ファイルのパスと作業ディレクトリ指定して実 行するだけ 注意点 : GPU のコード実行後にプログラム終了前に,
Mathematica による固有値計算の高速化 Eigenvalue calculation speed by Mathematica 情報工学部 06A2055 平塚翔太.
1 高速フーリエ変換 (fast Fourier transform). 2 高速フーリエ変換とは? – 簡単に言うとフーリエ変換を効率よく計算 する方法 – アルゴリズムの設計技法は分割統治法に基 づいている 今回の目的は? – 多項式の積を求める問題を取り上げ、高速 フーリエ変換のアルゴリズムを用いた解法.
Computational Fluid Dynamics(CFD) 岡永 博夫
有限差分法による 時間発展問題の解法の基礎
CPUとGPUの 性能比較 -行列計算およびN体問題を用いて-
計算理工学基礎 「ハイパフォーマンスコンピューティングの基礎」
Intel AVX命令を用いた並列FFTの実現と評価
Pose Tracking from Natural Features on Mobile Phones
TCPコネクションの分割 によるスループットの向上
ラベル付き区間グラフを列挙するBDDとその応用
三重対角化アルゴリズムの性能評価 早戸拓也・廣田悠輔.
全体ミーティング (4/25) 村田雅之.
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
Finger patternのブロック化による 陰的wavelet近似逆行列前処理の 高速化
スペクトル法による数値計算の原理 -一次元線形・非線形移流問題の場合-
AllReduce アルゴリズムによる QR 分解の精度について
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
各種PC クラスタの性能評価 同志社大学 工学部 廣安 知之 三木 光範 谷村 勇輔.
PCクラスタ上での 連立一次方程式の解の精度保証
首都大学東京 都市教養学部数理科学コース 関谷博之
理学部情報科学科 金田研究室 指導教官 金田 康正 工藤 誠
階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法
演算/メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法
正方行列向け特異値分解の CUDAによる高速化
京都大学大学院医学研究科 画像応用治療学・放射線腫瘍学 石原 佳知
計算理工学基礎 「ハイパフォーマンスコンピューティングの基礎」
応用数理工学特論 第6回 計算理工学専攻 張研究室 山本有作.
高速剰余算アルゴリズムとそのハードウェア実装についての研究
応用数理工学特論 第9回 高速フーリエ変換の高性能化手法
応用数理工学特論 第9回 高速フーリエ変換とその並列化
スペクトル法の一部の基礎の初歩への はじめの一歩
最適化の方法 中田育男著 コンパイラの構成と最適化 朝倉書店, 1999年 第11章.
半無限領域のスペクトル法による竜巻を模した渦の数値実験に向けた研究開発
コンピュータの歴史 〜計算速度の進歩〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
リモートホストの異常を検知するための GPUとの直接通信機構
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(NlogN)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似法
九州大学情報基盤研究開発センター長 青柳 睦
仮想メモリを用いた VMマイグレーションの高速化
Relativistic Simulations and Numerical Cherenkov
デザイン情報学科 メディア情報設計 河原英紀
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
トーリックイデアルの グレブナ基底を求める アルゴリズム – F4およびF5 –
航空エンジンの翼列周り流れ解析のメニーコアシステム向け最適化
先進的計算基盤システムシンポジウム SACSIS2007併設企画 マルチコアプログラミングコンテスト 「Cellスピードチャレンジ2007」
階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法
GPUを用いた疎行列の格納形式による行列ベクトル積の評価
複数ホストにまたがって動作する仮想マシンの障害対策
GW space-timeコードの大規模な有機-金属界面への適用に向けた高効率化
目的:高速QR分解ルーチンのGPUクラスタ実装
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
第4章 識別部の設計 4-5 識別部の最適化 発表日:2003年5月16日 発表者:時田 陽一
「データ学習アルゴリズム」 第3章 複雑な学習モデル 報告者 佐々木 稔 2003年6月25日 3.1 関数近似モデル
第4回 メモリ管理 主記憶(メインメモリ)の管理 固定区画方式と可変区画方式 空き領域の管理 スワッピング.
全体ミーティング (5/23) 村田雅之.
「マイグレーションを支援する分散集合オブジェクト」
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(Nlog2N)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似
メモリ使用量の少ないGCR法の提案 東京大学理学部情報科学科 工藤 誠 東京大学情報基盤センター 黒田 久泰
シミュレーション物理4 運動方程式の方法.
東京都心1m解像度10km四方気流計算の可視化
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
電気回路学Ⅱ 通信工学コース 5セメ 山田 博仁.
密行列固有値解法の最近の発展 (I) - Multiple Relatively Robust Representation アルゴリズム - 2004年11月26日 名古屋大学 計算理工学専攻 山本有作 日立製作所の山本有作です。 「~」について発表いたします。
How shall we do “Numerical Simulation”?
長方行列向け特異値分解の 浮動小数点コプロセッサによる 高速化
目次 はじめに 収束性理論解析 数値実験 まとめ 特異値計算のための dqds 法 シフトによる収束の加速
分散メモリ型並列計算機上での行列演算の並列化
並列処理プロセッサへの 実数演算機構の開発
2008年 7月17日 応用数理工学特論 期末発表 鈴木綾華,程飛
Presentation transcript:

文献名 “Performance Tuning of a CFD Code on the Earth Simulator” 発表者:近藤祐史     高橋一樹

Intorduction 乱流現象の研究では、Navier-Stokes方程式の直 接数値計算(DNS)が行われており、精度の良さ からスペクトル法が好まれて使われる。 しかし、スペクトル法はその変換に多くの時間 がかかるため最適化が必要である。 そこで今回は地球シミュレーター用に最適化し たItakuraらの論文を紹介する

地球シミュレーター ベクトル処理部と スカラー処理部がある ベクトルプロセッサと に対応する最適化がポイント! 計算プロセッサのピーク性能 8Gflops 総プロセッサ数 5120 計算ノードのピーク性能 64Gflops 総計算ノード数 640 計算ノードの主記憶容量 16GB ピーク性能 40Tflops 主記憶容量 10TB

スペクトル法 Navier-stokes方程式 境界条件:周期境界 空間微分:フーリエ・スペクトル法 時間微分:4次ルンゲクッタ法 フーリエ変換 フーリエ空間で計算するのが容易でないため実空間で計算! ここでFFTを用いる 4 4

計算量 一ステップあたりの計算量(格子点数N=n3) 時間発展→4次ルンゲクッタ法~O(N) 空間微分→代数演算~O(N) FFT及び逆FFT~O(NlogN) 計算量のほとんどはFFTであるので その最適化を行うことが必要!

並列化(概要) z 3D-FFTは全領域の情報が必要 XFFT 分散メモリで分割すると・・・ 2D-FFTなら個々のノードで独立に計算が可能 y ZFFT 6

並列化(概要) z y軸をx軸に転置してy分割からz分割へ (ここで通信をまとめて行う) x y z YFFT 転置したことによってx方向に無通信で1D-FFTが可能。 3D-FFTの完了 7

最適化 パディング real*8 u(N+1,N/nd,N) メモリアクセスの衝突の回避 ノード内の並列化(後述)  ノード内の並列化(後述)  基底4のFFTの利用(後述)   一括転送    Remoto memory functionの利用   バッファリージョンにコピーすること無しにデータ転送ができる 8

最適化  ノード内の並列化 XFFT それぞれ独立なので並列実行 9

最適化  ノード内の並列化 それぞれ独立なので並列実行 ZFFT 10

最適化  ノード内の並列化 YFFT それぞれ独立なので並列実行 11

最適化 基底4のFFT ― ノード内CPU 8GFLOPS メモリ-CPU間の通信 32GB/s ― 基底4のFFTはメモリアクセスの頻度が基底2 のFFTより低いので高いパフォーマンスが期待できる。 2回の倍精度浮動小数点演算に対して 1個の倍精度データの供給しかできない。 メモリアクセスがボトルネック 12

計算性能 単精度計算の方が性能が出ている ・通信量が少なくなるからと考え られる ・通信量が少なくなるからと考え  られる ndを固定してみるとNの増加に伴い 通信時間の割合が減る Nを固定してみるとndの増加に伴い 通信時間の割合が増える。 大きなサイズのデータ転送が良い 性能を引き出す 13

計算性能 線形な並列化効果が出ている 並列化効率がよい 14

計算方法 今回採用した方法 他の方法よりもパフォーマンスが高い! 15

まとめ 乱流のDNSをフーリエスペクトル法で解く際、 計算時間が最もかかる3D-FFTについて地球シ ミュレーターにおいて最適化を行った。 結果16.4TFLOPSという高速計算が実現した。

参考文献 16.4-TFLOPS Direct Numerical Simulation of turbulence by a Fourier Spectral Method on the Earth Simulator(2002) M.Yokokawa,K,Itakura et al Performance Tuning of a CFD Code on the Earth Simulator(2003) K.Itakura A.Uno,M.Yokokawa,M.Saito,Ishihara.T,Kaneda.Y

おしまい

補足(フーリエ変換) u 3成分の逆フーリエ変換 ω 3成分の逆フーリエ変換 u×ω 3成分のフーリエ変換 alias errorの除去 ×2 4次ルンゲクッタ   ×4 1ステップあたり計72回のFFTが必要! 逆FFT FFT