AMR法フレームワークの様々なアーキテクチャへ向けた発展 研究背景と研究目的 Xeon Phi対応に向けた拡張

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 のコード実行後にプログラム終了前に,
2.5 プログラムの構成要素 (1)文字セット ① ASCII ( American Standard Code for Interchange ) JIS コードと同じ ② EBCDIC ( Extended Binary Coded Decimal for Information Code ) 1.
CPU/GPUを協調利用する ソフトウェア開発環境
連続系アルゴリズム演習 第2回 OpenMPによる課題.
Intel AVX命令を用いた並列FFTの実現と評価
NFCを利用した登山者間DTNの構築 Building DTN for Climbers by using NFC
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
ARM 株式会社アプライド・マーケティング 大越 章司
CV輪講 姿勢変化に対応したSoft Decision Featureと Online Real Boostingによる人物追跡
高山建志 五十嵐健夫 テクスチャ合成の新たな応用と展開 k 情報処理 vol.53 No.6 June 2012 pp
正方行列向け特異値分解の CUDAによる高速化
数値相対論の展望        柴田 大 (東大総合文化:1月から京大基研).
研究背景 研究目的 手法 研究計画 分散型プラズマアクチュエータと物体形状の統合最適設計による 仮想空力形状の実現 jh NAH
高速CFDコードを用いた次世代空力応用研究プラットフォーム構築に 向けた実証研究
圧力発展格子ボルツマン法による大規模気液二相流GPUコードの開発 ならびに多孔体浸潤液滴シミュレーション
型付きアセンブリ言語を用いた安全なカーネル拡張
現実の有限密度QCDの定性的な振る舞いに
OpenMPハードウェア動作合成システムの検証(Ⅰ)
ステンシル計算を対象とした 大規模GPUクラスタ向け 自動並列化フレームワーク
Cプログラミング演習 第7回 メモリ内でのデータの配置.
リモートホストの異常を検知するための GPUとの直接通信機構
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(NlogN)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似法
仮想メモリを用いた VMマイグレーションの高速化
第14章 モデルの結合 修士2年 山川佳洋.
GPUチャレンジ 2010 規定課題マニュアル ツールキットver.0.50対応版
プログラミング言語論 第五回 理工学部 情報システム工学科 新田直也.
アルゴリズムとデータ構造 補足資料4-1 「メモリと配列」
アンテナ最適化技術と電波伝搬シミュレーション技術の高速化と高精度化
研究課題名 研究背景・目的 有機エレクトロニクス材料物質の基礎電子物性の理解 2. 理論 3. 計算方法、プログラムの現状
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
導電性高分子材料の電子状態計算に現れる連立一次方程式に対する 並列直接解法の高性能化
AdaPrec (提案手法) の初回の通信精度選択
ARM 株式会社アプライド・マーケティング 大越 章司
最新 IT トレンド ARM.
ARM.
航空エンジンの翼列周り流れ解析のメニーコアシステム向け最適化
ポリゴンメッシュ (2) - 変形と簡略化- 東京大学 精密工学専攻 大竹豊 資料および授業の情報は :
先進的計算基盤システムシンポジウム SACSIS2007併設企画 マルチコアプログラミングコンテスト 「Cellスピードチャレンジ2007」
ファジィ制約充足問題への 連続領域の導入 Introducing continuous domains to
可視化用粒子データを用いたIn−Situ可視化システムのSIMD最適化
CGと形状モデリング 授業資料 1,2限: 大竹豊(東京大学) 3,4限: 俵 丈展(理化学研究所)
GW space-timeコードの大規模な有機-金属界面への適用に向けた高効率化
目的:高速QR分解ルーチンのGPUクラスタ実装
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
岩澤全規 理化学研究所 計算科学研究機構 粒子系シミュレータ研究チーム 2015年7月22日 AICS/FOCUS共催 FDPS講習会
ARM.
プログラミング 3 2 次元配列.
福岡工業大学 情報工学部 情報工学科 種田研究室 于 聡
高精細計算を実現するAMR法フレームワークの高度化 研究背景と研究目的 複数GPU間での袖領域の交換と効率化
ポインタとポインタを用いた関数定義.
社会の情報インフラストラクチャとして、高性能コンピュータおよびネットワークの重要性はますます増大しています。本研究室では、コンピュータおよびネットワークの高速化を狙いとする並列・分散情報処理の科学と技術に関する研究に取り組んでいます。効率のよいシステムの実現を目指して、下記の項目を追求しています。 ◇コンピュータアーキテクチャ.
「マイグレーションを支援する分散集合オブジェクト」
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(Nlog2N)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似
アルゴリズムとデータ構造1 2009年6月15日
第5回 プログラミングⅡ 第5回
■ 背景 ■ 目的と作業内容 分子動力学法とフェーズフィールド法の融合による 粒成長の高精度解析法の構築 jh NAH
東京都心1m解像度10km四方気流計算の可視化
ARM 株式会社アプライド・マーケティング 大越 章司
ドキュメントジェネレータ 詳細仕様 長谷川啓
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
格子ボルツマン法によるリアルタイム物質拡散シミュレーション手法の開発
オブジェクト指向言語論 第二回 知能情報学部 新田直也.
アルゴリズムとデータ構造 2010年6月17日
ARM 株式会社アプライド・マーケティング 大越 章司
背景 粒子法(SPH・MPSなど)は大規模流体シミュレーションなどで幅広く利用.一方で,手法の数学的正当化(数値解析)が不十分
プログラミング演習II 2003年12月10日(第7回) 木村巌.
大規模粒子法による大型クルーズ船の浸水解析
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング 2 静的変数.
Presentation transcript:

