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認識

・各コンテナでのGPU認識

各コンテナでのGPU認識

② 別々に学習できることが確認できました。

※左右でそれぞれ別のコンテナ上で、別データをもとに学習しています。

確認画面

まとめ

LPARは使用できないが、ICPを導入することで、コンテナ単位でGPUを割り当てることができ、実際にDeepLearningの学習できることが確認できました。GPUを分割して使用したい場合はICPの導入を検討してみてください。

参考

用語集

IBM Cloud Private
Kubernetesをオンプレ環境で構築するためのソフトウェア
Kubernetes
コンテナの展開、管理等を行うための、コンテナオーケストレーションソフトウェア
コンテナ
アプリケーションの分割された空間を提供
POD
Kubernetesのコンテナ展開最小単位。PODの中に1個から複数個のコンテナを含める

資料ダウンロード