Tous les produits
Search
Centre de documentation

Container Compute Service:Spécifier les modèles de GPU et les versions de pilote pour les pods ACS accélérés par GPU

Dernière mise à jour :Aug 24, 2026

Alibaba Cloud Container Compute Service (ACS) fournit une puissance de calcul serverless pour les conteneurs. Lorsque vous utilisez des ressources GPU, ACS vous permet de déclarer les modèles de GPU et les versions de pilotes prises en charge dans les pods. Cette fonctionnalité réduit considérablement la gestion de l'infrastructure ainsi que les coûts d'exploitation et de maintenance. Cette rubrique explique comment spécifier un modèle de GPU et une version de pilote lors de la création d'un pod.

Modèles de GPU

ACS prend en charge plusieurs modèles de GPU. Vous pouvez les utiliser avec des réservations de capacité ou les demander à la demande lors de la création d'un pod. La méthode utilisée dépend de la classe de calcul.

  • GPU haute performance pour le réseau

    Vous ne pouvez demander que des réservations de nœuds. Après l'achat des réservations, associez chaque réservation à votre cluster. Chaque réservation s'exécute en tant que nœud virtuel indépendant au sein du cluster. Pour plus d'informations, consultez la section Réservation de capacité GPU-HPN.

  • Instances GPU

    Vous pouvez utiliser les ressources GPU à la demande ou configurer des réservations de capacité. Après la création d'un pod, ACS déduit automatiquement les ressources GPU de votre réservation de capacité.

Remarque

Pour afficher la liste des modèles de GPU pris en charge, soumettez un ticket.

Spécifier un modèle de GPU pour un pod

Pour GPU-HPN, vous ne pouvez demander que des réservations de nœuds. Chaque réservation s'exécute en tant que nœud virtuel dans le cluster. Le libellé du nœud virtuel inclut le modèle de GPU. Utilisez la planification par affinité de nœud pour planifier les pods sur ce nœud virtuel. Pour plus d'informations, consultez la section Planifier des pods sur des nœuds virtuels GPU-HPN avec des libellés d'attribut.

Pour les pods accélérés par GPU, spécifiez explicitement le modèle de GPU dans les champs labels et nodeSelector du pod.

Classe de calcul

Champ de protocole

Exemple

Types d'instances GPU à réseau haute performance

spec.nodeSelector

apiVersion: v1
kind: Pod
metadata:
  labels:
    # Set the compute class to GPU-HPN.
    alibabacloud.com/compute-class: "gpu-hpn"
  name: gpu-example-pod
spec:
  nodeSelector:
 # Set the GPU model to example-model.
    alibabacloud.com/gpu-model-series: "example-model"
  ...

Type d'instance GPU

metadata.labels[

alibabacloud.com/gpu-model-series]

apiVersion: v1
kind: Pod
metadata:
  labels:
    # Set the compute class to gpu.
    alibabacloud.com/compute-class: "gpu"
    # Set the GPU model to example-model, such as T4.
    alibabacloud.com/gpu-model-series: "example-model"
  name: gpu-pod
spec:
...

Versions de pilote

Les applications GPU dépendent généralement de l'architecture CUDA (Compute Unified Device Architecture), une plateforme de calcul parallèle et un modèle de programmation publiés par NVIDIA en 2007. La figure suivante illustre l'architecture CUDA. L'API Driver et l'API Runtime de la pile logicielle CUDA diffèrent sur les points suivants.

  • API Driver : offre des fonctionnalités complètes, mais son utilisation est complexe.

  • API Runtime : encapsule une partie de l'API Driver et masque certaines étapes d'initialisation du pilote. Elle est plus simple à utiliser.

L'API CUDA Driver est incluse dans le package du pilote NVIDIA. La bibliothèque CUDA et l'environnement d'exécution CUDA sont inclus dans le package CUDA Toolkit.

cuda.png

Lorsque vous exécutez des applications GPU dans un cluster ACS, tenez compte des éléments suivants :

  1. Utilisez les images de base CUDA fournies par NVIDIA pour installer le CUDA Toolkit dans l'image de votre conteneur. Ces images de base incluent déjà le CUDA Toolkit. Vous pouvez ensuite créer directement l'image de votre application sur la base d'une image correspondant à la version spécifique du CUDA Toolkit requise par votre application.

  2. Pour spécifier une version de pilote lors de la création d'un pod, consultez la section Spécifier une version de pilote pour un pod.

  3. Pour obtenir des informations sur la compatibilité entre le CUDA Toolkit et les pilotes NVIDIA, consultez le document officiel de NVIDIA intitulé Notes de version du CUDA Toolkit.

