2022年12月13日火曜日

Windows(Docker)+Bitfusion

Bitfusionの話しは聞かなくなってきたけど、自宅で使うにはBitfusionってすごい便利なんで私はまだまだBitfusion使っています。


今回はWindow11のDocker Desktopでコンテナ動かして、Bitfusionを使ってみました。

vCenterで管理されているホストではないのでvCenterでTokenを作る必要がありますが、動かすことができました。


とりあえず認識だけですが、bitfusion smiも、Bitfusion list_gpusも問題なく動いています。 しかも自宅のWifi環境経由で。



もう少しいじってみてからパフォーマンス系のツールも動かしてみようかと思います。

2022年11月8日火曜日

bitfusion usage Command

 Bitfusion4.5.2のRelease Noteに記載されていたこちらの文言。

 

vSphere Bitfusion クライアントは、vSphere Bitfusion コマンドライン インターフェイスで現在の GPU の割り当てと使用率を表示できます。

 

じゃぁ、どんなコマンドなんだ!ってことで調べて試してみたところ、bitfusion usageというコマンドが追加されていました。


自宅のBitfusion環境でgpu_burnでGPUに負荷をかけつつコマンド実行してみました。

 

 

負荷をかけた状態でvCenterで確認すると、Allocation-1、Core Utilization-1、MemoryUtilization -0.85でしっかりGPUに負荷がかかっていることがわかります。


負荷をかけた状態でnvidia usageコマンドを実行してみました。

どのBitfusion Serverを利用して、どの程度のメモリが割り当てられているか確認することができます。

4.5.1のバージョンまではvCenterでしか利用状況がわからなかったので、CLIで確認できるのでGPUが利用中でジョブがキューにはいったのか、トラブルなのかの切り分けにも使えそうです。

 



 


 

2022年9月8日木曜日

vSphere + Project Radium

 

 VMware Exploreもおわり、vSphere8やvSAN8の発表がありました。

個人的に期待していたAI / ML系のアップデートは仮想マシンへのGPU割当数が拡張されたというくらいで、Project Radium関連の発表はありませんでした。

Bitfusionは特にないだろうし、セッションもないだろうなぁ。。。と思っていましたが、思ったとおりやはりありませんでした。

ですが、YoutubeにProject Radiumのデモ動画がアップされました!




 

NVIDIAとAMDのGPUでTensorflow動かしていますね。リリースされるのが楽しみです!

2022年9月1日木曜日

Bitfusion + Yolox

 自宅Bitfusionを利用して色々と試し中。

公式ドキュメントでは、Yolov3での利用サンプルが記載されています。

vSphere Bitfusion サンプルガイド 

 

このYolov3でも全く問題なく動作したのですが、Yoloxでも動作を試してみました。

 

特に変わった設定もせずに実行することができました。

 

 

ただ、vCenterのBitfusionタブを見ていて気づいたのが、GPUがOverCommit(でいいのかな?)できてる!


最近若干アップデートの間隔が長くなってきた気がしますが、着実に進化していますね。

Project Radiumのリリースも楽しみです。


2022年8月2日火曜日

Bitfusion + RAPIDS

GPUを使ってAI / MLをしている方はRAPIDSの名前を聞いたことかある人もいるかと多いと思います。

RAPIDSはGPUを使ってAIのワークフローの前処理や学習などのステップを高速化するためのライブラリです。

このRAPIDSはコンテナイメージで提供されていて、私もよく利用するJupyterもふくまれています。

Jupyterはbitfusionは連携することができるので、試してみたら問題なくRAPIDSのJupytetにくみこむことができました!


とりあえずRAPIDSのJupyterと連携だけなのでこのあと動作確認すすめてみようとおもいます。

2022年7月16日土曜日

bitfusion 4.5.2 + GTX1060

bitfusionがサポートするGPUはデータセンタ向けGPUのV100などで、GTXなどのGeForceはサポートされていないため自宅で利用するためには手動で適切なドライバーをインストールし、設定もいくつか変更する必要がありました。


ですが、最新の4.5.2はドキュメント通りの手順でBitfusionサーバが展開できました!
ドライバーも問題なくインストールされてエラーも無し!


どのバージョンからデプロイできるようになったかは試していないのですが、ますます便利になりました!






2022年7月15日金曜日

Bitfusion server 4.5.2 resource

自宅環境にbitfusion4.5.2をデプロイしてみました。

bitfusionサーバのovaを展開してみたけど、リソース増えてる?
8 vCPUの32GBメモリも必要なんだ。前はこんなに必要なかったきがしたけど、、、


2022年7月12日火曜日

Bitfusion 4.5.2 released

