【 ここから本文 】

IBMウォッチ

ソーシャルブックマークに登録 : Yahoo!ブックマークに登録 はてなブックマークに登録 del.icio.usに登録 newsing it!に登録 Buzzurlにブックマーク livedoorクリップに登録 Slashdotにタレコむ イザ!ブックマークに登録 Twitterでつぶやく
print 印刷用ページの表示


IBMウォッチ

【解説】
「GPUコンピューティング」の可能性――高速汎用計算に挑む

GPUの汎用的な計算処理への応用で、ベクトル型HPC市場を切り開くか

(2008年06月30日)

GPUコンピューティングはCPUとの連携で実現される

 GPUを汎用的な科学計算に利用するためには、賢いCPUの力を借りて“CPU-GPU連合”を形成したうえで、例えばC言語で使えるような、並列プログラミング・モデルの環境を作り上げる必要がある(図3)。その際、CUDAが、GPUのような特殊な並列処理プロセッサを汎用の計算に使うための、いわば並列プログラミング・モデル環境の統合開発環境として用いられる。


図3:CUDAを利用した、CPUとGPUの連携によるGPUコンピューティングのイメージ

 CUDAの構造と機能について、順に述べることにする。例えば、NVIDIAのGPUに「GeForce 8800」がある。GeForce 8800は、さらにHPC向けのTeslaシリーズへと発展しており、TeslaはCUDAの開発環境において、図4のようなCPUとの共存関係でその能力を発揮する。


図4:GPUコンピューティングにおけるCPUとGPUの関係

 最新のGPUにおいては、ワンチップ上に16個のマルチコア(マルチプロセッサ)が載った階層型メニイコア構造となっている。そして、1つのマルチコアは、8個のコア(プロセッサ)で構成されている。注意してほしいのは、GPUにおいてコアとプロセッサは同義であり、ここで言うプロセッサは通常のCPUとは異なるという点だ。なぜなら、GPU内に搭載された128個のコアは、SIMD型並列演算処理のために用意されたアクセラレータとして働くプロセッサ群であり、その機能がCPUとは異なるからである。

 ホスト・コンピュータのCPUは、ユーザーが作成したプログラムをコンパイルし、並列プログラミング・モデルに従ったカーネルをプログラムとしてを作成し、グリッド・モデルで演算できるような状態にしてGPUに渡す。グリッドは、複数のブロックで構成されており、マルチスレッド構成の1つのブロックに対して1つのマルチコアがデータの処理を行う。

図5:GPUにおいてステージ化された各種演算パイプライン

 加えて、GeForce 8800やTeslaのようなGPUでは、GPU内の各コアにおいて演算パイプラインがステージ化されている。ステージ化されたパイプラインの演算機能も複数に及ぶが、1つのパイプラインが多重構成になっている点も重要である(図5)。

 こうしたGPUの高度な演算性能をCUDA環境下でCPUと連携させることで活用可能にすれば、これまでのHPCに比べてはるかに低価格であるにもかかわらず、高度な処理能力を持ったHPCを構築できる。そのため、「価格が安い」というだけで、GPUコンピューティングの性能を軽んじるものではない。GPUコンピューティングでは、空間並列処理はSIMDで実現できるうえに、ステージ化されたパイプライン処理を実行できる。そのため、ベクトル型HPCが得意としている時間並列処理も可能なのである。


前のページへ < 123456 > 次のページへ



▲ページの先頭へ戻る



Dynamic Infrastructure

“理想の企業基盤”を“現実”とするダイナミック・インフラストラクチャー

既存の企業インフラを見直すべき時が来た!

次世代の企業基盤ダイナミック・インフラストラクチャーの真髄に迫る

ビジネス・インフラの「可視化」「制御」「自動化」を実現してITとの融合を図る

“賢い地球”を構成する次世代の企業基盤「ダイナミック・インフラストラクチャー」とは

ビジネスの将来を担う3つの鍵「サービス改善」「コスト削減」「リスク管理」

IBM、新世代の「ダイナミック・インフラ」構築を支援する構想を発表

物理環境とデジタル環境の統合管理を製品/サービス/技術の組み合わせで支援

Weekly Ranking

集計期間:03/06〜03/12



Computerworld Global
米国
英国
中国
ドイツ
オーストラリア
シンガポール
その他の国