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などなどの使い勝手を記事にしていきたいと思います。


2021年12月1日水曜日

Tanzu Community Edition with bitfusion

 先月発表されたTanzu Community Edition を触ってみようと思いつつ時間が経ってしまったのですが、やっと構築してみました。

詳細は色々な方がBlogに書いているのでそちらを見ていただければと思いますが、Docker Desktopで動かせるのって、検証機材を用意する必要もないので嬉しいですね。

Docker Desktopもいずれ試してみたいのですが、今回はvSpheseで試してみました。

結論から言うとすごく簡単に構築できます。

これまでちょっと使うならMicrok8sとか使っていましたが、これからはTanzu Community Editionばかりになりそうです。

そして、Bitfusionも全く心配してませんでしたが動かすことができました。

Bitfusionもマニュアルに載ってない使い方や、監視方法があるので今後ためしていきたいとおもいます。





2021年11月5日金曜日

Bitfusion on Kubernetes

bitfusionネタが続きますが、、、

Bitfusionは仮想マシン、ベアメタルなどで使うことができますが、Kubernetesでも利用することができます。公式にはTanzuがサポートされるようですが、マニュアルを見るとTanzuじゃなくても動きそう。。。


ということで自宅の環境にUbuntu+microk8sを構築して、microk8s上のコンテナでBitfusionを利用してみました。

※BitfusionサーバとKubernetes環境の構築は省略します。


Kubernetes環境のkubeconfigをローカルPCにダウンロードし、vCenterのBitfusionタブ内のToken画面でkubeconfigをアップロードすると、Namespace一覧が表示されるので、Bitfusionを利用するNamespaceを選択します。



Tokenタブへ戻り、CREATEボタンを選択します。



Create Tokenウィンドウで先程選択したNamespaceが表示されるので選択します。

Tokensタブへ戻るとTokenが作成されていることが確認できます。




これでvCenter側での設定は完了なので、あとはbitfusionのリソースを使うことをyamlファイルに設定して、Podを起動するだけです。

次のyamlの中で赤字の部分を変更するだけでBitfusionが利用できるコンテナを起動することができます。

apiVersion: v1 kind: Pod metadata: name: pod_name spec: hostNetwork: true containers: - name: container_name image: container_image_path command: ["/bin/sh", "-c", "while : ;do curl http://localhost:80/; sleep 3; done"] volumeMounts: - name: config-files mountPath: /etc/bitfusion - name: certificate mountPath: /etc/bitfusion/tls volumes: - name: config-files projected: defaultMode: 0640 sources: - secret: name: bitfusion-client-secret-client.yml - secret: name: bitfusion-client-secret-servers.conf - name: certificate secret: secretName: bitfusion-client-secret-ca.crt defaultMode: 0640

引用:Enabling the vSphere Bitfusion Client


構築前は大変なのかと思っていましたが、あまりにも簡単で拍子抜けするくらいでした。