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

Container Compute Service:ACS GPU 高速化 Pod の GPU モデルとドライバーバージョンの指定

最終更新日:Aug 25, 2026

Alibaba Cloud Container Compute Service (ACS) は、コンテナ向けのサーバーレスコンピューティング能力を提供します。GPU リソースを使用する際、ACS では Pod で GPU モデルとサポートされているドライバーバージョンを指定できます。この機能により、インフラ管理と O&M コストが大幅に削減されます。このトピックでは、Pod の作成時に GPU モデルとドライバーバージョンを指定する方法について説明します。

GPU モデル

ACS は複数の GPU モデルをサポートしています。これらのモデルは キャパシティー予約 で使用するか、Pod の作成時にオンデマンドでリクエストできます。使用する方法は、コンピューティングクラスによって異なります。

  • 高性能ネットワーク GPU

    ノード予約のみリクエストできます。予約を購入した後、各予約をクラスターに関連付ける必要があります。各予約は、クラスター内で独立した仮想ノードとして実行されます。詳細については、「GPU-HPN キャパシティー予約」をご参照ください。

  • GPU インスタンス

    GPU リソースをオンデマンドで使用するか、キャパシティー予約を設定できます。Pod を作成した後、ACS は自動的に キャパシティー予約 から GPU リソースを差し引きます。

説明

サポートされている GPU モデルのリストを表示するには、してください

Pod の GPU モデルの指定

GPU-HPN の場合、ノード予約のみリクエストできます。各予約はクラスター内で仮想ノードとして実行されます。仮想ノードの label には GPU モデルが含まれます。ノードアフィニティスケジューリング を使用して、Pod をその仮想ノードにスケジューリングできます。詳細については、「属性 label を使用して GPU-HPN 仮想ノードに Pod をスケジューリングする」をご参照ください。

GPU 高速化 Pod の場合、Pod の labelsnodeSelector フィールドで GPU モデルを明示的に指定する必要があります。

コンピューティングクラス

プロトコルフィールド

高性能ネットワーク GPU インスタンスタイプ

spec.nodeSelector

apiVersion: v1
kind: Pod
metadata:
  labels:
    # コンピューティングクラスを GPU-HPN に設定します。
    alibabacloud.com/compute-class: "gpu-hpn"
  name: gpu-example-pod
spec:
  nodeSelector:
 # GPU モデルを example-model に設定します。
    alibabacloud.com/gpu-model-series: "example-model"
  ...

GPU インスタンスタイプ

metadata.labels[

alibabacloud.com/gpu-model-series]

apiVersion: v1
kind: Pod
metadata:
  labels:
    # コンピューティングクラスを gpu に設定します。
    alibabacloud.com/compute-class: "gpu"
    # GPU モデルを example-model (T4 など) に設定します。
    alibabacloud.com/gpu-model-series: "example-model"
  name: gpu-pod
spec:
...

ドライバーバージョン

GPU アプリケーションは通常、2007 年に NVIDIA がリリースした並列コンピューティングプラットフォームおよびプログラミングモデルである Compute Unified Device Architecture (CUDA) に依存しています。次の図は、CUDA アーキテクチャを示しています。CUDA ソフトウェアスタックのドライバー API とランタイム API は、次の点で異なります。

  • ドライバー API:全機能を提供しますが、使用が複雑です。

  • ランタイム API:ドライバー API の一部をラップし、一部のドライバー初期化手順を隠蔽します。より簡単に使用できます。

CUDA ドライバー API は NVIDIA ドライバー パッケージに含まれています。CUDA ライブラリと CUDA ランタイムは CUDA Toolkit パッケージに含まれています。

cuda.png

ACS クラスターで GPU アプリケーションを実行する場合は、次の点に注意してください。

  1. NVIDIA が提供する CUDA ベースイメージ を使用して、コンテナイメージに CUDA Toolkit をインストールしてください。これらのベースイメージには、すでに CUDA Toolkit が含まれています。その後、アプリケーションが必要とする特定の CUDA Toolkit バージョンに一致するベースイメージの上に、直接アプリケーションイメージをビルドできます。

  2. Pod の作成時にドライバーバージョンを指定する方法については、「Pod のドライバーバージョンを指定する」をご参照ください。

  3. CUDA Toolkit と NVIDIA ドライバーの互換性については、NVIDIA の公式ドキュメント「CUDA Toolkit リリースノート」をご参照ください。

説明

アプリケーションが使用する CUDA ランタイム API のバージョンは、そのコンテナイメージのビルドに使用される CUDA ベースイメージのバージョンと一致する必要があります。たとえば、コンテナイメージが CUDA ベースイメージ NVIDIA/CUDA:12.2.0-base-Ubuntu20.04 からビルドされている場合、アプリケーションは CUDA ランタイム API バージョン 12.2.0 を使用します。

Pod のドライバーバージョンの指定

ACS では、アプリケーションが GPU リソースを使用する際に、Pod の label を使用してドライバーバージョンを指定できます。次の表に示す形式を使用してください。

