S822LC for HPC(以降Minsky)にIBM Cloud Private(以降ICP)を導入し、GPUのスケジューリング検証を行いました。
背景
MinskyはLPARに対応していないため、区画を複数作り、その区画にGPUを割り当てることができません。
しかし、ICPを使用するとGPUスケジューリングが可能になり、コンテナにGPUを割り当てることができます。すなわち2個GPUがあれば、別々のコンテナを2つ作り、それぞれに別のGPUを割り当てることができます。
そこで、IGUAZU Hybrid Cloud Center(IHCC)にて実際に検証してみました。
検証概要
使用したハード/ソフト
- IBM S822LC for HPC(Minsky)
- Redhat Enterprise Linux 7.5 for ppcle64
- IBM Cloud Private
検証内容
Minsky上にIBM Cloud Privateを導入。PowerAIを導入したコンテナイメージを作成。作成したイメージをもとに2個のPODを作成。それぞれのPODのコンテナにGPUを1個ずつ割り当て。
それぞれのコンテナで異なるDeepLearningの学習を実行。
(下記図参照)
検証結果
① サーバー本体では2個あるGPUが、それぞれのコンテナで1個づつ認識されていることが確認できました。
(下図参照)
・サーバー上でのGPU認識
・各コンテナでのGPU認識
② 別々に学習できることが確認できました。
※左右でそれぞれ別のコンテナ上で、別データをもとに学習しています。
まとめ
LPARは使用できないが、ICPを導入することで、コンテナ単位でGPUを割り当てることができ、実際にDeepLearningの学習できることが確認できました。GPUを分割して使用したい場合はICPの導入を検討してみてください。
参考
用語集
- IBM Cloud Private
- Kubernetesをオンプレ環境で構築するためのソフトウェア
- Kubernetes
- コンテナの展開、管理等を行うための、コンテナオーケストレーションソフトウェア
- コンテナ
- アプリケーションの分割された空間を提供
- POD
- Kubernetesのコンテナ展開最小単位。PODの中に1個から複数個のコンテナを含める