すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:共有 GPU スケジューリングの設定:cGPU 計算能力スケジューリングポリシー

最終更新日:Mar 25, 2026

ACK マネージドクラスター Pro エディション では、共有 GPU 機能がサポートされています。本トピックでは、共有 GPU コンポーネントのポリシーを設定することで、共有 GPU の計算能力割り当てポリシーを構成する方法について説明します。

cGPU の概要については、「cGPU とは」をご参照ください。

前提条件

  • ACK Pro エディションのクラスターが作成済みである必要があります。クラスターの Kubernetes バージョンは 1.18.8 以降である必要があります。Kubernetes のバージョンアップに関する操作手順については、「関連ドキュメント」をご参照ください。

  • cGPU のバージョンは 1.0.6 以降である必要があります。cGPU のバージョンアップに関する操作手順については、「関連ドキュメント」をご参照ください。

注意事項

  • ノードに既に cGPU 隔離モジュールがインストールされている場合、ポリシーを有効化するには、共有 GPU コンポーネントのインストール後にノードを再起動する必要があります。詳細については、「関連ドキュメント」をご参照ください。

    説明

    ノードにログインし、cat /proc/cgpu_km/version コマンドを実行して、cGPU 隔離モジュールがインストール済みかどうかを確認できます。コマンドの出力に cGPU のバージョン番号が表示された場合、cGPU 隔離モジュールがインストール済みであることを示します。

  • ノードに cGPU 隔離モジュールが未インストールであるか、またはアンインストール済みの場合、共有 GPU コンポーネントをインストールした直後にポリシーが即時有効になります。

  • 同一クラスター内の共有 GPU ノードでは、1 つのポリシーのみを使用できます。

ステップ 1:共有 GPU コンポーネントのインストール状況の確認

共有 GPU の計算能力割り当てポリシーを構成する際の操作方法は、共有 GPU コンポーネントがインストール済みかどうかによって異なります。そのため、まずクラスター内でのコンポーネントのインストール状況を確認する必要があります。

  1. Container Service Management Console にログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。

  2. クラスターリスト ページで、クラスターの名前をクリックします。 左側のナビゲーションウィンドウで、アプリケーション > Helm をクリックします。

  3. [Helm] ページで、コンポーネント一覧から [ack-ai-installer] コンポーネントを確認します。

    ack-ai-installer コンポーネントが存在する場合は、共有 GPU コンポーネントがインストール済みです。存在しない場合は、未インストールです。

ステップ 2:共有 GPU 計算能力割り当てポリシーの設定

本セクションでは、共有 GPU コンポーネントが未インストールの場合と、すでにインストール済みの場合の、2 つのシナリオにおける共有 GPU 計算能力割り当てポリシーの設定方法について説明します。手順は以下のとおりです。

共有 GPU コンポーネントが未インストールの場合

  1. Container Service Management Console にログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。

  2. クラスターリスト」ページで、クラスターの名前をクリックします。左側のナビゲーションウィンドウで、「アプリケーション > クラウドネイティブ AI コンポーネントセット」をクリックします。

  3. [クラウドネイティブ AI コンポーネントセット] ページで、[デプロイ] をクリックします。

  4. スケジューリング エリアで、スケジューリングポリシーの拡張 (一括タスクスケジューリング、GPU 共有、GPU トポロジ認識) を選択し、次に右側の 上級 をクリックします。

  5. パラメーター ページで、policy フィールドを変更します。次に、OK をクリックします。policy.jpgポリシーの値の詳細については、「cGPU サービスの使用例」をご参照ください。

    説明

    0

    平均スケジューリング。各コンテナーは固定のタイムスライスを占有し、タイムスライス比率は 1/max_inst です。

    1

    プリエンプティブスケジューリング。各コンテナーは可能な限り多くのタイムスライスを占有し、タイムスライス比率は 1/current_number_of_containers です。

    2

    重み付きプリエンプティブスケジューリング。ALIYUN_COM_GPU_SCHD_WEIGHT の値が 1 より大きい場合、自動的に重み付きプリエンプティブスケジューリングが使用されます。

    3

    固定計算能力スケジューリング。計算能力の固定割合を使用します。

    4

    弱計算能力スケジューリング。隔離レベルはプリエンプティブスケジューリングより弱くなります。

    5

    ネイティブスケジューリング。これは GPU ドライバー自体のスケジューリング方式です。

  6. ページ下部の クラウドネイティブ AI コンポーネントセットのデプロイ をクリックします。

共有 GPU コンポーネントがインストール済みの場合

  1. 共有 GPU コンポーネント内で cGPU 隔離モジュールをインストールする DaemonSet を編集するには、以下のコマンドを実行します。

    kubectl edit daemonset cgpu-installer -nkube-system
  2. cGPU 隔離モジュールをインストールする DaemonSet を変更して保存します。

    1. image フィールドから DaemonSet のイメージバージョンを確認します。

      イメージバージョンが v1.0.6 以降であることを確認してください。image フィールドの例を以下に示します。

       image: registry-vpc.cn-hongkong.aliyuncs.com/acs/cgpu-installer:<Image Version>
    2. value の値を変更します。

      containers.env パラメーター配下で、POLICYvalue を目的のポリシー値に変更します。

      # その他のフィールドは省略。
      spec:
        containers:
        - env:
          - name: POLICY
            value: "1"
      # その他のフィールドは省略。

      value の値の説明は以下のとおりです。

      説明

      0

      平均スケジューリング。各コンテナーは固定のタイムスライスを占有し、タイムスライス比率は 1/max_inst です。

      1

      プリエンプティブスケジューリング。各コンテナーは可能な限り多くのタイムスライスを占有し、タイムスライス比率は 1/current_number_of_containers です。

      2

      重み付きプリエンプティブスケジューリング。ALIYUN_COM_GPU_SCHD_WEIGHT の値が 1 より大きい場合、自動的に重み付きプリエンプティブスケジューリングが使用されます。

      3

      固定計算能力スケジューリング。計算能力の固定割合を使用します。

      4

      弱計算能力スケジューリング。隔離レベルはプリエンプティブスケジューリングより弱くなります。

      5

      ネイティブスケジューリング。これは GPU ドライバー自体のスケジューリング方式です。

  3. 共有 GPU ノードのインスタンスを再起動します。詳細については、「関連ドキュメント」をご参照ください。