このページの本文へ

ロードマップでわかる!当世プロセッサー事情 第311回

スーパーコンピューターの系譜 GPGPU利用を加速させるNVIDIA

2015年07月06日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

G80世代では思った性能が出せず
GPGPU対策に本腰を入れるNVIDIA

 GeForce 8800 GTXでは、1.35GHzで動作するSPが最大2.7GFLOPSの性能を出すので、128SPの場合の理論性能は345.6GFLOPSとなる。2007年といえば、インテルは45nmプロセスの「Core 2 Quad」(Yorkfield)を発売した時期である。

 やや時期がはずれるが、計算がしやすいということで2008年3月に発売された「Core 2 Extreme QX9770」あたりを例に取ると、3.2GHz動作で4FLOPS/サイクルのコアが4つなので51.2GFLOPSという計算になり、これと比較しても6.75倍高速ということになる。

 もっとも実際に使ってみると、そこまでの性能はなかなか出せなかった。実際CUDAでアプリケーションを組んだ結果として指摘されたのは、以下の項目だった。

倍精度演算性能不足

 ハードウェアでは単精度演算しか持っていないので、ソフトウェアで倍精度演算を実施させると10倍以上遅くなり、こうなると倍精度演算でも2FLOPSs/サイクル(SSE2で対応)で処理できるCPUとの差がほとんどない。むしろGPUで処理すると遅くなる。

ECCメモリーの非サポート

 多数のGPUカードを利用するデータセンターのような構成では、確率的にメモリーエラーによる計算ミスがそれなりの頻度で発生するが、G80ではこれを検出することも訂正することもできない。

共有メモリーの不足

 G80では共有メモリーが16KBしかなく、大規模なプログラムではこれでは不十分とされた。また共有メモリーを利用できないアルゴリズムを利用する場合に向けて、きちんとしたキャッシュアーキテクチャーを実装することが要求された。

 他にも、複数スレッド間でのAtomic処理(排他制御をきちんと取った共有メモリー上のデータ書き換え)への対応や、複数のアプリケーションやアプリケーション/グラフィック描画の並行動作時の切り替えの高速化が必要。

 いずれも小手先の対応では対処できない事柄ばかりで、NVIDIAは対策に本腰を入れることになる。とは言え、これには相応の時間がかかった。

 GPGPUは将来有望とはいいつつ、足元の需要のほとんどは既存のGPU向けである。なので、売り上げを立てるためにはまずGPU向けの製品を発売しなければいけない。

 G80の世代はその後プロセスを微細化したG90世代になり、さらに基本的な内部構成は変えないままにシェーダー数を増やしたG200世代を2008年に発売する。

 ただこのG200世代の中で、次世代のコアであるFermiの要素を部分的に導入したGT212というコアを導入するはずだったのが流れてしまい、ローエンド向けにGT251/216/218というコアを発売した後に、2010年3月ににやっとFermiことGF100ベースのコアを発売するに至る。

GF100コアを搭載したGeForce GTX 480

 GF100に先立ち、2008年に同社はGPGPU向けのラインナップとしてビデオ出力を持たないTeslaシリーズ第一弾となる「Tesla C1060」を発表、11月にはこれを組み合わせたパーソナルスパコンを披露しているが、これはGT200コアをそのまま利用したものであった。

→次のページヘ続く (GPGPUとしては高性能なGF100

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン