• 検索結果がありません。

NVIDIA Tesla K20/K20X GPU アクセラレータ アプリケーション パフォーマンス テクニカル ブリーフ

N/A
N/A
Protected

Academic year: 2021

シェア "NVIDIA Tesla K20/K20X GPU アクセラレータ アプリケーション パフォーマンス テクニカル ブリーフ"

Copied!
7
0
0

読み込み中.... (全文を見る)

全文

(1)

NVIDIA Tesla® K20/K20X GPU アクセラレータ

アプリケーション・パフォーマンス・テクニカル・ブリーフ

(2)

NVIDIA®は Fermi アーキテクチャ GPU の発表により、パフォーマンス、エネルギー効率の両 面で飛躍的な性能向上を実現し、ハイパフォーマンスコンピューティング(HPC)の世界に変革を もたらしました。また、実際に GPU の性能を効率的に引き出すための並列プログラミング・モデ ル、CUDA を提供し、C、C++、Fortran といった業界標準のプログラミング言語を基に拡張命令 を追加し、容易な並列プログラミング環境を実現してきました。 そして今、HPC 業界をさらに進化させるアクセラレータとして、Tesla® K20/K20X GPU が新 たに登場しました。革新的な Kepler™アーキテクチャを採用し、コンピューティングのエネルギー 効率の基準値を書き換えるとともに、SMX、Hyper-Q、ダイナミック並列処理などの画期的なテク ノロジを搭載し、アプリケーションのパフォーマンスを 10 倍のスケールまで高めることができま す。

SMX:消費電力あたりのパフォーマンスが 3 倍

新登場の SMX は革新的なアーキテクチャに基づき、高効率で高いパフォーマンスが発揮できる ように根本から再設計されました。SMX を採用した Tesla K20/K20X アクセラレータは、業界最 高クラスの演算性能を備え、Tesla K20X の場合には、浮動小数点演算性能の理論値が単精度で 3.95 テラフロップス、倍精度で 1.31 テラフロップスに及びます。計算効率の面でも、行列乗算の 例では 93%と過去に類を見ないレベルを達成しています。

Hyper-Q:従来の MPI コードを簡単にスピードアップ

従来の MPI コードは基本的に CPU コア用とし て書かれていて、殆どの場合 GPU をフルに利用 できるだけの作業量が生成されません。各 MPI プロセスに、より多くの作業負荷を割り振るよう にコードを書き換えれば GPU をフル活用するこ とも可能ですが、それは開発者にとって大きな負 担になります。Hyper-Q の機能により、小規模 から中規模の作業負荷を持つ MPI プロセスを最 大で 32 個、ひとつの GPU 上で同時処理させる ことが可能で、効率化のための開発者の負担が大 幅に削減されます。 ここでは、GPU では取り扱いにくいとされて いた CP2K というコードを実例として、Hyper-Q の力をご紹介しましょう。CP2K は、広く利用さ れている MPI ベースの量子化学コードです。 Hyper-Q を使用すると、ひとつの共有 GPU で 16 本の MPI ランクを実行した場合、そのパフォ 1.5 3.0 1.0 0.5 0.0 2.0 1.0 0.0 Xeon E5-2687W Tesla M2090

(Fermi) Tesla K20X Xeon E5-2687W Tesla M2090 (Fermi) Tesla K20X

倍精度パフォーマンス (DGEMM) 単精度パフォーマンス (SGEMM) テラフロップ テラフロップ CP2K-量子化学 K20(Hyper-Q オン) K20(Hyper-Q オフ) GPU 数 K20 GP U 2個 対するスピードアップ 0 倍 5 倍 10 倍 15 倍 20 倍 0 5 10 15 20

2.5 倍

0.17 0.43 1.22 0.35 0.89 2.9

(3)

ダイナミック並列処理:並列プログラミングをシンプルに

ダイナミック並列処理では、GPU が CUDA カ ーネルの実行時に、その実行中のカーネル内部か ら GPU 自身の新たなタスクを生成するという方 法で、CPU に頼らず、自律的に GPU を動作させ ることができます。シンプルなコンセプトですが、 とてもパワフルな手法で、従来難しいと言われて いた分割統治法などのようなアルゴリズムで GPU プログラミングを容易にし、大きな効果を発 揮します。 よく知られたソートのアルゴリズムである「ク イックソート」にダイナミック並列処理を適用し、 その能力を見てみましょう。結果として、コード の行数を半減させた上に、パフォーマンスを倍増 することができます。

