2021年3月24日水曜日

Bitfusion 3.0 Release

2020年12月3日にBitfusion 2.5.1がリリースされてからおよそ3か月間アップデートがなかったのですが、 3月1日にBitfusionの3.0がリリースされました。

2.0が2020年7月にリリースされてから、12月3日の2.5.1まではメンテナンス含めて毎月のようにアップデートされていたのですが、ちょっと空いてからの3.0のリリースとなりました。


3.0では大きな機能追加はなさそうですが、リリースノート には以下の新機能が追加されたようです。

  • 後続の vSphere Bitfusion サーバでの新しいインストール環境
  • 複数のネットワークにおける vSphere Bitfusion サーバのサポートの向上
  • vSphere Bitfusion クライアントでの nvidia-smi アプリケーションの透過的インストール
  • NVIDIA ドライバ 460
  • NVIDIA CUDA 11.1
  • TensorFlow 2.4 のサポート
  • PyTorch 1.6 のサポート
  • TensorRT 7.1.3 のサポート
  • PaddlePaddle 2.0 のサポート

1つ目の "後続の vSphere Bitfusion サーバでの新しいインストール環境"はBitfusionサーバのインストール要件が若干変わっていることのようです。
2.5.1まではBitufusionサーバのメモリ要件は次のように記載されています。
  • vSphere Bitfusion サーバの最小メモリ要件は、サーバにインストールされている GPU メモリの合計の 150% 以上である必要があります。

3.0からは次のように変更されています。
  • vSphere Bitfusion サーバの最小メモリ要件は、32 GB と、サーバにインストールされている GPU メモリの合計の 150% のいずれか大きい方です。

検証環境などであればT4を1枚だけということもあるかと思うので32GBでいいのでしょうが、本番環境は複数のGPUを搭載することがほとんどだと思うので、合計GPUメモリの150%を指定することになると思います。


3つ目の "vSphere Bitfusion クライアントでの nvidia-smi アプリケーションの透過的インストール"は、2.5.1まではnvidia-smiを直接実行することはできず、実行するには次のようにbitfusionコマンドを利用する必要がありました。

    $ bitfusion run -n 1 -- nvidia-smi

まだ実機では確認していませんが、透過的にということなのでbitfusion run コマンドが不要になったのだと思われます。
以前は上記のbitfusion run コマンドはGPUを明示的にアサインしてGPU情報を取得していたので、別のワークロードでGPUをアサイン&利用中の場合は、nvidia-smiコマンドがGPUが解放されるのを待ってしまっていたので実質利用できなかったので、改善されて利便性が向上しそうです。


それ以外だとTensorflowやCudaなど新しいバージョンのサポートと、新しくPaddlePaddleが追加されているようです。


もう一つリリースノートで注意すべきはこちらです。

vSphere Bitfusion サーバで使用されている GPU のメモリの合計が 128 GB より大きい場合、GPU パススルーを使用できない

デフォルトでは、GPU パススルーの高度な仮想マシン プロパティ pciPassthru.64bitMMIOSizeGB は 256 に設定されています。1 台の vSphere Bitfusion サーバ上で、128 GB よりも大きいメモリを搭載した GPU を使用している場合、この構成によってパススルーの障害が発生する可能性があります。

 

最近ではGPUのメモリサイズも大きくなり、サーバへのGPU搭載数も増えているので引っかかる場合がありそうなので注意が必要です。
回避策はリリースノートにも記載されているので確認してみてください。