このページの本文へ

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

20nm世代への移行は難航? 2012~2013年のAMD GPU

2012年05月01日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/

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

GPGPUを考慮するかしないかで
2種類のGCNコアを作成

 今後のAMD GPUの話に進む前に、ちょっとGCNについて説明しておこう。連載132回でもGCNの概略に触れたが、この時点ではまだわかってなかったことを補足しよう。

Radeon HD 7970(Tahiti)のブロック図

 GCNには2種類存在しており、Tahitiコアに搭載されているものは16/32bit演算に加えて、64bit演算も可能となっている。こちらは64bit演算の性能が、32bit演算の4分の1程度を確保しており、きちんと64bit演算用のハードウェアを搭載している効果である。もう1種類がPitcainとCape Verdeに実装されているもの。16/32bit演算に関しては同一周波数のTahitiと遜色ない構成ながら、64bit演算をハードウェアで行なうためのメカニズムを省いており、この結果として64bit演算の処理性能が32bit演算の20分の1以下に落ちる。

 なぜ2種類あるかと言えば、64bit演算は今のところ、HPC(High Performance Computing)分野のGPGPUでしか利用されないためである。3Dグラフィックスでは、現状は32bit浮動小数点で十分な演算精度が得られるし、これを64bitの倍精度浮動小数点演算にしても、生成される画像にほとんど差はないため、32bitのみで行なわれることになる。最近は動画のエンコードにGPGPUを使うケースもあるが、こうした場合でも精度は32bitあれば十分である。

 ところが科学技術計算では、32bitというのはラフな計算やシミュレーションを行なう場合には足りるが、本気で精度を必要とする計算では不十分というケースが多い。従ってAMDの「FireStream」とかNVIDIAの「Tesla」といったGPGPU専用カードは、この64bit演算をサポートするためのハードウェアをきちんと実装している。

 ところが、この64bit演算をハードウェアでサポートするためには、当然追加の回路が必要となる。そうでなくてもダイサイズの肥大化や消費電力の増大などに苦しんでいる昨今のGPUとしては、不要な機能は省けるなら省きたい。上で書いたとおり、GPGPU向けには必要であっても、通常の3D描画がメインであれば64bit演算は現状不必要である。

 そんなわけで、トップエンドのTahitiにはこの64bit演算用のハードウェアが付加されているが、PitcainとCape Verdeからは省かれることになった。この64bitのハードウェアサポートの有無で2種類のGCNが登場したわけだ。AMDの場合、TahitiはそのままGPGPU向けコアに転用することを考慮して64bitサポートを実装したが、その下のモデルをGPGPU向けにすることは当面ないと判断したのだろう。

 余談だが、これをもっと極端にやったのがNVIDIAの「GK104」こと「GeForce GTX 680」である。こちらはトップエンドモデルにも関わらず、実は64bit演算ハードウェアを搭載していない。初めからGPGPU用に転用することをやめて、純粋に3D向けに32bit演算のみと割り切り、その分より多くのシェーダを詰め込んだモデルである。そこまで割り切れば64bit演算も考慮したRadeon HD 7970よりもより効率が上がるのは当然で、性能面でRadeon HD 7970を上回るのは当たり前といってもいいだろう。

 そんなわけでAMD/NVIDIAともに、GPGPU向けと非GPGPU向けでコアアーキテクチャーを作り分けるという時代になった。AMDにとってGCNは、その最初の世代というわけだ。

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

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

ピックアップ

ASCII.jp RSS2.0 配信中

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