NVIDIAが考えるHPCの未来の形

GPGPUベースのHPCは、NVIDIAが最も力を入れている分野だが、それまでHPCのシステムはCPUベースで構成されていたこともあって、GPGPUベースのHPCシステムはまさに発展途上である。

1つ問題なのは、GPGPUとはいっても、GPUは結局、CPUを中核としたシステム構成にぶら下がっている1デバイスにしか過ぎず、この不利な立ち位置が常について回ると言うことだ。

例えば、あるGPUノードの結果を別のGPUノードに渡さなければならないとき。これはPCI Expressなりインフィニバンドなりを通じて伝送することになるのだが、この通信の管理制御はこれまではCPUが行ってきた。

具体的にはGPU1の結果をGPUローカルメモリからCPU介してCPU配下のシステムメモリにコピーし、これをCPUが折を見てGPU2のGPUローカルメモリへ伝送を仕掛けることになる。

フアン氏「GPU-GPU間の高速通信手段に関しては、現在開発中だ。そうした物理的なソリューションの提供も大切だが、論理的なソリューションも重要だと自分は考えている」

この開発中のGPU-GPU間の高速通信手段は「GPU Direct」と呼ばれるテクノロジだ。この技術を使うと、GPUノード側のローカルメモリの内容をCPU配下のシステムメモリに読み出してこれを直接目的のGPUノードに転送を仕掛けられるようになる。

論理的なソリューションというのは、恐らく、NVIDIAの次々世代GPU「Maxwell」に搭載されると言われる仮想共有メモリ機能のことを行っているのだと思われる。これはCPUとGPUとで共通のアドレス空間を利用できる機能を提供するもので、ソフトウェア側から見るとGPUとCPUとが同じメモリ空間にアクセスしているような具合になる。

物理的なCPUとGPUの統合には懸念を示すフアン氏だが、論理的なCPUとGPUとの統合については無条件にフアン氏は賛同の意を表するのだ。

従来のGPUノード間データ転送

GPU DirectによるGPUノード間データ転送