「RTX 3060 ベンチマーク編 (2021/12/22)」



先月ほどに、ML学習・推測に為に
購入したNvidia RTX 3060。

  


Geekbenchによるベンチマーク

Nvidia RTX 3060 (CUDA 3584基・TDP 170W)

スコア 102089



去年買った1650との比較結果
 

Nvidia GTX 1650 (CUDA896基・TDP 75W)

スコア 39127



まとめ
カードスコアCUDA数TDP価格
Nvidia RTX 30601020893584170W65000円
Nvidia GTX 16503912789670W26000円

まあ・・・順当ですね。

CUDA数で見れば3584 / 896 = 4.0倍ですが、
TDPで見れば170 / 70 = 2.4倍であり、
スコアは 2.6倍。

つまり。いくらCUDAが4.0倍あっても、
TDPからわかる2.4倍のエネルギー供給では
2.6倍の働きしかできない。

もし仮に4.0倍のCUDAコアがフル稼働するのなら、
カードのTDPは70W x 4 = 280W消費しなきゃならない。

しかし170Wしか食ってないって事は
各コアのスピードは0.6倍に落ちてる。

これは熱力学の大前提。
エネルギー保存の法則から、絶対に破る事はできないので。

170Wのカードは70Wのカードの2.4倍~しか働けない。
当たり前と言っちゃ当たり前な結果となりました。^_^;

むろん、製造プロセスの微細化や
内部構造の変化、キャッシュメモリー、キャッシュのヒット率など
様々な要因。
アーキテクチャーが違えば同じ電力消費量でも能率は変わってきますが。

少なくとも、1650と3060間にはそこまで大きな差は出ない。






あとはそうですね。
このRTX 3060にはテンソルプロセッサー & FP16演算が搭載されてるので
ソフトウェア側によるFP16対応をすれば
理論的には最大2倍速くなるはずです。

PyTorchで言えば
  with torch.cuda.amp.autocast():
    ~
みたいな構文をモデルのロード時とモデルの演算時に
くっつける奴ね。
ソース構造に入り込んで来るから結構厄介。^_^;


あくまで理論値。実際には、特にMLモデルでは
  データセット側がFP32 → FP16に変換 → FP16で演算 → FP32に変換
いちいち変換プロセスが入るので実効値は1.1~1.5倍っぽいですが。



結論:
Nvidia RTX 3060の性能は
Nvidia GTX 1650の2.4倍~3.0倍程度。

レイトレーシング・テンソルプロセッサー・ハッシュ値計算みたいな、
最近ニーズが多い、かつ旧来のボトルネックになっていた。
特定の箇所に限ればボトルネックが解消され
1650とのスピード差はもっと出るのでしょうが。


その他、もろもろの。
総合的な火力は1650比で2.4~3.0倍。
値段も1650比で2.5倍。

極めて順当な位置づけでしょう。