第三世代NVIDIA GPUを用いた高性能固有値ソルバの開発

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 のコード実行後にプログラム終了前に,
大規模な三角 Toeplitz 線形方 程式の高速解法とその応用 ○ 安村 修一(法政大学 4 年) 李 磊(法政大学) 日本応用数理学会「行列・固有値の解法とその応用」研究部会 第6回研究会.
Level-3 BLASに基づく特異値分解 アルゴリズムのSMP上での性能
CPU/GPUを協調利用する ソフトウェア開発環境
在庫管理問題の動的計画法による 解法とCUDA を用いた高速化
CPUとGPUの 性能比較 -行列計算およびN体問題を用いて-
計算理工学基礎 「ハイパフォーマンスコンピューティングの基礎」
※ 対称密行列の固有値分解は特異値分解と共通点が多い
Intel AVX命令を用いた並列FFTの実現と評価
Fill-in LevelつきIC分解による 前処理について
A Q R QR分解とは? → × ◆QR分解 QTQ = I (単位行列) ◆応用例 ◆主な計算方法 n m 今回はこの方法に注目
三重対角化アルゴリズムの性能評価 早戸拓也・廣田悠輔.
全体ミーティング (4/25) 村田雅之.
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
Finger patternのブロック化による 陰的wavelet近似逆行列前処理の 高速化
対角マトリックスを用いた3次元剛塑性有限要素法の並列計算 対角マトリックスを用いた剛塑性有限要素法
AllReduce アルゴリズムによる QR 分解の精度について
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
はじめてのCUDA 〜CUDA事始め〜 はるにゃん Lv1くまー.
2. 共有メモリ型並列計算機での特異値分解の高速化
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
各種PC クラスタの性能評価 同志社大学 工学部 廣安 知之 三木 光範 谷村 勇輔.
PCクラスタ上での 連立一次方程式の解の精度保証
MATLAB測位プログラミングの 基礎とGT (1)
半正定値計画問題に対する 行列補完理論の高速実装
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
スパコンとJLDG HEPの計算環境 HEPnet-J
応用数理工学特論 第5回 計算理工学専攻 張研究室 山本有作.
演算/メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
正方行列向け特異値分解の CUDAによる高速化
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
アクセラレータを用いた 大規模へテロ環境における Linpack
文献名 “Performance Tuning of a CFD Code on the Earth Simulator”
現実の有限密度QCDの定性的な振る舞いに
ステンシル計算を対象とした 大規模GPUクラスタ向け 自動並列化フレームワーク
非対称行列向けマルチシフトQR法の 性能予測方式
高速剰余算アルゴリズムとそのハードウェア実装についての研究
Graphic Card を使った 高性能計算
格子QCDにおけるGPU計算 広大理 尾崎裕介 共同研究者 石川健一.
Level-3 BLASに基づく二重対角化 アルゴリズムとその性能評価
PGIコンパイラーによる ディレクティブベースのGPGPU
AMR法フレームワークの様々なアーキテクチャへ向けた発展 研究背景と研究目的 Xeon Phi対応に向けた拡張
はじめてのCUDA 〜CUDA事始め〜 はるにゃん Lv1くまー.
東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU
リモートホストの異常を検知するための GPUとの直接通信機構
HLとEHLモデルでの圧力分布と軸受の変形分布
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(NlogN)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似法
アルゴリズムとデータ構造 補足資料5-2 「サンプルプログラムsetop.c」
導電性高分子材料の電子状態計算に現れる連立一次方程式に対する 並列直接解法の高性能化
AdaPrec (提案手法) の初回の通信精度選択
航空エンジンの翼列周り流れ解析のメニーコアシステム向け最適化
スーパーコンピュータ「京」 理化学研究所 計算科学研究センター
GPUを用いた疎行列の格納形式による行列ベクトル積の評価
目的:高速QR分解ルーチンのGPUクラスタ実装
岩澤全規 理化学研究所 計算科学研究機構 粒子系シミュレータ研究チーム 2015年7月22日 AICS/FOCUS共催 FDPS講習会
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(Nlog2N)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似
メモリ使用量の少ないGCR法の提案 東京大学理学部情報科学科 工藤 誠 東京大学情報基盤センター 黒田 久泰
密行列固有値解法の最近の発展 (I) - Multiple Relatively Robust Representation アルゴリズム - 2004年11月26日 名古屋大学 計算理工学専攻 山本有作 日立製作所の山本有作です。 「~」について発表いたします。
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
Mathematicaによる固有値計算の高速化 Eigenvalue calculation speed by Mathematica
キャッシュマシン向け三重対角化 アルゴリズムの性能予測方式
長方行列向け特異値分解の 浮動小数点コプロセッサによる 高速化
密行列固有値解法の最近の発展(II) ー マルチシフトQR法 ー
目次 はじめに 収束性理論解析 数値実験 まとめ 特異値計算のための dqds 法 シフトによる収束の加速
分散メモリ型並列計算機上での行列演算の並列化
大規模粒子法による大型クルーズ船の浸水解析
2008年 7月17日 応用数理工学特論 期末発表 鈴木綾華,程飛
Presentation transcript:

