web-dev-qa-db-ja.com

cuda vs tensorコアの違いは何ですか?

HPCコンピューティングに関連する用語はまったく新しいですが、EC2が新しいタイプのインスタンスをAWSでリリースし、新しいNvidia Tesla V100を搭載していることを確認しました。テンソルコア(640)。両者の違いは何ですか?

現在、Tesla V100とTitan Vにのみテンソルコアがあります。両方のGPUには5120個のcudaコアがあり、各コアは1 GPUクロック(例:Tesla V100 PCIe周波数が1.38Gz)あたり最大1つの単精度積和演算(例:fp32:x + = y * z)を実行できます。

各テンソルコアは、サイズ4x4の小さな行列で演算を実行します。各テンソルコアは、1つのGPUクロックごとに1つの行列積和演算を実行できます。 2つのfp16行列4x4を乗算し、乗算積fp32行列(サイズ:4x4)をアキュムレータ(つまり、fp32 4x4行列)に追加します。

入力行列はfp16ですが、乗算結果とアキュムレータはfp32行列であるため、混合精度と呼ばれます。

おそらく、適切な名前は4x4マトリックスコアにすぎませんが、NVIDIAマーケティングチームは「テンソルコア」の使用を決定しました。

48
Artur

GPUは常に機械学習に適しています。 GPUコアはもともと、物理演算とグラフィックス計算用に設計されたもので、行列演算が含まれます。一般的なコンピューティングタスクは、多くの行列演算を必要としないため、これらのCPUは非常に低速です。物理学とグラフィックスは、一般的な計算タスクよりも並列化がはるかに容易であり、コア数が多くなります。

機械学習(ニューラルネット)の行列が重いため、GPUが最適でした。 Tensorコアは、機械学習ソフトウェア(Tensorflowなど)に含まれる計算の種類により特化されています。

Nvidiaは詳細なブログ here を書いています。これは、Tensorコアの動作方法とCUDAコアを超えるパフォーマンスの改善についてさらに詳しく説明しています。

17
MikeS159

TensorコアはCuda Coresよりも精度を犠牲にしてはるかに少ない計算能力を使用しますが、その精度の損失は最終出力にそれほど影響しません。

これが、機械学習モデルの場合、Tensorコアが出力をそれほど変更せずにコスト削減でより効果的である理由です。

Google自体は、Google翻訳にTensor Processing Unitsを使用します。

5
pranshu vinayak