科学技術計算を最大で 10 倍に高速化

現在、GPU アクセラレーションの高性能を享受しているアプリケーションは数百種類もあり、科 学や工学の広い分野がカバーされていますが、その数はされに増え続けています。過去 1 年間だけ でも、CUDA で高速化されたアプリケーションの数は 60%も増加しました。

Sandy Bridge CPU 搭載のサーバに Tesla K20 GPU アクセラレータを追加すると、CUDA 対応 アプリケーションのスピードは一般的に 10 倍程度加速されます。さまざまな科学分野の代表的な アプリケーションについて、単一ノード上のパフォーマンスをベンチマークした結果を以下に示し ます。

CPU システム:デュアルソケット E5-2687w、GPU システム:デュアルソケット E5-2687w+Tesla K20X GPU×2 個 * MATLAB の結果発表、i7-2600K CPU 1 個と Tesla K20 GPU 1 個を比較

0 5 10 問題サイズ(百万要素) クイックソート

2 倍

0 倍 1 倍 2 倍 3 倍 4 倍 相対的なソートパフォーマンス

Sandy Bridge CPU に対する Tesla K20X のパフォーマンス

数値計算 物理学 地球科学 分子動力学 MATLAB (FFT)* Chroma SPECFEM3D AMBER 0.0 倍 5.0 倍 10.0 倍 15.0 倍 20.0 倍 動的並列処理なし 動的並列処理あり

(4)

前述のアプリケーションのうち、3 種類についてもう少し詳しく見てみましょう。

Chroma:高エネルギー、核物理学

Chroma は、物質とエネルギーの基本的な性質について理解をより深めるため、物理学の標準理 論と異なる理論を検証する際によく用いられます。次のグラフは、2ソケット CPU に Tesla K20X GPU アクセラレータを 1 個あるいは 2 個追加した場合に、パフォーマンスがどの程度上昇するの かをまとめたものです。

SPECFEM3D:地球科学

SPECFEM3D は、地震活動の原因となる現象について深く理解し、潜在的な様々な危険性につい て調査や評価を行い、その構造的な対策を構築するために用いられます。このコードは GPU に対 応する前の 2008 年に、ゴードン・ベル賞を授与されています。つまり、もともと高度にチューニ ングされていたコードを GPU でさらに高速化したわけです。

格子規模 24

3

x128、BiCSTAB ソルバ

0 倍 4 倍 8 倍 12 倍 16 倍 20 倍 CPUx 2 に対す る相対 性能

CPUx2 M2090x1 CPUx2+ CPUx2+

M2090x2 CPUx2+ K20Xx1 CPUx2+ K20Xx2

CPU システム:2 ソケット E5-2687w、GPU システム:2ソケット E5-2687w+Tesla K20X GPU×2 個(64GB/ノード)

1.0 倍

7.5 倍

14.6 倍

9.4 倍

(5)

AMBER:分子動力学

分子動力学(MD)は、フェムト秒からミリ秒という時間スケールで、生物学的あるいは化学的 な系の原子レベルでの振る舞いを研究することを可能にします。MD シミュレーションに対応した ソフトウェアパッケージは数多くありますが、そのなかでも特によく利用されているのが AMBER です。AMBER を、Tesla K20X GPU アクセラレータで動作させると、Tesla M2090 GPU に対し て最大で 80%程度も処理が高速になります。

CPUx2 M2090x1 CPUx2+ M2090x2 CPUx2+ CPUx2+ K20Xx1 CPUx2+ K20Xx2

256x128 3D 空間離散化

CP Ux 2 に対 る相 性能 0 倍 4 倍 8 倍 12 倍 16 倍 1.0 倍 5.4 倍 9.3 倍 8.8 倍 12.8 倍

CPU システム:2 ソケット E5-2687w、GPU システム:2 ソケット E5-2687w+Tesla K20X GPU×2 個(64GB/ノード)

CPUx2 M2090x1 CPUx2+ M2090x2 CPUx2+ CPUx2+ K20Xx1 CPUx2+ K20Xx2

SPFP-JAC_production_NVE

