AIのデファクトスタンダードとなるNVIDIA
GPUベンダーの中でも、特にAIの分野でトップを走っているのが、NVIDIAだ。同社が2017年にリリースした新世代GPUアーキテクチャ「Volta(Tesla V100)」は、グラフィック性能だけでなく、機械学習やニューラルネットワークを高速化する機能が取り入れられている。
Voltaは、80個のStreaming Multiprocessor(SM)で構成され、1つのSMは4つの演算コアで構成されている。演算コアは、16個の32ビット浮動小数点演算ユニット(FP)、8つの64ビットFP、16個の整数演算ユニット(INT)、浮動小数点演算を行列で行うTensorユニットが2つ構成されている(この他、キャッシュメモリや共有メモリ、レジスタファイルなどを持っている)。Tesla V100のSMは、64個の32ビットFP、32個の64ビットFP、64個のINT、浮動小数点演算を行列で行うTensorユニットが8つで構成されている

VoltaアーキテクチャのTesla V100は、80SM、5120個のCUDAコア(浮動小数点ユニット)、640個のTensorコアを持っている。さらに、GPUが使うメモリもHBM2にして高速化している(GTC Japan2017の資料より)
さらにTesla V100は、80個のSM(上のアーキテクチャ図としては84個のSMとなっているが、4個は予備で、実際に使用できるのは80個)を搭載しており、5120個の32ビットFP、2560個の64ビットFP、5120個のINT、浮動小数点演算を行列で行うTensorユニットが640個となっている。つまり、これだけの数の演算ユニットが並列に動作するGPUになる。

Voltaアーキテクチャ(V100)とPascalアーキテクチャ(P100)の性能比較。Tesla V100は、12倍のトレーニング性能を持っている(GTC Japan2017の資料より)

Tesla V100は、Pascalアーキテクチャと比べるとトレーニング性能で2.4倍、インファレンスで3.7倍の性能アップを果たしている(GTC Japan2017の資料より)
CPUは、Officeなどさまざまなアプリケーションを動作させるために、アーキテクチャとしてはさまざまな処理ができるようになっている。一方GPUは、同じ処理を複数のSMに分散して処理をさせ、並列化して一気に処理しようというものだ。
CPUも複数の演算ユニットを持っているが、例えばIntelのサーバ向けプロセッサ「Xeon Scalable」では28コア、AMDのサーバ向けプロセッサ「EPYC」でも32コアとなっている。Xeon ScalableとEPYCは、1つのコアで2つのスレッドを動作できるようにしているため、スレッド数では倍になるが、それでもTesla V100が持つ320個の演算ユニットに比べれば少ない。