FANATIC REPORT ファナティックレポート

NVLinkの有効性評価

2022.01.14 ベンチマークレポート


NVLinkの有効性評価

今回は、NVIDIA RTX A6000(以下A6000)を2基使用し、NVLink Bridgeで接続することにより、どのような影響があるのか、改めて調査しました。
基本的な情報取得を含め、各種パフォーマンス評価の結果をレポートします。

目次

1.評価環境

2.NVLinkの動作確認

3.p2pBandwidthLatencyTest

4.Tensorflow

5.nccl-test

6.まとめ


 

1.評価環境

今回は、NVIDIA RTX A6000(以下A6000)を2基使用し、NVLink Bridgeで接続することにより、どのような影響があるのか、改めて調査しました。
基本的な情報取得を含め、各種パフォーマンス評価の結果を紹介させていただきます。

・ハードウェア

項目 品名 数量
CASE Supermicro CSE-746BTS-R2K20BP 1
M/B Supermicro M12SWA-TF 1
CPU AMD Threadripper Pro 3995WX 1
MEMORY DDR4-3200 32GB Registerd/ECC 8
GPU NVIDIA RTX A6000 2

 

・ソフトウェア

項目 バージョン
OS Ubuntu 20.04.3
Driver 470.74
CUDA 11.4
Docker 2110-tf1-py3

 

2.NVLinkの動作確認

NVLinkが正常に機能しているか、以下のコマンドにて確認しました。
①基本情報(nvidia-smi)

 

②GPU間の接続方法の確認(nvidia-smi topo -m)
・NVLinkなし

・NVLinkあり

 

③対向GPUの確認(nvidia-smi nvlink -R)

①のBus-Id情報から、各Linkとも対向のGPUとなっていることがわかります。

 

④Linkの帯域確認(nvidia-smi nvlink -s)

カタログスペックにて、NVLinkの帯域幅は、「双方向:112.5 GB/s」とありますので、14.062 x 8 = 112.496GB/sとなり、スペック通り機能していることがわかります。

 

⑤機能確認(nvidia-smi nvlink -c)

Link単位での機能を確認することができます。

 

3.p2pBandwidthLatencyTest

まずは、CUDAのsamplesに収録されている「p2pBandwidthLatencyTest」にて、レイテンシおよび帯域幅の評価を行い、比較しました。

・レイテンシ(µs)

項目 NVLinkなし NVLinkあり 対比
GPU0⇒GPU0 1.64 1.68 102%
GPU0⇒GPU1 1.44 1.39 97%
GPU1⇒GPU0 1.44 1.34 93%
GPU1⇒GPU1 1.58 1.59 101%

 

・帯域幅(双方向、GB/s)

項目 NVLinkなし NVLinkあり 対比(あり/なし)
GPU0⇒GPU0 676.55 669.88 99%
GPU0⇒GPU1 52 101.73 196%
GPU1⇒GPU0 52.02 101.96 196%
GPU1⇒GPU1 677.43 677.73 100%

帯域については、NVLinkありの状態において、双方向で100GB/s超となり、なしの状態と比較すると、約2倍の帯域幅を使用できる状態となっています。また、レイテンシについても、向上していることが確認できます。

 

4.Tensorflow

他のレポートと同様、Tensorflowによる評価を実施しました。

こちらの評価に関しては、NVLinkあり/なしで、大きな差は見られませんでした。演算に要する時間が大半を占め、GPU間通信の影響が出難いためと考えられます。

5.nccl-test

先のベンチマーク結果から、GPU間の通信量を増やすことによって、NVLinkの優位性が見られると考え、「nccl-test」を用いて評価しました。
・nccl-test
https://github.com/NVIDIA/nccl-tests

1MB~8192MBまで、サイズを変更しながら、時間および帯域幅の推移をまとめたものが以下となります。

 

8192MBの評価結果を抜粋したものが以下となります。

項目 NVLinkなし NVLinkあり 対比
時間(送信) 420771 180960 43%
時間(受信) 420455 180931 43%
帯域幅(送信) 20.41 47.47 233%
帯域幅(受信) 20.43 47.48 232%

時間に関しては、128MBを超えたあたりから、NVLinkあり/なしの差が広がることがわかります。
8192MBの評価では、NVLinkなしに対し、NVLinkありでは、片側あたり約43%の時間で処理が完了しています。

帯域幅では、NVLinkなしの場合、早々に上限に達するのに対し、NVLinkありの場合は、緩やかに上昇していることがわかります。
8192MBの評価では、NVLinkなしに対し、NVLinkありでは、片側あたり約230%の帯域を使用しています。

これらの内容から、通信量が大きくなるほど、NVLinkが有効であると言えます。

 

6.まとめ

GPU間の通信において、NVLinkがどのように影響するのかを評価しました。
今回の評価で、通信量が多くなるもしくは、通信の頻度が高くなると、NVLinkが有効となることがお分かりいただけたのではないでしょうか。

また、NVLinkの特徴として、メモリ空間を共有できることが挙げられます。
RTX A6000を2基、NVLinkなしの状態で使用されている場合、GPU 1基あたりのメモリ容量は、48GBとなります。
NVLinkを使用することで、メモリ容量は倍の96GBまで扱うことができるようになります。

GPU 1基に搭載されているメモリ容量より、大きいデータを扱うようなケースでは、NVLinkを導入することで、パフォーマンスの向上が見込まれます。

GPU 2基を搭載して、有効に活用したいとお考えの際は、是非当社までお問い合わせ下さい。

機械学習 オーダーメイドで応える、NVIDIA® RTX™ A6000搭載 ワークステーション・サーバー

人気レポートランキング

レポートカテゴリ

製品カテゴリ