このページの本文へ

前へ 1 2 次へ

これだけは知っておきたい 最新テクノロジーキーワード 第2回

「Kepler」省電力と大幅性能向上を実現したNVIDIAの新GPU

2012年04月18日 12時00分更新

文● 小林哲雄

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

Keplerコアを採用した「GeForce GTX 680」のダイ写真

 「Kepler」とは、NVIDIAの新GPU「GeForce GTX 680」から採用された、新アーキテクチャーのコードネームである。ちなみにGTX 480から採用された前世代は、「Fermi」アーキテクチャーと呼ばれていた。

 従来のFermiよりもトータルパフォーマンスを向上させつつ、消費電力を抑えているのがKeplerの特徴だ。

トランジスター数は微増で
性能が大幅向上した秘密とは?

 昨年開かれたゲーム開発者向け国際会議「GDC2011」で披露された「Samaritan」と呼ばれるグラフィックデモは、3枚のGTX 580を使って実現されていたという。一方、2012年3月に開かれた「GDC2012」では、これを1枚のGTX 680で実現した。Fermi世代のGTX 580を3枚使うと、消費電力は732Wも必要なのに対して、GTX 680ならば1枚で195Wに抑えられている。

GDC2011(左)とGDC2012における「Samaritan」デモ構成の差。ほぼ同じデモがたった1枚のカードで実現できるので、大幅な省電力と低騒音だと主張している。ただし、GPU以外のシステム構成は書いていない

 GTX 580は40nmプロセスで製造され、ダイサイズは520mm2、30億トランジスターだったが、GTX 680は28nmプロセスで294mm2、35.4億トランジスターになった。最近のNVIDIAチップは、世代が変わって製造プロセスがシュリンクされても、トランジスター数が増えてダイ面積があまり変わらない傾向があった(関連記事)。しかしGTX 680では、大幅にサイズを縮小しながら、トランジスター数は2割増し程度だ。

 その一方で、内部演算ユニットである「CUDAコア」の数は、大幅に増えている。GTX 580は「SM」(Streaming Multiprocessor)を16用意し、1つのSMにCUDAコアを32搭載していた。これに対してGTX 680は、「SMX」(Streaming Multiprocessor eXtreme)に強化して8つ用意し、1つのSMXにCUDAコアを192搭載した。つまり、GTX 580には512のCUDAコアがあったのに対して、GTX 680は1536のCUDAコアが用意されている。CUDAコア数だけで言えば、3倍も搭載したことになる。

トランジスター数は20%増しで、CUDAコアは3倍増。ダイ写真を見るとSMXのエリアが2/3程度占めているわけで、Fermiと比べるとCUDAコアが単純な構成になっていると想像できる

 トランジスターは20%増しなのに、コア数が300%と言うことは、KeplerのアーキテクチャーはCUDAコアのトランジスター数を、大幅に抑えた構造になったと言っていい。例えばFermiまでは、ハードウェアで命令実行のスケジューリングを行なっていた。しかしKeplerではドライバーソフト側にある程度任せて、命令スケジューリングのハードウェアを減らしている。

上がFermi、下はKeplerでのスケジューリング処理の流れ。CUDAコアの構成を簡単にできたのは、命令実行の最適化をハードウェア制御ではなくドライバー側に委ねたから。説明では触れていなかったが、開発環境でもKeplerに合わせたコードへの最適化を図ると思われる

 このように内部構造を単純にしたことで、少ないトランジスター数でCUDAコアを作ることができ、より多くのコアをチップ内に搭載できるようになった。一方で、構造変更によってもCUDAコアの性能はさほど低下していないので、結果として高い性能を低い消費電力で実現できるというのが、Keplerアーキテクチャーの最大の特徴と言えるだろう。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

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

ピックアップ

ASCII.jp RSS2.0 配信中

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