コンピューティングクラス

プロトコルフィールド

GPU インスタンス

metadata.labels[alibabacloud.com/gpu-driver-version]

apiVersion: v1
kind: Pod
metadata:
  labels:
    # コンピューティングクラスを gpu に設定します。
    alibabacloud.com/compute-class: "gpu"
    # GPU モデルを example-model (T4 など) に設定します。
    alibabacloud.com/gpu-model-series: "example-model"
    # ドライバーバージョンを 535.161.08 に設定します。
    alibabacloud.com/gpu-driver-version: "535.161.08"
  name: gpu-pod
spec:
...

高性能ネットワーク GPU インスタンス

apiVersion: v1
kind: Pod
metadata:
  labels:
    # コンピューティングクラスを GPU-HPN に設定します。
    alibabacloud.com/compute-class: "gpu-hpn"
    # ドライバーバージョンを 535.161.08 に設定します。
    alibabacloud.com/gpu-driver-version: "535.161.08"
  name: gpu-pod
spec:
...

GPU ドライバーバージョン

指定するドライバーバージョンが ACS でサポートされていることを確認してください。詳細については、「サポートされている GPU ドライバーバージョン」をご参照ください。

Pod のデフォルト GPU ドライバーバージョン

ACS では、ルールを使用して特定の Pod 属性を設定できます。デフォルトのドライバーバージョンが要件を満たさない場合は、kube-system/acs-profile ConfigMap に次の設定を追加することで、特定のタイプの GPU Pod に異なる GPU ドライバーバージョンを割り当てることができます。詳細については、「セレクターの設定」をご参照ください。

次の設定では、クラスター内のすべての GPU-HPN Pod のドライバーバージョンを 535.161.08 に設定します。

apiVersion: v1
kind: ConfigMap
metadata:
  name: acs-profile
  namespace: kube-system
data:
  # 他のシステム設定は変更しません。
  selectors: |
    [
      {
        "name": "gpu-hpn-driver",
        "objectSelector": {
          "matchLabels": {
            "alibabacloud.com/compute-class": "gpu-hpn"
          }
        },
        "effect": {
          "labels": {
            "alibabacloud.com/gpu-driver-version": "535.161.08"
          }
        }
      }
    ]

  1. gpu-pod-with-model-and-driver.yaml という名前のファイルを作成し、次の YAML コンテンツをファイルに追加してください。このファイルは、gpu コンピューティングクラスを持つ Pod を定義します。Pod は、example-model モデルと 535.161.08 ドライバーバージョンを持つ GPU をリクエストします。

    apiVersion: v1
    kind: Pod
    metadata:
      name: gpu-pod-with-model-and-driver
      labels:
        # コンピューティングクラスを gpu に設定します。
        alibabacloud.com/compute-class: "gpu"
        # GPU モデルを example-model (T4 など) に設定します。
        alibabacloud.com/gpu-model-series: "example-model"
        # ドライバーバージョンを 535.161.08 に設定します。
        alibabacloud.com/gpu-driver-version: "535.161.08"
    spec:
      containers:
      - image: registry.cn-beijing.aliyuncs.com/acs/tensorflow-mnist-sample:v1.5
        name: tensorflow-mnist
        command:
        - sleep
        - infinity
        resources:
          requests:
            cpu: 1
            memory: 1Gi
            nvidia.com/gpu: 1
          limits:
            cpu: 1
            memory: 1Gi
            nvidia.com/gpu: 1
  2. 次のコマンドを実行して、gpu-pod-with-model-and-driver.yaml をクラスターにデプロイしてください。

    kubectl apply -f gpu-pod-with-model-and-driver.yaml
  3. 次のコマンドを実行して、Pod のステータスを確認してください。

    kubectl get pod

    期待される出力:

    NAME                            READY   STATUS    RESTARTS   AGE
    gpu-pod-with-model-and-driver   1/1     Running   0          87s
  4. 次のコマンドを実行して、Pod 内の GPU 情報を確認してください。

    説明

    この例の /usr/bin/nvidia-smi コマンドは、サンプルのコンテナイメージに事前設定されています。

    kubectl exec -it gpu-pod-with-model-and-driver -- /usr/bin/nvidia-smi

    期待される出力:

    +---------------------------------------------------------------------------------------+
    | NVIDIA-SMI xxx.xxx.xx             Driver Version: 535.161.08   CUDA Version: xx.x     |
    |-----------------------------------------+----------------------+----------------------+
    ...
    |=========================================+======================+======================|
    |   x  NVIDIA example-model           xx  | xxxxxxxx:xx:xx.x xxx |                    x |
    | xxx   xxx    xx              xxx / xxxx |      xxxx /       xxx|      x%      xxxxxxxx|
    |                                         |                      |                  xxx |
    +-----------------------------------------+----------------------+----------------------+

    出力には、GPU モデル example-model とドライバーバージョン 535.161.08 が表示され、これらは Pod 定義の label と一致しています。

    重要

    表示されている出力は参考用です。実際の結果は、環境によって異なる場合があります。