NVIDIA TITAN RTXを2枚用意できましたので、NVLink SLIの有り無しを含めてGeForce RTX 2080 TiとTensorFlowでベンチマーク比較をしてみました。
スペック比較
今回のベンチマークではTITAN RTXの比較対象として、同じTU102コアを搭載したGeForce RTX 2080 Tiと比較となります。
前回の記事(https://www.pc-koubou.jp/magazine/34308)と同じ検証環境を使用しました。前回と同じく、ベンチマーク時の設定は、別記の無い場合Batch Sizeは32に設定しました。スコアは誤差を少なくする為に5回計測した平均値を出しています。単位はimage/secとなり、1秒で何枚の画像を学習処理したかを表し、数値が高い程速く処理が出来るという事になります。
使用した各ソフトウェアのバージョンは以下の通りです。
| ソフトウェア名 | バージョン | 
|---|---|
| CUDA | 10.1 | 
| cuDNN | 7.6.5.32 | 
| Python | 3.6.9 | 
| TensorFlow | 1.15 | 
使用した各ソフトウェアのバージョン一覧
各グラフィックカードのスペックは以下の通りです。同じTU102コアを使用していますが、各コア数からクロック、メモリ容量まで異なります。
| NVIDIA TITAN RTX  | 
GeForce RTX 2080 Ti  | 
|
|---|---|---|
| アーキテクチャ | Turing | |
| GPUコア | TU102 | |
| 製造プロセス | 12nm | |
| CUDAコア数 | 4608基 | 4352基 | 
| RTコア数 | 72基 | 68基 | 
| Tensorコア数 | 576基 | 544基 | 
| 定格クロック | 1350MHz | |
| ブーストクロック | 1770MHz | 1545MHz | 
| メモリタイプ | GDDR6 | |
| メモリ容量 | 24GB | 11GB | 
| メモリ転送レート | 14Gbps | |
| メモリバス幅 | 384bit | 352bit | 
| メモリバス帯域幅 | 672GB/s | 616GB/s | 
| TDP | 280W | 250W | 
| 補助電源 | 8pin + 8pin | |
| 推奨電源 | 650W | |
グラフィックカードスペック一覧
TITAN RTXとGeForce RTX 2080 Tiを比較すると、CUDAコアで5%、Tensorコアでも5%程度の差があります。また特徴としてメモリバス幅もTITAN RTXの方が帯域が広くなっています。動作クロックも定格は同じですが、ブースト時のクロックはTITAN RTXの方が14%ほど高く設定されています。これらの差がどの程度実際プログラムを動作させた際に差となって出てくるかを見ていきます。
なお検証に使用したハードウェア構成は記事末尾に記載しておりますので、別途ご確認ください。
TITAN RTXをGeForce RTX 2080 Tiと比較
ResNet50(fp32)
ResNet50(fp32)での比較です。TITAN RTXはGeForce RTX 2080 Tiと比較してシングル、SLIいずれも概ね8%程度の増加となっています。

TITAN RTXとGeForce RTX 2080 TiのResNet50(fp32)スコア比較
ResNet50(fp16)
次はResNet50(fp16)での比較です。平均して16%程度の増加となりました。

TITAN RTXとGeForce RTX 2080 TiのResNet50(fp16)スコア比較
VGG16(fp32)
続いてVGG16(fp32)での比較です。NVLink時の性能差が大きく、15%もスコアが増加しました。TITAN RTXのGeForceRTX 2080 Tiと比較したスコア自体の増加率は約10%となっています。

TITAN RTXとGeForce RTX 2080 TiのVGG16(fp32)スコア比較
inception-V3(fp32)
Inception-V3での比較です。他のスコアと同様にスコアは8%程度の増加となり、傾向も一致しています。

TITAN RTXとGeForce RTX 2080 Tiのinception-V3(fp32)スコア比較
消費電力を比較
ワットチェッカーを使用して消費電力を比較してみました。計測結果はシステム全体での消費電力となります。
| GeForce RTX 2060 SUPER  | 
GeForce RTX 2060 SUPER×2  | 
GeForce RTX 2080 Ti  | 
TITAN RTX | TITAN RTX×2 | |
|---|---|---|---|---|---|
| アイドル時 | 54W | 97W | 47W | 47W | 61W | 
| ベンチマーク時 | 244W | 427W | 320W | 355W | 608W | 
計測時の消費電力一覧
TITAN RTXとGeForce RTX 2080 Tiではアイドル時の消費電力は同じですが、ベンチマーク時には約10%消費電力が増加していました。ワットパフォーマンスで換算すると以下のようになります。
| GeForce RTX 2060 SUPER  | 
GeForce RTX 2060 SUPER×2  | 
GeForce RTX 2080 Ti  | 
TITAN RTX | TITAN RTX×2 | |
|---|---|---|---|---|---|
| 消費電力 (単位:W)  | 
244 | 427 | 320 | 355 | 608 | 
| スコア (ResNet50)  | 
176 | 339 | 272 | 298 | 554 | 
| ワットパフォーマンス (電力/スコア)  | 
1.386 | 1.260 | 1.175 | 1.192 | 1.097 | 
ワットパフォーマンス一覧
こちらはスコア1点出すのに何Wかかるかという表になりますので、数値の低い方がワットパフォーマンスが良いという事になりますので、この中ではTITAN RTXを2枚刺した時が一番ワットパフォーマンスが高い事になります。
ただし、TITAN RTX を2枚刺した際にはアイドルこそ低めですが、ベンチマーク時には600Wを超えています。CPUがほぼ稼働していない状態で600Wの消費なので、実際に積む電源を選ぶ際には余裕を見て1000Wクラスの電源を用意する必要があります。
コストパフォーマンスを比較
最後にコストパフォーマンスを比較してみました。前回作成した表と同じく、スコア1点あたり何円かかるかという表になるので、数値の低い方がコストパフォーマンスが高いという事です。
そもそもコスト面を考慮してTITAN RTXを選択する事はなかなか無いとは思うのですが、やはり2倍以上のコストがかかっています。
メモリ量の差が最大のポイント
ではTITAN RTXのメリットは何かというと、Deep Learningにおいてはメモリの量が最大のメリットになります。
GeForce RTX 2080 Tiの11GB に対しTITAN RTXは24GBものメモリを搭載しています。メモリが多いということは扱えるデータ量が単純に増えるという事ですので、プロジェクトの規模によってはTITAN RTXも有力な選択肢となります。もっとメモリが必要になる場合はQuadro RTX 8000(ビデオメモリ48GB)が候補となってきます。
また、動作クロックの差や、CUDAコア、Tensorコアの差もあり、パフォーマンスは向上します。コスト度外視で少しでも時間を短くしたいといった場合にもTITAN RTXが検討候補に入ってくると思います。
もしTITAN RTXを検討する事があれば参考にして頂ければと思います。
| CPU | Core i9-10980XE (3.0-4.8GHz/18コア・36スレッド/キャッシュ24.75MG/TDP165W) | 
|---|---|
| マザーボード | ASUS PRIME X299-All-SI (X299チップセット) | 
| ビデオカード | NVIDIA TITAN RTX (24GB GDDR6) | 
| MSI製 GeForce RTX 2080 Ti VENTUS 11G (11GB GDDR6) | |
| ストレージ | Kingstone RBU-SC152DS37/240GH (Kingstone SSDNow UV400 SATA 240GB) | 
| 電源 | Seasonic SSR-1000PD (80PLUS PLATINUM、1000W) | 
| OS | Ubuntu 18.04.3 | 
今回の検証環境
											ロボットアニメ大好きな店頭サポート出身のビジネス、Linux系担当ECスタッフ。空きスロットは意味なく埋めたいタイプ。お客様に寄り添ったパソコン作りをモットーに今日も頑張ります!
