2021年8月25日水曜日
VMware Bitfusion on Home Lab
VMware社のCompatibilityにはサポートするGPUとしてV100/S、A100、P40、T4の4種類が記載されています。
ただ、次のようにも記載がされています。
Bitfusion has general support for datacenter class, CUDA-supporting, NVIDIA GPUs, which qualify for DirectPath I/O on ESXi.
前回の記事にも記載しましたが購入したPrecisionにはGPUが搭載されていますが、GeforceのGTX1060なので、datacenter classではないのですが、Cudaは動くのでなんとかなるかもしれないという期待で構築を試してみました。
Bitfusionの大まかなインストールは次の手順なんですが、注意点としてはBitfusion ServerへGPUドライバを手動でインストールする必要があります。
1.Bitfusion Server Applianceの展開
2.Bitfusion ServerへGPUのパススルー設定
3.GPUドライバの手動インストール
4.Bitfusion Clientのインストール
5. vCenterへBitfusion Clientの登録
詳細な手順はVMware社の公式マニュアルを参照してもらえればいいのですが、BitfusionでGTX1060を利用するためには 1のBitfusion Server Applianceの展開時に次スクリーンショットのNvidia Packagesの項目でチェックボックスを未選択でBitfusion Applianceを展開します。
Appliance展開時にチェックボックスを未選択で展開しているので、手順4で必要なDriverなどをインストールします。 VMware社のドキュメントでは、Bitfusion Serverにログインして次のコマンドを実行するように記載されています。
$sudo install-nvidia-packages --defaults --yes
ですが、このコマンドではV100やA100などCompatibilityに記載してあったDatacente ClassのGPUであればドライバやFablic Managerがインストールされるのですが、GTXなどのGPU関連のドライバはインストールされないので、別途ダウンロードする必要があります。
私の環境ではNVIDIAのサイトから次のパッケージをダウンロードしました。
※Bitfusion Server ApplianceはPhotonOSが利用されているため、ダウンロードするパッケージはcentos版をダウンロードしました。
ドライバ:NVIDIA-Linux-x86_64-470.63.01.run
Fabric Manager:nvidia-fabricmanager-460.32.03-1.x86_64.rpm
インストール自体は特に難しいこともなく通常のインストール手順を実行すれば問題なくインストールが完了します。
$ chmod +x NVIDIA-Linux-x86_64-470.63.01.run
$ sudo ./NVIDIA-Linux-x86_64-470.63.01.run
$ wget http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/nvidia-fabricmanager-460-460.32.03-1.x86_64.rpm
$ sudo rpm -ivh ./nvidia-fabricmanager-460-460.32.03-1.x86_64.rpm
$ reboot
インストール後にvCenterで確認すると次のようにAPIのミスマッチなど若干エラーが出ていますが、簡単な動作確認しても特に問題は無いので色々と試してみたいと思います。
※見た感じ特に問題はなさそう。
$ bitfusion smi
+----------------------------------------------------------------------------------------+
| 192.168.68.41:56001 Driver Version: 470.63.01 |
+--------------------------------------+-------------------------+-----------------------+
| GPU Name Persistence-M | Virt Mem Alloc / All | BusId Vol Uncorr ECC |
| Fan Temp Perf Pwr:Usage/Cap | Phy Mem Used / All | GPU-Util Compute M. |
|======================================+=========================+=======================|
| 0 NVIDIA GeForce GTX ... Disabled | 0 MB / 6078 MB | 00000000:13:00.0 N/A |
| 42% 36C P8 8W / 120W | 2 MB / 6078 MB | 0% Default |
+--------------------------------------+-------------------------+-----------------------+
$ bitfusion list_gpus
- server 0 (leader) [192.168.68.41:56001]: running 0 tasks
|- GPU [0]: free memory (6078 / 6078MiB) NVIDIA GeForce GTX 1060 6GB (6.1)
2021年8月18日水曜日
vSphere7 on Dell Precision
最近はTanzuやその他のKubernetesを試すのにリソースが足りなかったり、Jetson Nanoは GPU使えるけどできることが限られたりと、試したいこともできなくなってきました。
ということで自宅検証機としてリソースもまぁまぁあって、GPUが積める or 積んでいるPCを 探していたところ、ヤフオクでいいのを見つけました。
Dell Precision 3630!
メモリはできれば64GB以上ほしかったのですが、32GBですがまぁよしとして、CPUはi7-8700の6コア、 GPUはNVIDIAのGTX1060を搭載しています。※最大メモリサイズは128GBなので、足りなくなったら足す ことも検討。
vSphere7をインストールしているような情報は海外含めて見つけることはできなかったので、 最終的にインストールできるかドキドキしながらのヤフオク入札&落札となりましたが、全く問題なく vSphere7のインストールが完了しました。
リソースも増え、GPUも使えて、今後できることが増えたので色々と試していきたいと思います。
2021年7月6日火曜日
VMware Tanzu on Intel NUC
Tanzuを自宅の限られたリソースで試してみたくて、色々と調べて見つけた情報がこの2つ。
Demo Appliance for Tanzu Kubernetes Grid
Complete vSphere with Tanzu homelab with just 32GB of memory!
どちらもTwitterでいつも拝見しているWilliam Law( @lamw )さんの情報です。
自宅で自由になるNUCはちょうど32GBメモリなのでブログの通り構築すれば問題ないはず!とうことで、Demo ApplianceではなくNUCで構築してみました。
Williamさんのブログを見てもらうとわかると思いますが、vCenterのデプロイ・設定から、haproxyのデプロイなどなどほとんどがPowerCLIのスクリプトが公開されているので簡単に導入することができました。
ほとんどがスクリプトのダウンロード、環境に合わせてNWやパスワードを修正、実行で完了してしまいます。
ただ、私が構築した際には、vCenterへの接続でsslのエラーがでたので -Forceのオプションや、ワークロードの管理を有効にする際もSSL関連のエラーが出たのでスクリプトにSet-PowerCLIConfigurationのパラメータを追加したくらいでした。
今までPowerCLIをがっつり使うことはあまりなかったのですが、便利なのを実感しました。。。
スクリプト残しておけば実行するだけでいつも同じ環境できるし。今回は色々と勉強になりました。
2021年6月25日金曜日
Enable Nvidia V100 GPU in Passthrough mode on vSphere
普段はNVIDIA T4を使うことが多くて特に意識することなくパススルーで利用していたのですが、今回V100をPass Throughで使おうとしたら電源が入らない。。。
表示されたエラーは、、、
仮想マシンのパワーオンに失敗しました。モジュール「DevicePowerOn」のパワーオンに失敗しました。
これって他の仮想マシンでパススルーで使っている場合に出た気がするけど、今回は1台しか使ってないしということで調べてみたら、ハイエンドのPCIデバイスはBIOSじゃなくEFIで仮想マシンを設定する必要があるそうです。
こんなのがあるなんて落とし穴でした。。。
ちなみにハイエンドのPCIデバイスというのは16GBメモリ以上搭載のデバイスなので、NVIDIAのV100、V100S、A100などなどのほかにも、AMDやいくつかのFPGAも対象となるようです。
なので、まずはOSのEFIでインストールが必要なのと、仮想マシンオプションを2つ設定する必要があります。
1つ目はこちら。気にせずこのまま設定して大丈夫です。
pciPassthru.use64bitMMIO=“TRUE”
2つ目が注意が必要です。下の例は128を設定していますが、実際にはPCIデバイスメモリ*枚数*2の値が必要なので、32GBメモリのV100*2枚使う場合は、32GB*2枚*2で128を指定する必要があります。
pciPassthru.64bitMMIOSizeGB=“128
ちなみに、32GBモデル*1枚の場合はこんな感じです。
この値が間違っていると、仮想マシンの電源は入るのですが入った直後にエラーもなく電源落ちます。。。
パススルーは特に意識する必要がないと思っていましたが落とし穴がありますのでご注意ください。
2021年5月20日木曜日
Bitfusion3.5 Release
3月にBitfusion3.0.0、4月に3.0.1がリリースされて、 早くもBitfusion3.5が5月11日にリリースされました。
いっときアップデートが2,3ヶ月止まっていたのですが、また1ヶ月ペースでアップデートされるようになりました。
今回のアップデートはつぎのとおり、主にCudaのバージョンサポートが追加されているのですが、1つだけRDMA関連で機能追加されています。
- NVIDIA CUDA 11.2.2 のサポートを追加
- NVIDIA cuDNN 8.1.1 のサポートを追加
- NVIDIA Collective Communications Library (NCCL) 2.8.4 のサポートを追加
ib_read_bw、ib_read_lat、ib_send_bw、ib_send_lat、ib_write_bw、ib_write_latなどの PVRDMA のネットワーク パフォーマンス テスト ツールが vSphere Bitfusion OVA ファイルに事前インストールされています。
Bitfusionはネットワークのスループットがポイントなので、デフォルトでRDMA関連情報が取得できるようになるのはありがたいですね。
2021年4月26日月曜日
AI Enterprise Suite with vSpere7/Tanzu
3月にNVIDIA社から発表のあった、AI Enterprise Suiteをご存知でしょうか?
NVIDIA AI Enterprise SuiteはNVIDIAが認定したGPUサーバと、vSphere7 U2での稼働が認定されたソフトウェアの組み合わせになります。
AIワークロードの迅速な展開、管理、スケーリングのコンポーネントが含まれるとあり、仮想マシンだけではなくTanzu環境でも利用できるようです。
NVIDIAのサイトでは次のような画像が掲載されていますが、こちらからもTanzuがコンポーネントとして追加されているのが見て取れます。
それ以外には、右下に配置されている DPUの部分もポイントになってくると思います。DPUでRDMAを利用することによって、帯域幅と遅延を小さくし、複数ノードでのAIモデルの学習にも対応してくるものだと思います。
NGCにも新しく学習モデルが多数公開されているようなので、ますます楽しみになってきました。
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 のサポート
- vSphere Bitfusion サーバの最小メモリ要件は、サーバにインストールされている GPU メモリの合計の 150% 以上である必要があります。
- vSphere Bitfusion サーバの最小メモリ要件は、32 GB と、サーバにインストールされている GPU メモリの合計の 150% のいずれか大きい方です。
nvidia-smi アプリケーションの透過的インストール"は、2.5.1まではnvidia-smiを直接実行することはできず、実行するには次のようにbitfusionコマンドを利用する必要がありました。vSphere Bitfusion サーバで使用されている GPU のメモリの合計が 128 GB より大きい場合、GPU パススルーを使用できない
デフォルトでは、GPU パススルーの高度な仮想マシン プロパティ
pciPassthru.64bitMMIOSizeGBは 256 に設定されています。1 台の vSphere Bitfusion サーバ上で、128 GB よりも大きいメモリを搭載した GPU を使用している場合、この構成によってパススルーの障害が発生する可能性があります。