最近ドキュメントの確認をしていなくて気付かなかったのですが、6月23日にBitfusionの4.5.2がリリースされていました。


主なアップデート内容はこちらです。

  • vSphere Bitfusion クライアントは、vSphere Bitfusion コマンドライン インターフェイスで現在の GPU の割り当てと使用率を表示できます。
  • vSphere Bitfusion クライアントは、run または request コマンドを実行するときにラベルを付けることができます。これにより、vSphere Bitfusion ユーザー インターフェイスでクライアントを効率的に識別できます。
  • vSphere Bitfusion サーバ証明書は、vSphere Bitfusion コマンドライン インターフェイスを使用して更新できます。
  • vSphere Bitfusion クライアント証明書は、vSphere Bitfusion ユーザー インターフェイスを使用して更新できます。
  • Ubuntu Linux 22.04 のサポートを追加しました。
  • SUSE Linux Enterprise Server 15.3 のサポートを追加しました。
  • Red Hat Enterprise Linux 7.9 以降のマイナー バージョンのサポートを追加しました。
  • Red Hat Enterprise Linux 8.5 以降のマイナー バージョンのサポートを追加しました。
  • NVIDIA Driver 470.129.06 のサポートを追加しました。
  • NVIDIA CUDA 11.3 および 11.4.4 のサポートを追加しました。
  • NVIDIA cuDNN 8.2.4 のサポートを追加しました。
  • PyTorch 1.2.~ 1.8 のサポートを追加しました。
  • Tensorflow 1.15、2.2、2.3、2.4 および 2.6 のサポートを追加しました。
  • TensorRT 7.1.3、7.2.3 および 8.0.3 のサポートを追加しました。
  • PaddlePaddle 2.0.0、2.2.2 および 2.3.0 のサポートを追加しました。
  • CentOS 8 のサポートを削除しました。

アップデート内容の殆どがソフトウェアのサポート追加になっていますが、今回のアップデートで使えそうな機能は1つ目のbitfusionクライアントからGPUリソースの割当状況を確認できる点ではないでしょうか。

これまではGPUの割当状況がクライアント側こら確認できなかったので、やってみたらGPUが使われていてSpinningだったなんてことがあったかとも思いますが、このバージョンからは事前に割当状況を確認して利用することができるようになります。


2022年4月28日木曜日

Add disk to worker node

今回はvsphere with tanzuのworkerノードへのディスク追加方法についてご紹介します。

コンテナは軽量という印象をお持ちの人も多いと思いますが、コンテナイメージによっては数GBのサイズがあったりで意外とサイズの大きいものもあります。

私はAI系のコンテナイメージを利用することが多いのですが、これがイメージサイズが大きくてpull imageで時間がかることがあります。時間がかかるだけであればいいのですが、ディスクサイズに収まらないということも発生します。

通常のKubernetesやDockerであればホストOSのディスクサイズは仮想マシンでも数十GBから数百GB程度取ることがあるのであまり問題はないのですが、TanzuでTKCを作成してWoker Nodeを展開すると私の環境の場合はディスクサイズが16GBで、Workerノードのディスク容量が足りずにコンテナイメージを展開できないことがありました。


状況としてはkubetctl get pod でStatusがEvictedになります。

kubectl describe podで詳細を確認すると、The node was low on resource: ephemeral-storage.のメッセージが、、、


色々ためしたのですがWorkerノードのディスクを拡張するしかなく、tkcを作成するyamlファイルに以下を追加することで回避できました。


volumes:

  - name: containerd

    mountPath: /var/lib/containerd

    capacity:

      storage: 64GiB


ネット探してもこのあたりに困っている人は少なそうだったんですが、Workerノードのディスクサイズに困っている人は少ないのか、周知の事実なのか、、、

とりあえず、やっとコンテナ使えるようになりました。











2022年4月5日火曜日

AI Enterprise with Tanzu? Virtual Machine?

GTC 2022でもAI Enterpriseのアップデートがありましたね。

これまでのTanzuの他にOpenshift、Bareメタルもサポートされると発表がありましたので多くの環境で利用することができるようになります。

私もまずはvSphere上の仮想マシンでAI Enterpriseを試してみて、今はTanzuでのAI Enterpriseの構築にチャレンジしています。

Tanzuも仮想サーバも基本はNGCからコンテナを取得してAI環境を展開、利用することになるのでデータサイエンティストからしたら代わりなく利用できますし、どちらもGPUリソース割り当てなどは使い慣れたvCenterでできるので、インフラ管理者にも優しい仕様になっています。

まだ触りだけなので、もうちょっと使いこなせるようになったらMIGやNGCなどなどの使い勝手を記事にしていきたいと思います。