NVIDIAのGPUはTop500第2位の中国の星雲システムに使われ、間もなく稼働する予定の東京工業大学(東工大)のTSUBAME 2.0にも採用されている。同社のGPUプログラム環境であるCUDAは多くの大学でも教えられており、NVIDIAはGPUコンピューティングでは先頭を走る。
また、NVIDIAはDARPAのExtremeScaleコンピューティングプロジェクトの契約を獲得し、GPUコンピューティングをさらに進化させようとしている。そのNVIDIAのGPUコンピューティングはどこに向かおうとしているのかを、同社の研究担当の上級副社長でチーフサイエンティストのBill Dally氏に伺った。なお、Dally氏はスタンフォード大学の教授でもあり、2010年6月にはコンピュータ関係では最高の栄誉といわれるEckert-Mauchly賞を受賞している。
NVIDIAのチーフサイエンティストのBill Dally氏 |
--NVIDIAは、GPUコンピューティングはどの程度、広く使われるようになると考えているのか?
Dally:実質のコンピューティングはクラウドで行われ、ターミナルはユーザインタフェースを担当するモデルになると考えている。クラウドでは色々なアプリケーションを動かすので、CPUとGPUを複合したヘテロジニアスなコンピューティング環境が最適である。並列性の高いアプリケーションはGPUの方が適している。一方、ターミナルで実行されるユーザインタフェースはビジュアルコンピューティングが中心で、これはGPUに最も適した仕事である。ということで、GPUはクラウドセンターでも、ターミナルでも非常に広く使われると考えている。
--汎用のコンピューティングやHPCはどうなるのか?
Dally:汎用コンピューティングというのは定義が難しいが、大部分のHPCアプリは大きな並列性をもっているのでGPUの処理に向く。例えば、Oil&Gasや構造解析などはGPUで効率よく処理ができている。
--現在はCPUとGPUのメモリが別でデータの移動が必要となるのが、1つのネックとなっているが、今後はどうなるのか?
Dally:多くのアプリでは、現在の分離したメモリでも性能が出せているが、やはり将来的には1つのメモリ空間に統合していく方向である。
--どうやって統合が起こるのか?
Dally:GPU側のメモリに統合され、CPUもGPUに接続されたメモリを使うというのが良いと考える。
--それでも複数GPUの場合は複数メモリになり、単一メモリにはならない。
Dally:それはシステムのサイズに依存する。大部分の用途では1GPUしか使っていない。大規模システムの場合は複数GPUになるが、将来的には複数のGPUのメモリが単一アドレススペースに見えるようになっていく。もちろん、アクセス時間は均等ではないが。
--CPUとGPUは同一のチップに入る方向か?
Dally:2つの独立な判断ポイントがある。単一アドレススペースはプログラミングの容易性の観点から必要。しかし、CPUとGPUを1つのチップに入れるかどうかは経済的な判断である。NVIDIAで言うと、ローエンドのTegraではすでにARMコアとGPUを1チップ化している。ローエンドは経済的に1チップ化が有利である。一方、ハイエンドは、大型チップの全シリコン面積をGPUに使っている現状ではCPUとの1チップ化は意味がない。
--ハイエンドでは意味が無いことは分かった。しかし、中間のPCレンジはどうか。
Dally:Intelは組み込みGPUを以前から出しているが、より良いグラフィックスのためにディスクリートGPUを買う人はおり、それは変わらない。市場セグメントによってはディスクリートGPUの装着率は50%を超える。AMDの統合は両方を1チップに載せただけで、CPU、GPUともに妥協が必要になっている。