PR

 DRIVE PXは、こうした「次世代」自動車の開発ですぐに利用できるユニットを提供するのが目的だ。恐らく、最終製品では、自動車メーカー各社が自社の部品として高性能コンピュータユニットを開発することになるだろうが、その研究段階にある今なら、手軽に利用できる「高性能コンピュータユニット」には商品価値がある。

 しかし、エヌビディアは、ユニットのビジネスよりも、その先にある標準プラットフォームとしての地位を想定しているのだと考えられる。GPUの計算モデルは、汎用CPUとは異なる。GPUと同程度の計算並列性を持つシステムはほかにないために、アルゴリズムとしては転用可能でも、システムとしては他のプロセッサなどでは実行時間が変わってしまう。エヌビディアのGPUアーキテクチャーを利用するシステムが現段階で普及すれば、量産車や普及段階のシステムでエヌビディアのソリューションが選択される可能性が高い。

Pascalアーキテクチャーは何が変わったのか

 では、実際にPascalアーキテクチャを見てみることにしよう。図1は、Tesla P100のSMの図だ。

図1●Tesla P100のSM(Streaming Multi-processor)は、多数のCUDAコアからなり、同時に64スレッドを実行できる
図1●Tesla P100のSM(Streaming Multi-processor)は、多数のCUDAコアからなり、同時に64スレッドを実行できる
(出所:NVIDIA社配布資料Tesla P100 White Paper)
[画像のクリックで拡大表示]

 図中で緑、黄色、グレーの多数ある小さな四角がCUDAコアを表している。Pascalでは、1個のSMの中に以下がある。

  • 単精度浮動小数点演算コア(緑のCore):64個
  • 倍精度浮動小数点コア(黄色のDP Unit):32個
  • 特殊関数ユニット(濃い緑のSFU):16個
  • ロードストアユニット(グレーのLD/ST):16個

 図を見て分かるようにこれらは大きく2グループに分かれており、それぞれに上記の半分のCUDAコアが配分されている。このグループを「WARP」と呼ぶ。WARPは、32スレッドを管理する単位で、CUDAコアに命令を出していく機構だ。つまり、1個のSMは2個のWARPスケジューラーから成り、1個のWARPは32スレッドを同時実行する。SM1個では64スレッドを同時実行できる。