--耐故障性、高信頼性はどう考えているのか?

Dally:大型HPCシステムでは耐故障性や高信頼性は必須の項目である。DARPAのプロジェクトではサイレントエラー(エラーが起こったことを気づかず、誤った結果を出力してしまうこと)を無くすことが必要と考えている。ただし、すべてハードでやる必要はなく、結果の検算が容易な場合は、検算でエラーが無いことを確認すればよい。また、チェックポイントとしてすべてのデータを保存するのではなく、プログラムのAPIで保存が必要なデータと容易に再計算できるデータを区別して指定するというようなアプローチも考えている。

--ロジックでもエラーは起こるのでノーサイレントエラーを実現するのはオーバヘッドが大きく、消費電力が増えてしまうのではないか?

Dally:ロジックもチェックが必要である。命令の実行に必要なエネルギーは大部分がメモリのリード、ライトなどのデータ移動のためのもので、データ移動のエラーはECCなどで対処できる。演算回路などのロジックをエラー検出のために2重化してもデータ移動が1回なら、消費エネルギーの増加はそれほぼ大きくはならない。

--FermiはECCを持っているがGTX-480ではこれを除いたが…

Dally:ECCはHPCでは必要だが、ゲームでは不要でコストアップや性能低下の要因になる。ユーザの必要な機能を持つモデルを提供するのは当然である。

--従来は同じシリコンで両方の分野に対応していたが、そうなるとHPC用とグラフィックス用の2種の製品を作ることが必要になる。

Dally:ECCが必要なのはハイエンドだけ。新GPUの開発は1,000億円程度の開発費がかかるが、機能を取り除くマイナー変更はそれほど費用はかからない。また、ECCが必要なのはハイエンドのチップだけで、メインストリームやローエンドGPUではECC無しのチップだけで良い。

--科学技術計算用GPUに投資するのはペイするのか?

Dally:それはビジネスクエスチョンだが、先に述べたように、すべてがヘテロジニアスコンピューティングになっていくと考えている。科学技術計算専用のGPUを開発するのでは開発投資を回収できないが、グラフィックスの需要にアドオンの形なら問題ない。

--CPU-GPUの1チップ統合が進むとすれば、NVIDIAはx86 CPUを作るのか?

Dally:CPUとGPUのメモリスペースの一体化は起こるが、同一チップにするかどうかは経済的判断である。現在は、x86はWindowsが動き、多くのシュリンクラップのバイナリアプリケーションがあるのがメリットであるが、将来、x86がどれだけ重要であるかは疑問である。携帯電話はすべてと言って良いほどARMプロセサを使っている。この点では、x86よりARMの方が将来性があると考えている。

このようにDally先生は、ヘテロジニアスコンピューティングの時代にはGPUが処理の中心になるということについては確信しており、その確信に基づいて、スタンフォード大の教授を休職してNVIDIAのチーフサイエンティストという職についたのであろう。また、GPUコンピューティングの将来の方向性についても洞察に富む興味深い話を伺うことができた。