GPUコンピューティングにContainer Service for Kubernetes (ACK) クラスターを使用する場合、ラベルを使用して、特定のGPU高速化ノードにアプリケーションをスケジュールできます。 このトピックでは、GPUモデルの指定に使用されるラベルについて説明します。 このトピックでは、特定のGPUモデルにアプリケーションをスケジュールする方法と、特定のGPUモデルにアプリケーションをスケジュールすることを回避する方法についても説明します。
GPUモデルの指定に使用されるラベル
GPU高速化ノードがACKクラスターに追加されると、次のラベルが自動的にノードに追加されます。
ラベル | 説明 |
aliyun.accelerator/nvidia_name | GPU モデルです。 |
aliyun.accelerator/nvidia_mem | 各GPUのメモリサイズ。 |
aliyun.accelerator/nvidia_count | ノードによって提供されるGPUの数。 |
nvidia-smiコマンドラインツールをGPUアクセラレーションノードで実行して、上記のラベルの値を照会できます。
クエリタイプ | コマンド |
GPUモデルの照会 |
|
各GPUのメモリサイズの照会 |
|
ノードによって提供されるGPUの数を照会する |
|
次のコマンドを実行して、クラスター内のすべてのノードが提供するGPUモデルを照会します。
kubectl get nodes -L aliyun.accelerator/nvidia_name
NAME STATUS ROLES AGE VERSION NVIDIA_NAME
cn-shanghai.192.XX.XX.176 Ready <none> 17d v1.26.3-aliyun.1 Tesla-V100-SXM2-32GB
cn-shanghai.192.XX.XX.177 Ready <none> 17d v1.26.3-aliyun.1 Tesla-V100-SXM2-32GB
cn-shanghai.192.XX.XX.130 Ready <none> 18d v1.26.3-aliyun.1 Tesla-V100-SXM2-32GB
cn-shanghai.192.XX.XX.131 Ready <none> 17d v1.26.3-aliyun.1 Tesla-V100-SXM2-32GB
cn-shanghai.192.XX.XX.132 Ready <none> 17d v1.26.3-aliyun.1 Tesla-V100-SXM2-32GB
特定のGPUモデルにアプリケーションをスケジュールする
上記のラベルを使用して、特定のGPUモデルにアプリケーションをスケジュールできます。 このセクションは例を提供します。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
[ジョブ] ページで、右上隅の [YAMLから作成] をクリックします。 次のページが表示されます。
アプリケーションの作成後、クラスターの詳細ページの左側のナビゲーションウィンドウで、
を選択します。 [ポッド] ページで、指定したGPUモデルを備えたノードにポッドがスケジュールされていることがわかります。
特定のGPUモデルへのアプリケーションのスケジューリングを避ける
ノードアフィニティとアンチアフィニティを設定することで、特定のGPUモデルに対するアプリケーションのスケジューリングを回避できます。 このセクションは例を提供します。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
[ジョブ] ページで、右上隅の [YAMLから作成] をクリックします。 次のページが表示されます。
アプリケーションの作成後、クラスターの詳細ページの左側のナビゲーションウィンドウで、
を選択します。 [ポッド] ページで、aliyun.accelerator/nvidia_nameラベルがないノードにポッドがスケジュールされていることがわかります。
関連ドキュメント
クラウドネイティブaiスイートが提供するスケジューリングコンポーネントack-AI-installerをインストールした後、GPU高速化ノードにラベルを追加して、GPU共有やトポロジ対応のGPUスケジューリングなどのスケジューリングポリシーを有効にすることができます。 詳細については、「GPUスケジューリングポリシーを有効にするためのラベルとラベル値の変更方法」をご参照ください。