1 3 2 4 AMR法フレームワークの様々なアーキテクチャへ向けた発展 研究背景と研究目的 Xeon Phi対応に向けた拡張 jh170044-NAH 下川辺隆史 (東京大学) AMR法フレームワークの様々なアーキテクチャへ向けた発展 研究背景と研究目的 1 2.4 ステンシル関数の記述と実行 メモリレイアウトをフラットな構造とし、各格子ブロックで袖領域を持つことで、直交格子用のステンシル計算関数を利用可能  近年、ステンシル計算を用いた格子に基づいたシミュレーションでは、大規模なGPU計算が可能となり、広大な計算領域の場所によって求められる精度が異なる問題に有効な手法が要求されてきている。GPU計算では、GPUが得意なステンシル計算を活用しながら、高精度が必要な領域を局所的に高精細にできる適合細分化格子法(Adaptive mesh refinement; AMR法)が有効である。 struct Diffusion3d { // User-written stencil function __host__ __device__ float operator()(const float *f, const ArrayIndex &idx, float ce, float cw, float cn, float cs, float ct, float cb, float cc) { const float fn = + cc*f[idx.ix()] + ce*f[idx.ix(1,0,0)] + cw*f[idx.ix(-1,0,0)] + cn*f[idx.ix(0,1,0)] + cs*f[idx.ix(0,-1,0)] + ct*f[idx.ix(0,0,1)] + cb*f[idx.ix(0,0,-1)]; return fn; // this function updates one point. }}; (i, j, k)  本研究では、開発中のGPU/CPU向けの高生産・高性能AMRフレームワークを、近年、スパコンに搭載されてきているメニーコアプロセッサ Xeon Phi へ対応したフレームワークへ発展させる。単一の計算コードから様々なGPU/CPUに加え、Xeon Phiで高速実行できるコードを生成できるようにす る。アーキテクチャに適した最適化、自動チューニング機構を導入し、最終的に、フレームワークを完成させ、GPUスパコン、CPUスパコン、Xeon Phiを搭載したスパコン上で局所的に高精細にできるAMRアプリケーションの開発技術の確立を目 指す。 (i, j, k-1) フラットなメモリレイアウトにより複数の格子ブロックを同時に計算できる Range3D inside; // ステンシル関数の実行範囲 viewma(fn, inside, level >= 0) = funcf<float>(Diffusion3d(), ptr(f), idx(f),ce,cw,cn,cs,ct,cb,cc); Xeon Phi対応に向けた拡張 3  本年度は、開発したフレームワークが、より複雑なアプリケーションへ適用できることを実証するため、現在取り組んでいる流体中を流れながら成長する金属凝固計算にフレームワークを適用する。 Xeon Phi に有効な最適化を導入したコードをフレームワークで生成するため、 Xeon Phi に最適化された参照コードを実装し性能評価を進める。 3.1 Xeon Phi 東京大学/筑波大学の Oakforest-PACS の Intel Xeon Phi 搭載ノードを利用 Intel Xeon Phi 7250 (Knights Landing)、68コア、1.4 GHz、理論ピーク性能3.0 TFlops メモリ:MCDRAM、16 GByte, 実効490 GB/sec 開発中のGPU向けAMRフレームワークの圧縮性流体計算への適用例。緑のブロックは同一数の格子点を持つ。 3.2 Xeon Phi に有効な最適化手法の検討 OpenMPの適用とベクトル化 メモリアライメント MCDRAM(オンパッケージの高バンド幅メモリ)の利用 明示的なコア割り当て(OS割り込み処理などによるジッタの影響の回避) AMR法フレームワーク 2 AMR法フレームワークの概要を述べる。平成26、27年度課題で開発したGPU/CPUで高性能を実現するステンシル計算フレームワークを発展させ構築されている。 Xeon Phi 向けの拡散方程式のコード例 #pragma omp parallel for collapse(2) for(int k = 0; k < nz; k++) { for (int j = 0; j < ny; j++) { #pragma simd for (int i = 0; i < nx; i++) { const int ix = nx*ny*k + nx*j + i; const int ip = i == nx - 1 ? ix : ix + 1; const int im = i == 0 ? ix : ix - 1; const int jp = j == ny - 1 ? ix : ix + nx; const int jm = j == 0 ? ix : ix - nx; const int kp = k == nz - 1 ? ix : ix + nx*ny; const int km = k == 0 ? ix : ix - nx*ny; fn[ix] = cc*f[ix] + ce*f[ip] + cw*f[im] + cn*f[jp] + cs*f[jm] + ct*f[kp] + cb*f[km]; }}} 2.1 フレームワークの対象 直交格子をベースとしたブロック型のAMR 各格子点上で定義される物理変数(配列)の時間変化を計算 物理変数の時間ステップ更新は陽的でステンシル計算で行う 2.2 フレームワークの設計 フレームワークはC++で構築 ユーザは基本的にステンシル計算についてのみ記述 AMRでは様々な解像度のブロックが存在するが、ユーザはあたかも単一解像度への計算として記述できる         これを実現するため各ブロックは袖領域の格子を持つ AMRデータは木構造で管理するが、これを意識しないプログラミング 任意の数の物理変数(配列)を扱える 拡散方程式に様々な最適化を適用した場合の実行性能の変化。 (A) オリジナル、 (B) OpenMPを適用、 (C) (B) + pragma simd、 (D) (C) + Flatモード, MCDRAMの利用 (E) (D) + メモリアライメント 2.3 AMR法のデータ構造 構造格子を再帰的に細分化し、木構造で表す 物理空間ではリーフノードに格子ブロックを配置 メモリ空間では複数の格子ブロックをフラットに配置 リーフノードとメモリ上の格子ブロックは整数値(Id)で対応付け まとめと今後の研究計画 4 物理空間  前年度までに構築を進めたGPU向けAMR法フレームワークを拡張し、Xeon Phi 対応に向けた拡張を進めている。Xeon Phi に有効な最適化の検討を行なった。  今後は、 AMR法フレームワークのXeon Phi への対応に向けた要素技術の開発を進める。また、流体中を流れ成長する金属凝固計算へAMR法フレームワークを適用し、高解像度計算を実現する。最終的には、 GPU/CPU/Xeon Phiへ対応したAMRフレームワークを完成させ、これを流体中を流れ成長する金属凝固計算へ適用し、GPU/CPU/Xeon Phiを搭載したスパコンで大規模計算を目指す。 メモリ空間