トレンドコラム

性能検証

NVIDIA A100 GPU MIG分割時の性能ベンチマーク

2021.06.08

営業本部 GPUアーキテクト 森重 ゆう

営業本部
GPUアーキテクト
森重 ゆう

NVIDIA A100 GPU MIG分割時の性能ベンチマーク

NVIDIA A100 Tensor Core GPUでは、「NVIDIA マルチインスタンス GPU (MIG)」 テクノロジを利用することで、1基のGPUを最大7つのインスタンスに分割することが可能です。例えば複数のメンバーが異なるトレーニングモデルを実行する場合にも、この機能を使うことで、それぞれのリソースを用途ごとに割り当てて活用することができます。
MIGの機能やインスタンスの分割方法など、詳細については過去記事をご参照ください。

では、GPUリソースをMIGで分割すると、実際どのくらいのパフォーマンスを発揮することができるのでしょうか?今回は当社Innovation LABパートナーである株式会社ハイレゾさまのIaaS型GPUクラウド「HIGHRESO GPU ADVANCE」環境をお借りして、MIGで分割されたGPUインスタンスの性能を検証してみました!

検証環境

今回は比較対象として、HGX A100とDGX A100を用意しました。それぞれの互換性を鑑み、検証環境は表1の通りセットアップしました。

表1

  OS NVIDIADriver CUDA TensorFlow Python Ngcコンテナイメージ
Supermicroサーバ
(40GB A100搭載)
Ubuntu18.04.5 455.32.00 11.1.0 2.3.1 3.6.9 nvcr.io/nvidia/tensorflow:20.10-tf2-py3
NVIDIA DGX™ A100
(40GB A100搭載)
Ubuntu18.04.1 450.51.06 11.0.3 2.2.0 3.6.9 nvcr.io/nvidia/tensorflow:20.08-tf2-py3
MIG Ubuntu18.04.5 455.23.05 11.0.221 2.4.1 3.6.12  

また、ベンチマークソフトは下記で公開されているものを使用しました。過去に当サイトのコラムで利用したベンチマークソフトと同じものです。
https://github.com/tensorflow/benchmarks/tree/master/scripts/tf_cnn_benchmarks

参考:過去のベンチマーク結果
RTX 2080tiの性能ベンチマーク

MIGでインスタンスを分割する際は、利用者側でメモリ容量を選択することが可能です。今回は以下の4パターンに分割した場合を例にとって検証しました。

  • 40GB
  • 20GB
  • 10GB
  • 5GB

検証結果

それではさっそく検証結果を見ていきましょう。図1~2はresnet50とresnet152をバッチサイズ32・64で実行したスコア結果です。残念ながら、5GBモデルと10GBモデルはメモリ不足ですべてのベンチマークを回すことができませんでした。

それぞれの結果によってばらつきがあるものの、例えばresnet50 ( 32 ) の40GB ( グレー ) と20GB ( 黄 ) のグラフにご注目ください。赤枠で囲んでいる箇所です。
40GBを100%とすると、20GBは64%程度の性能になっていることがわかります。メモリ容量が1/2になっても、性能は必ずしも1/2になるわけではないようです。


図1 resnet50 MIGベンチマーク

図2 resnet152 MIGベンチマーク

また、MIGでメモリを40GBに分割した場合と、DGX A100 ( 40GB GPU搭載 ) の差分も確認しておきましょう。
図3~4の通り、メモリはどちらも40GBなのですが、MIGで分割した場合は少し性能が低下する結果になりました。


図3 resnet50 DGX A100との比較

図4 resnet152 DGX A100との比較

他のベンチマークモデルの実行結果も見ていきます。図5~8が各モデルの実行結果です。
※5GB、10GBはメモリ不足で実行できない部分があり、一部空欄となっています。

これまで見てきた内容と同じく、40GBを100%とすると、20GBは平均64%程度の性能になっていることがわかります。また、20GB⇒10GBは平均64%、10GB⇒5GBは平均60%程度の減少率となっています。 本結果から、低メモリのGPUを利用するよりも、メモリ容量の大きいGPUをMIGで分割したほうが高性能になるということがわかりました。


図5 inception3 MIGベンチマーク

図6 vgg16 MIGベンチマーク

図7 trivial MIGベンチマーク

図8  alexnet MIGベンチマーク

次に、resnet以外のベンチマークソフトでも
オレンジ:MIGでメモリを40GBに分割
グレー:DGX A100 ( 40GB GPU搭載 )
の差分も確認しておきたいと思います。

ほとんど差がないものや、DGX A100のほうがかなり良い結果が出ているものなどばらつきがありますが、平均するとMIGで40GBメモリに分割したインスタンスは、DGX A100の79%程度の性能を発揮しました。


図9  vgg16  DGX A100との比較

図10 inception3  DGX A100との比較

図11 alexnet  DGX A100との比較

図12 trivial  DGX A100との比較

考察

6種類のベンチマークソフトを利用し、MIGで分割したインスタンスの性能を検証しました。結果として、細かく分割した際もあまりパフォーマンスは落ちることなく利用することができました。用途や要求される動作性能にもよりますが、複数人で利用される際は、1枚のA100カードをMIGで分割しても高い性能を維持できるといえるでしょう。

また、DGX A100 ( 40GB GPU搭載モデル ) とメモリ40GBで分割したMIGを比較すると20%ほどの性能差がありました。これはMIG処理時にボトルネックがあるのではないかと分析しています。40GB以上のメモリ容量が求められるハイパフォーマンスコンピューティングの場合は、DGX A100などを導入するのが良いと考えます。

本結果がMIGの利用を迷われている方の参考になればと思います。
NVIDIA製品のご導入・検証は、NVIDIA Elite Partnerの当社へぜひお問い合わせください。