![]() |
|---|
| 1Uラックマウントサーバーの筐体に4基のGPUを収めた「Tesla S1070 1Uコンピューティング・システム」。1U 1台でなんと4TFlopsの性能! それでいてGPUカード上にはファンがない |
「GPUコンピューティング」という言葉をご存じだろうか? 現代のGPUは単なる高速3Dグラフィックス処理専用プロセッサーではない。1チップあたり最大数百個もの演算ユニットで、大量の浮動小数点演算を高速でこなすプロセッサーに進化している。この能力を、(汎用CPUを複数組み合わせて実行していたような)大規模科学技術演算プログラムなどの並列処理に応用するのが、GPUコンピューティングだ。
特にNVIDIAはこの分野に傾倒している。2006年11月には同社製GPU(GeForce 8シリーズ以降)を汎用並列プロセッサーとして利用するための技術「NVIDIA CUDA」(Compute Unified Device Architecture)を発表。CUDA環境上でアプリケーションを開発するためのC言語ベースの開発環境の無償提供を行なっている。
さらに今年6月には、GeForce GTX 200シリーズと同種のコアを使用した1Uサイズのサーバー「Tesla S1070 1Uコンピューティング・システム」を発表している。GPUコンピューティングがいよいよ本格的に実現される時代になりつつある。
![]() | NVIDIA シニアプロダクトマネージャー Tesla GPUコンピューティング担当のスミット・グプタ氏 |
|---|
23日、東京港区のNVIDIAジャパンにて開かれた記者説明会では、このCUDA技術の利点と応用事例について、同社シニアプロダクトマネージャー Tesla GPUコンピューティング担当のスミット・グプタ(Sumit Gupta)氏による説明が行なわれた。
生命科学、医療からデザイン、金融まで 広がりを見せるCUDA
GPUコンピューティングの利点は、従来なら大規模なサーバクラスターで実行していたような科学技術演算プログラムを、はるかに小規模な、場合によってはデスクトップサイズのシステムで実行できる点にある。導入コストはもちろん、電気代や土地代など、大規模サーバーの導入にかかるコストを大きく低減できる。
グプタ氏はプレゼンテーションの中で、いくつかの事例を挙げてこれを説明した。例えばベルギーのアントワープ大学では、512コア分のCPU(256ノード)を使ったクラスターシステムを、1台のケースに4枚のGPUカード(1カードに2つのGPUを搭載)を装着したデスクトップシステム 1台に置き換えてしまったという。アントワープ大学以外でも、特に米国の大学ではCUDA対応のGPUを使ったクラスターシステムを導入する事例が相次いでいるとのことだ。
![]() | ![]() | |
|---|---|---|
| アントワープ大学での導入事例(NVIDIAの資料より引用、以下同)。512CPUを使ったシステムが、GPU 4枚差しのタワー型パソコン1台に収まったという | 100TFlops級のデータセンターを、汎用CPUとTesla S1070で構成した場合の比較。大幅に規模が小さくできるので、コストと消費電力は激減する |
最新のTesla S1070では、1Uの筐体に4枚の「Tesla T10」プロセッサーを搭載。合計960個の演算器(各コア240個)により、最大4TFlops(単精度浮動小数点演算の場合)の演算能力を実現しているという。1枚のPCI Expressカードタイプの「Tesla C1060 コンピューティングプロセッサ」でも、957GFlopsの性能を実現している。
![]() | シングルカードタイプの「Tesla C1060 コンピューティングプロセッサ」 |
|---|
消費電力も低い。S1070で約700W、カード1枚のC1060では160Wで済むという。同じ演算性能を、一般的なx86系CPUで実現しようとしても、到底この消費電力では収まらない。性能/消費電力比では革命的と言ってもいいポテンシャルを持っている。
グプタ氏は従来1429個の汎用CPUを使ったサーバーを、25台のTesla S1070で置き換えることで、10倍の価格性能比と21倍の性能/消費電力比を実現すると述べる。
![]() | ![]() | |
|---|---|---|
| 汎用CPUではマルチプロセッサ環境にしてもパフォーマンス向上の割合は低いが、CUDA対応GPUならスケーラブルな性能向上が可能とするグラフ | 従来のGPU(G80、GeForce 8800世代)と最新のTesla T10Pの性能比較。いずれも倍以上の性能差を示している |
![]() | ![]() | |
|---|---|---|
| 金融分野向けアプリケーションを、汎用CPUと「Tesla S870」で実行した性能とコストの比較 | 「Folding@Home」を汎用CPUやPS3、Teslaベースシステムなどで実行した性能比較。ちなみに「Red GPU」はAMD GPU キャプ2 |
さらにCUDAで重要なのは、専用プロセッサーだけでなく、GeForce 8/9/GTX 200シリーズやパソコン向けGPUや、同級のグラフィックスワークステーション向けGPU「Quadro」シリーズなどでも、同じCUDAベースのプログラムを開発・実行できる点にある。
つまり、巨大なCUDAクラスターシステムで動かすプログラムを、GeForce GPUの搭載されたノートパソコンで開発することも可能となる。コストだけでなく、開発に関わる敷居の低さも大きな利点だ。GPUの世代によるハードウェア面の差はCUDAのライブラリーが隠蔽してくれるため、汎用CPU向けにプログラムを書くのと同じく、GPUの世代を意識してプログラムを変更する必要はない。
![]() | CUDAベース開発環境の構成図。CUDAのライブラリーとコンパイラーなどの上で、C言語ベースのCUDAプログラムを開発・実行する |
|---|
開発環境自体もWindows、Linux、Mac OS X用が用意されており、プラットフォームに依存しない開発が可能となっているのも利点だ。
