第三世代NVIDIA GPUを用いた高性能固有値ソルバの開発 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 第三世代NVIDIA GPUを用いた高性能固有値ソルバの開発 今村俊幸 (Toshiyuki Imamura) 1,2) 1) 理化学研究所 計算科学研究機構 (RIKEN, Advanced Institute for Computational Science) 2) CREST/JST 本研究はJST CREST/ EigenExa チームでの共同研究成果を含みます。特に、 JAEA山田氏・町田氏ならびに電通大学生に感謝します。 ※ GTC Japan 2013, PPAM2013 Warsawでの講演のエンハンス版です。

「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 Outline 概要 固有値ソルバの開発背景 EigenExa と Eigen-G GPU実装方法 CUDA BLAS 自動チューニング Roadmap Eigen-G 開発と最新結果 Fermi Core (Tesla C2050, GeForce GTX580) Kepler Core (Tesla K20c) 纏め

「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 1.概要 固有値ソルバの開発背景

「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 国産固有値ソルバEigenExaの開発 量子シミュレーション等の大規模科学シミュレーションコードで必要となる「大規模」&「高性能」&「高並列」固有値ソルバEigenKの京等のスパコン上での“性能チューニング”を実施(H23~H24)。 「EigenK」は矢川CREST(マルチ・フィジクス)の産物→米澤CREST(ポストペタスケール)で「京」実機上の“チューニングの知見”と“階層化アルゴリズム”により、EigenKの発展形である“ポストペタ機”向け「EigenExa」を開発(~H27)。 Y.Hasegawa, et al @AICS.RIKEN, GBP winner, SC2011 K computer Silicon nanowire

高性能・高品質な密行列向けソルバの必要性 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 密行列固有値解法 ゼロ要素を落とし,大規模問題での使用メモリ量・演算量を削減 反復法が基本 疎行列ベクトル積(spMV)が性能を左右 固有値計算 疎行列解法 ・超大規模問題 ・少数固有モード ・特定区間モード ・最小・最大モード 密行列解法 ・全固有値 ・全固有対 ・全体の数分の1のモード 疎行列解法の内部解法に 密行列解法を使用 行列の全要素(NxN)をゼロと考えずに扱う 直接的解法 メモリ使用量O(N^2),演算量O(N^3) 高性能・高品質な密行列向けソルバの必要性

「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 世界の競争相手 ELPA 1step vs 2stepの議論:1stepが高速の場合が多い 三重対角 ⇒ 帯の逆変換部分は未だよい実装できず・・・実装レベルでは困難か? B/Qでアセンブラチューニングの方向&GPU化へ DPLASMA PLASMA, MAGMAでの2stepスキーム 1nodeはスケーラブルに動作 DAGタスクスケジューリング Eigen-Exa 新1stepスキーム採用 京において2^16コアまでの動作確認・通信コストの認識 動作&通信モデル構築 階層化アルゴリズム、自動チューニングの取り込み GPU版も準備へ ScaLAPACK ver 2.0.2 枠組みに大きな変化なし MPIがBLACSの標準に ルーチンの強化: 非対称行列ソルバー(PDHSEQR) 新ルーチンMRRR(PDSYEVR)

「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 国際競争力のある新規計算スキームの採用 tridiagonal eigenpairs     ScaLAPACK 1step Scheme     DPLASMA     ELPA 2step Scheme dense eigenpairs (Byte/Flopが低い) 高性能実装が困難 全固有ベクトルを求める場合は1stepと大差ないという報告多数 新1step Scheme band eigenpairs     Eigen-Exa

「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 2.Eigen-Gへの道 アルゴリズムとGPU実装方法 CUDA BLAS 自動チューニング

「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 GPU環境での線形計算ソフトウェア CUDA,OpenCL,OpenACCなどの言語を活用して、 GPUに高負荷部分をオフロードすることで高性能化を狙う 先行研究 CULA (EM Photonics) MAGMA (テネシー大学) 新規法: 行列積を中心に GPUで非同期計算 それ以外は CPUでマルチスレッド並列 ベクトルデータのみホスト・デバイス間転送 三重対格化 固有値計算 逆変換 AMD Opteron six-core NVIDIA GTXxxx dgemm, dsymv dgemm 非同期通信 offload 従来法 三重対格化 固有値計算 逆変換

