GPUコンピューティングの歴史とCUDAの誕生
NVIDIA Tesla GPUスパコン、TOP500リスト2位に!!
スーパー・コンピュータ(スパコン)の高性能ランキング「TOP500」を運営するTOP500.Orgは2010年5月28日、NVIDIA Teslaを搭載したスパコンがTOP500の2位になったことを発表しました(ニュースURL)。これを公式に反映した2010年6月のTOP500リストは、ドイツのハンブルグで開催されたカンファレンス「ISC' 10」(International Supercomputing Conference)で、2010年5月31日に提示されました。
今回のニュースは世界のHPC(High Performance Computing)業界を駆け巡りましたが、GPUスパコンがTOP500の上位に入るという事実は、2009年9月に米国のサンノゼで開催された「NVIDIA GPU Technology Conference」において次世代GPUアーキテクチャ"Fermi"が発表された時点で、ある程度予測できたことでもあります。
さかのぼれば、2008年11月に東京工業大学のスパコン「TSUBAME 1.2」が、既存のシステムへの追加アクセラレータとしてTesla GPUを680個導入し、GPUスパコンとしては世界で初めてTOP500の上位にランクインしました(当時29位)。TSUBAME 1.2は、GPUコンピューティングがHPC業界で注目を集める大きなきっかけになったとともに、TOP500の歴史においても1つのターニング・ポイントになりました。
2008年12月、東京工業大学 学術国際情報センターにて。 東工大 松岡聡教授(左手前)、米NVIDIA CEO兼社長ジェン・スン・ファン(右手前) |
図1: Tesla T10 GPUを680個搭載したTSUBAME1.2 |
近い将来を展望すると、東京工業大学が「TSUBAME 2.0」の導入開発をすでに表明しています。Fermi世代のGPUを4000個以上使うことで、世界最高クラスとなる2.4ペタFLOPSを実現する予定です。2010年11月には、米国のニュー・オリンズでスパコンのカンファレンス「SC10」が開催されます。ここでの上位ランク・インを目指して、世界各地で"TSUBAME"型のGPUスパコンが産声を挙げることが予想されます。
なぜGPUでコンピューティングなのか
GPUは、十数年前まではコンピュータ表示出力専用のLSIやASIC(特定用途向けIC)として、グラフィックス・コントローラやGUIアクセラレータといった名称で呼ばれていました。これがなぜGPUと呼ばれるようになり、汎用計算機能を備えるようになり、CPUを上回る浮動小数点演算能力を身に付け、スーパー・コンピュータに利用されるまでに発展したのでしょうか。
米NVIDIA(以下、NVIDIA)のグラフィックス製品を例に、簡単にGPUの歴史を振り返ってみましょう。
NVIDIA GPUの歴史
- 1995
- NVIDIA初のグラフィックス・アクセラレータ 「NV1」を発表
- 1996
- Direct 3Dのサポートにより、ゲーム開発業界での重要な役割を確立
- 1999
- 「NVIDIA Quadro」「GeForce 256」を発表し、GPUと命名
- DirectX 7対応、T&L(座標変換&ライティング)機能実装
- 2001
- 業界初のプログラマブルGPU「GeForce3」を発表
- DirectX 8対応、Vertexシェーダ/Pixelシェーダ搭載
- 2004
- 「GeForce 6800」を発表
- DirectX 9、Shader Model 3.0対応
- 2006
- コンピューティング統合開発環境「CUDA」を発表、GPU コンピューティング革命がスタート
- 「GeForce 8800」を発表、DirectX 10、Shader Model 4.0対応
- 2008
- 「GeForce GTX 200」グラフィック ス・プロセッサ・ファミリを発表
- 「Tesla 10」シリーズのコンピューティング・ソリューションを発表
- 2009
- 次世代CUDA GPUアーキテクチャ(コードネーム「Fermi」)を発表
- 2010
- Fermi世代GPU「GeForce GTX 480」「GTX470」を発表。DirectX 11対応
- Fermi世代Tesla GPU「C2050」「M2050」「S2050」を発表
画像表示コントローラからGPUへ
初期のPC用画像表示コントローラは、CPUがビデオ・メモリー(VRAM)に書き込んだテキストあるいはグラフィックス・データを、CRT(ディスプレイ)や組み込みフラット・パネルといった特定の表示装置に合わせたビデオ信号に変換するのが主な役割でした。
その後、WindowsやOS/2などのGUI(Graphical User Interface)対応OSの登場に伴い、CPU主体の描画処理の限界をカバーするために、グラフィックス・アクセラレータまたはGUIアクセラレータと呼ぶ、OSのAPI(Application Programming Interface)に対応したハードウエア描画機能を取り入れたASICが開発され、描画のパフォーマンスや機能が強化されました。
DirectX(Direct 3D)やOpenGLといった標準APIの発達とともに、3次元(3D)グラフィックスの機能が追加されるようになり、3次元オブジェクトを構成する各三角形(ポリゴン)の頂点座標の計算(Vertex Shading)、ポリゴンの位置の計算(Geometry Shading)、ポリゴン内の描画(Pixel Shading)、といった、3Dグラフィックスにおける描画パイプラインの各工程が、段階的にハードウエアとして実装されていきました。
こうした流れの中、NDIVIAは1999年8月31日にGeForce 256を発表し、その拡張された機能や強化されたパフォーマンスに見合った製品の呼称として、"GPU"という名称を提唱しました。
技術的な意味として、GPUは「1秒あたり1000万ポリゴン以上を処理できる、座標変換、ライティング、トライアングル・セットアップおよびクリッピング、レンダリングなどの各エンジンを統合したシングルチップ・プロセッサ」と定義されています。
図2: CUDAへとつながるNDIVIA GPUの歴史(クリックで拡大) |
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 複合並列コンピューティングの必要性とFermiの登場
- CUDAとGPUコンピューティングの広がり
- GPUコンピューティングのNVIDIA、OpenStackでの利用拡大を狙う
- “もはやSFではない” すべての産業界にAIコンピューティングを―NVIDIA GTC Japan 2016レポート
- エルザジャパン、NVIDIA TEGRA 3を搭載したGPUコンピューティング開発キットの取り扱いを開始
- GPUとOpenStackのホットな関係が紹介された日本仮想化技術(株)の技術セミナー
- インテルがAIにフォーカスしたイベント「インテルAI Day」でPreferred Networksとの協業を発表
- 「GPU」×「PG-Storm」で爆速PostgreSQLを体験してみよう
- GTC 2019ではFacebook、Google、Walmartなどによる人工知能関連のセッションが満載
- ハイプサイクルに登場する技術②ー エッジAIや組み込みAI、AIチップ