CPUx 2 に対す る相対 性能 0 倍 1.0 倍 3.4 倍 4.6 倍 7.1 倍 8.2 倍

CPU システム:2 ソケット E5-2687w、GPU システム:2 ソケット E5-2687w+Tesla K20X GPU×2 個(64GB/ノード) 2 倍

4 倍 6 倍 8 倍 10 倍

(6)

大規模クラスタでの GPU の利用とアプリケーションの高速化

世界各地にある大規模クラスタ・システムでも、GPU を導入しトータルの処理能力を向上させよ うという動きが広がっています。Top500 リストにランキングされたシステムのうち、GPU による 高速化に対応したシステムは、2011 年 6 月から 2012 年 6 月で 400%も増加しました。 GPU による高速化に対応しているか否かにかかわらず、ノード数の増加に対してスケーリングす るコードを設計することは難しい作業になります。GPU による高速化に対応したアプリケーション は、ひとつのノードに多くの並列作業を割り当てて並列度を高め、MPI を使って GPU の作業負荷 を配分することができるため、多くの場合に、スケーリングしやすくなります。

WL-LSMS:材料科学

WL-LSMS は、原子レベルやナノスケールで物質の磁気的な振る舞いをシミュレーションするア プリケーションで、高効率な電動モーター、発電機、磁気記憶装置に必要となる軽量で強力な磁気 部品の設計に使用されます。2009 年にゴードン・ベル賞を授与されたことからもわかるように、 WL-LSMS は、もともと高度にチューニングされていたコードであり、GPU によりさらに高速化さ れたわけです。

QMCPACK:材料科学

QMCPACK は、物性物理学、材料科学、化学の分野で、従来よりも物理的精度の高い手法で新た な知見を得ようと考える研究者によく使われるアプリケーションです。取り扱う電子の数が 200 あるいはそれ以上に及ぶ大きな系についてシミュレーションを行う場合、ひとつのシミュレーショ ンを行うために要する時間は、従来は 12 時間以上必要でしたが、GPU の利用により 3 時間程度に 短縮できるようになりました。 0

鉄(Fe)32 原子からなるアンサンブル

シングル C P U のみのノード に対する相対速度 0 倍 10 倍

6 倍

Cray XK7 -Tesla K20X Cray XK7- CPU ソケット数 20 40 60 80 100 120 140 160 180 200 20 倍 30 倍 40 倍

(7)

NAMD:分子動力学

NAMD は Charm++並列プログラミング・モデルで書かれた分子動力学のシミュレーションパ ッケージで、無償で利用することができます。名前の由来は、“Not (just) Another Molecular Dynamics(単なる分子動力学プログラムではない)”です。NAMD は並列処理の効率が高く、大 規模な系(数百万原子)のシミュレーションによく用いられます。NAMD もまた、GPU を搭載し たノードの数に対して、トータルのパフォーマンスがスケーリングしやすいという特長があります。

Tesla K20/K20X GPU アクセラレータに関するより詳しい情報は、www.nvidia.co.jp/teslaをご 覧ください。 0

3x3x1 のグラファイト

計算ノード数 500 1000

4 倍

Cray XK7 -Tesla K20X Cray XK7- CPU 1500 2000 2500 1500000 1000000 500000 0 計算効率

100x STMV

計算ノード数 128 256

4 倍

Cray XK7 -Tesla K20X Cray XK7- CPU 512 768 0.0 ns/日 0.0 0.0 0.0 0.0

参照

関連したドキュメント

ImproV allows the users to mix multiple videos and to combine multiple video effects on VJing arbitrary by data flow editor. We employ a unified data type, we call, Video Type which

推計方法や対象の違いはあるが、日本銀行 の各支店が調査する NHK の大河ドラマの舞 台となった地域での経済効果が軒並み数百億

データベースには,1900 年以降に発生した 2 万 2 千件以上の世界中の大規模災 害の情報がある

(1982)第 14 項に定められていた優越的地位の濫用は第 2 条第 9 項第 5

(2号機) 段階的な 取り出し

(2号機) 段階的な 取り出し

群発地震が白山直下 で発生しました。10 月の地震の最大マグ ニチュードは 4 クラ スで、ここ25年間で は最大規模のもので

 2014年夏にあったイスラエルによるガザへの軍事侵