Straightforward CUDA code writing March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 Straightforward CUDA code writing 高負荷関数単位でoffload 線形計算ならば、matrix,vector単位での疎粒度タスク CUDA4以降のマルチカーネル対応効率的なコア利用 十分に最適化されたGPU BLASが欲しい!! 新規法: 行列積を中心に GPUで非同期計算 それ以外は CPUでマルチスレッド並列 ベクトルデータのみホスト・デバイス間転送 三重対格化 固有値計算 逆変換 AMD Opteron six-core NVIDIA GTXxxx dgemm, dsymv dgemm 非同期通信 offload 従来法 三重対格化 固有値計算 逆変換

「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 GPUの基本性能調査 【その1】 CUBLAS3.1 vs MAGMABLAS0.2 vs MKL 11(Intel BLAS for CPU) CALL DGEMM(‘N,’,’N’,M,N,K,alpha,A,LDA,B,LDB,beta,C,LDC) CALL CUBLAS_DGEMM(‘N,’,’N’,M,N,K,alpha,A,LDA,B,LDB,beta,C,LDC) DGEMM (行列行列積) *通常最速を記録し、 ベンチマークに利用される *TeslaC2050では 300GFLOPSに達する *旧式GTX285でも Corei7より高速で SandyBridgeに匹敵

「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 GPUの基本性能調査 【その2】 CUBLAS3.1 vs MAGMABLAS0.2 vs MKL 11(Intel BLAS for CPU) MYBLASはGTX285とTeslaC2050用に最適化した実装(実はかなり古い実装です) DGEMV (行列ベクトル積) *メモリバンド幅に左右 広帯域のGPUがCPUを凌ぐ *TeslaC2050 vs GTX285 ではGTX285が高速 *N<500 旧程度であれば CPUも勝負できる。 Corei7とSandyBridgeが同等 な理由はメモリバンド幅 が同等なことによる

GPUは更新される (grade up every year) March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 GPUは更新される (grade up every year) GPU showcase of flagship cards Tesla C2075 (Fermi) GTX580 Tesla K20c (Kepler, GK110) GTX TITAN 448 CUDA cores 512 CUDA cores 2496 CUDA cores 2688 CUDA cores 6GB GDDR5,144[GB/s] 1.5GB GDDR5,192[GB/s] 5GB GDDR5, 208[GB/s] 6GB GDDR5, 288[GB/s] 515GFLOPS(DP) 790?GFLOPS(DP) 1.17TFLOPS(DP) 1.31TFLOPS(DP) 1.03TFLOPS(SP) 1.58TFLOPS(SP) 3.52TFLOPS(SP) 4.50TFLOPS(SP) Photos are from http://www.elsa-jp.co.jp/products/.

CUDA BLAS Performance on the latest GPU cards (L: K20C, R: GTX580) March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 CUDA BLAS Performance on the latest GPU cards (L: K20C, R: GTX580)