Remarque

La version de l'API runtime CUDA utilisée par votre application doit correspondre à la version de l'image de base CUDA utilisée pour générer l'image de son conteneur. Par exemple, si l'image de votre conteneur est générée à partir de l'image de base CUDA NVIDIA/CUDA:12.2.0-base-Ubuntu20.04, votre application utilise la version 12.2.0 de l'API runtime CUDA.

Spécifier une version de pilote pour un pod

ACS vous permet de spécifier une version de pilote à l'aide de libellés de pod lorsque votre application utilise des ressources GPU. Utilisez le format indiqué dans le tableau suivant.

Classe de calcul

Champ de protocole

Exemple

Instances GPU

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

apiVersion: v1
kind: Pod
metadata:
  labels:
    # Set the compute class to gpu.
    alibabacloud.com/compute-class: "gpu"
    # Set the GPU model to example-model, such as T4.
    alibabacloud.com/gpu-model-series: "example-model"
    # Set the driver version to 535.161.08.
    alibabacloud.com/gpu-driver-version: "535.161.08"
  name: gpu-pod
spec:
...

Instance GPU avec réseau haute performance

apiVersion: v1
kind: Pod
metadata:
  labels:
    # Set the compute class to GPU-HPN.
    alibabacloud.com/compute-class: "gpu-hpn"
    # Set the driver version to 535.161.08.
    alibabacloud.com/gpu-driver-version: "535.161.08"
  name: gpu-pod
spec:
...

Versions de pilote GPU

Assurez-vous que la version de pilote spécifiée est prise en charge par ACS. Pour plus d'informations, consultez la section Versions de pilote GPU prises en charge.

Version de pilote GPU par défaut pour les pods

ACS vous permet de configurer des attributs de pod spécifiques à l'aide de règles. Si la version de pilote par défaut ne répond pas à vos besoins, ajoutez la configuration suivante à la ConfigMap kube-system/acs-profile pour attribuer différentes versions de pilote GPU à des types spécifiques de pods GPU. Pour plus d'informations, consultez la section Configurer les sélecteurs.

La configuration suivante définit la version du pilote sur 1.5.0 pour tous les pods GPU-HPN du cluster.

apiVersion: v1
kind: ConfigMap
metadata:
  name: acs-profile
  namespace: kube-system
data:
  # Keep other system configurations unchanged.
  selectors: |
    [
      {
        "name": "gpu-hpn-driver",
        "objectSelector": {
          "matchLabels": {
            "alibabacloud.com/compute-class": "gpu-hpn"
          }
        },
        "effect": {
          "labels": {
            "alibabacloud.com/gpu-driver-version": "1.5.0"
          }
        }
      }
    ]

Exemple

  1. Créez un fichier nommé gpu-pod-with-model-and-driver.yaml et ajoutez le contenu YAML suivant au fichier. Ce fichier définit un pod ayant la classe de calcul gpu. Le pod demande un GPU avec le modèle example-model et la version de pilote 535.161.08.

    apiVersion: v1
    kind: Pod
    metadata:
      name: gpu-pod-with-model-and-driver
      labels:
        # Set the compute class to gpu.
        alibabacloud.com/compute-class: "gpu"
        # Set the GPU model to example-model, such as T4.
        alibabacloud.com/gpu-model-series: "example-model"
        # Set the driver version to 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. Exécutez la commande suivante pour déployer gpu-pod-with-model-and-driver.yaml dans votre cluster.

    kubectl apply -f gpu-pod-with-model-and-driver.yaml
  3. Exécutez la commande suivante pour vérifier l'état du pod.

    kubectl get pod

    Sortie attendue :

    NAME                            READY   STATUS    RESTARTS   AGE
    gpu-pod-with-model-and-driver   1/1     Running   0          87s
  4. Exécutez la commande suivante pour vérifier les informations GPU dans le pod.

    Remarque

    La commande /usr/bin/nvidia-smi de l'exemple est préconfigurée dans l'image de conteneur d'exemple.

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

    Sortie attendue :

    +---------------------------------------------------------------------------------------+
    | 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 |
    +-----------------------------------------+----------------------+----------------------+

    La sortie affiche le modèle de GPU example-model et la version de pilote 535.161.08, qui correspondent aux libellés de la définition du pod.

    Important

    La sortie affichée est fournie à titre indicatif uniquement. Les résultats réels peuvent varier en fonction de votre environnement.