CUDA BLAS kernelの例 (4 parameters) March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 CUDA BLAS kernelの例 (4 parameters) 組合せ:14*5*5*8=2800通り UMAX={1,2,…,14} //========={ begin macro definitions }==========// _M_( 0); _M_( 1); _M_( 2); _M_( 3); \ #pragma unroll 1 #define _L_(x) \ _M_( 4); _M_( 5); _M_( 6); _M_( 7); \ if ( UMAX >= (x)+1 ) (ak = (TYPE *)ak##x, a##x = *ak, ak##x += BLOCK_SIZE) _M_( 8); _M_( 9); _M_(10); _M_(11); \ _M_(12); _M_(13); if ( UNROLL == 2 ) { #define _M_(x) \     #pragma unroll 2 if ( UMAX >= (x)+1 ) s##x = (TYPE)0 for ( int itr=0; itr<ITR_COUNT+SPLIT_LOOP; itr++ ) { #define _N_(x) \ i_s_0 = I_S[itr]; i_e_0 = I_E[itr]; if ( UMAX >= (x)+1 ) s##x += a##x * xx0 if ( i_s_0 < i_e_0 ) { if ( UNROLL == 4 ) { #define _P_(x) \ #pragma unroll 4 if ( UMAX >= (x)+1 ) sum(x)     long Lda = (long)lda; #define _Q_(x) \ int mask = (itr == 1) ? ( i_s_0+local_id < n2 ) : 1; if ( UMAX >= (x)+1 ) ak##x = ak0 + Lda * (x) int i_ee_0 = (itr == 1) ? i_s_0+BLOCK_SIZE : i_e_0; if ( UNROLL == 8 ) { #pragma unroll 8 #define BODY_FOR_BEGIN \ int dx = 0; for (int i=i_s_0; i<i_ee_0; i+=BLOCK_SIZE) { \ TYPE xx0 = mask ? xx((i+dx)) : (TYPE)0; \ TYPE *ak0 = (TYPE *) AK0 + i_s_0; TYPE *ak1, *ak2, *ak3; TYPE a0, a1, a2, a3, a4, a5, a6, a7; \ TYPE *ak4, *ak5, *ak6, *ak7; TYPE a8, a9, a10, a11, a12, a13; TYPE *ak8, *ak9, *ak10, *ak11; #define BODY_FOR_END \ TYPE *ak12, *ak13; _P_( 0); _P_( 1); _P_( 2); _P_( 3); } _P_( 4); _P_( 5); _P_( 6); _P_( 7); #define BODY_exe_1 \ if ( !mask ) { _P_( 8); _P_( 9); _P_(10); _P_(11); _L_( 0); _L_( 1); _L_( 2); _L_( 3); \ dx = n2 - i_s_0; _P_(12); _P_(13); _L_( 4); _L_( 5); _L_( 6); _L_( 7); \ ak0 -= local_id; _L_( 8); _L_( 9); _L_(10); _L_(11); \ dx -= local_id; __syncthreads(); _L_(12); _L_(13); #define BODY_exe_2 \ int local_z = local_id + threadIdx.y * BLOCK_SIZE; _N_( 0); _N_( 1); _N_( 2); _N_( 3); \ _Q_( 1); _Q_( 2); _Q_( 3); delta += local_z; _N_( 4); _N_( 5); _N_( 6); _N_( 7); \ _Q_( 4); _Q_( 5); _Q_( 6); _Q_( 7); if ( delta < UMAX_VMAX ) { _N_( 8); _N_( 9); _N_(10); _N_(11); \ _Q_( 8); _Q_( 9); _Q_(10); _Q_(11); y += (row_ + local_z); _N_(12); _N_(13); _Q_(12); _Q_(13); if ( beta == (TYPE)0 ) #define BODY_32 _MACRO_WRAP_ ( \ s0 = beta; BODY_FOR_BEGIN \ volatile TYPE *ak; else BODY_exe_1 \ s0 = (*y) * beta; BODY_exe_2 \ if ( UNROLL == 0 ) { *y = s0 + alpha * w[delta]; BODY_FOR_END \ #pragma unroll ) BODY_32; //========={ end macro definitions }==========// if ( UNROLL == 1 ) { BLOCK_SIZE={32,64,96,128,192} VMAX={1,2,3,4,…,8} UNROLL={0,1,2,4,8}

「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 3.Eigen-G 現状 スタンドアロン環境 Fermi Core (Tesla C2050, GeForce GTX580) Kepler Core (Tesla K20c)

「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 固有値計算(全対角化)に要する時間 K20c+Corei7 3930(3.2GHz, 6cores, AVX) GTX580+Corei7 3930K(3.2GHz, 6cores, AVX) C2050+Corei7 840(2.8GHz, 4cores, SSE4) Alpha版の性能, beta版は20%ほど高速 Version: MAGMA 1.4.0

「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 固有値計算(全対角化)に要する時間 Eigen-G-alpha, K20c+Corei7 3930(3.2GHz, 6cores, AVX) GTX580+Corei7 3930K(3.2GHz, 6cores, AVX) C2050+Corei7 840(2.8GHz, 4cores, SSE4) Alpha版の性能, beta版は20%ほど高速 FASTER

「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 性能比較(N^3/timeで比較) K20c+Corei7 3930(3.2GHz, 6cores, AVX) GTX580+Corei7 3930K(3.2GHz, 6cores, AVX) C2050+Corei7 840(2.8GHz, 4cores, SSE4) Alpha版の性能, beta版は20%ほど高速

「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 性能比較(N^3/timeで比較) Eigen-G-alpha, K20c+Corei7 3930(3.2GHz, 6cores, AVX) GTX580+Corei7 3930K(3.2GHz, 6cores, AVX) C2050+Corei7 840(2.8GHz, 4cores, SSE4) x1.75 Alpha版の性能, beta版は20%ほど高速 x2.24 FASTER

「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 現結果が示すこと EigenG > MAGMA > LAPACK 意外にCPUの性能が高い。EigenGはCPU+GPU同時利用している。 倍精度計算はDGEMMでも 1000GFLOPS vs 153GFLOPS = 6:1 高速処理可能なDGEMM部分が対象であり、計算時間には陽に見えにくい 現実装はBLAS(DGEMM, DSYMV)のみGPUにoffload MAGMAは他の部分もoffloadしている MAGMA1.4betaでは更に優れた実装も出てきている(2step algorithm) CUDAで書かかれた部分を増やしたい CPUGPUデータ移動も減らしたいor非同期化 EigenGは性能飽和していない CUDA BLASの性能向上の可能性 省overheadな実装。特にDSYMV Multi-head GPUでの実装!

「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 March, 11. 2014 「コンピューティクスによる物質デザイン: 複合相関と非平衡ダイナミックス」, 平成25年度第2回研究会 THANK YOU