Todos os produtos
Search
Central de documentação

Container Compute Service:Specify GPU models and driver versions for ACS GPU-accelerated pods

Última atualização: Aug 24, 2026

O Alibaba Cloud Container Compute Service (ACS) oferece poder de computação serverless para containers. Ao usar recursos de GPU, o ACS permite declarar modelos de GPU e versões de driver compatíveis diretamente nos pods. Esse recurso reduz significativamente os custos de gerenciamento de infraestrutura e de operações e manutenção (O&M). Este tópico descreve como especificar um modelo de GPU e uma versão de driver ao criar um pod.

Modelos de GPU

O ACS é compatível com diversos modelos de GPU. Você pode usá-los com capacity reservations ou solicitá-los sob demanda durante a criação de um pod. O método a adotar depende da classe de computação.

  • GPU de alto desempenho para rede

    É possível solicitar apenas reservas de nós. Após adquirir as reservas, associe cada uma ao seu cluster. Cada reserva opera como um nó virtual independente no cluster. Para mais informações, consulte GPU-HPN Capacity Reservation.

  • Instâncias de GPU

    Use recursos de GPU sob demanda ou configure reservas de capacidade. Após a criação do pod, o ACS deduz automaticamente os recursos de GPU da sua capacity reservation.

Nota

Para visualizar a lista de modelos de GPU compatíveis, envie um ticket.

Especifique um modelo de GPU para um pod

Para GPU-HPN, somente solicitações de reserva de nós são permitidas. Cada reserva funciona como um nó virtual no cluster. O rótulo desse nó virtual inclui o modelo da GPU. Use node affinity scheduling para agendar pods nesse nó virtual. Para mais detalhes, consulte Schedule pods to GPU-HPN virtual nodes with attribute labels.

Em pods acelerados por GPU, especifique explicitamente o modelo de GPU nos campos labels e nodeSelector do pod.

Classe de computação

Campo de protocolo

Exemplo

Tipos de instância de GPU de rede de alto desempenho

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"
  ...

Tipo de instância de 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:
...

Versões de driver

Aplicações de GPU geralmente dependem da Compute Unified Device Architecture (CUDA), plataforma de computação paralela e modelo de programação lançado pela NVIDIA em 2007. A figura a seguir ilustra a arquitetura CUDA. As APIs de driver e de runtime na pilha de software CUDA diferem da seguinte forma:

  • Driver API: oferece funcionalidade completa, mas é complexa.

  • Runtime API: encapsula parte da Driver API e oculta algumas etapas de inicialização do driver, facilitando o uso.

A CUDA Driver API está incluída no pacote do driver NVIDIA. A CUDA Library e a CUDA Runtime fazem parte do pacote CUDA Toolkit.

cuda.png

Ao executar aplicações de GPU em um cluster ACS, observe os pontos abaixo:

  1. Use as imagens base CUDA fornecidas pela NVIDIA para instalar o CUDA Toolkit na imagem do seu container. Essas imagens base já incluem o CUDA Toolkit. Construa sua imagem de aplicação diretamente sobre uma imagem base correspondente à versão específica do CUDA Toolkit exigida pela aplicação.

  2. Para especificar uma versão de driver ao criar um pod, consulte Specify a driver version for a pod.

  3. Sobre a compatibilidade entre o CUDA Toolkit e os drivers NVIDIA, consulte o documento oficial da NVIDIA CUDA Toolkit Release Notes.

Nota

A versão da API de runtime CUDA usada pela aplicação deve corresponder à versão da imagem base CUDA utilizada para construir a imagem do container. Por exemplo, se a imagem do seu container foi criada a partir da imagem base CUDA NVIDIA/CUDA:12.2.0-base-Ubuntu20.04, sua aplicação usa a versão 12.2.0 da API de runtime CUDA.

Especifique uma versão de driver para um pod

O ACS permite especificar uma versão de driver por meio de rótulos de pod quando a aplicação usa recursos de GPU. Adote o formato apresentado na tabela a seguir.

Classe de computação

Campo de protocolo

Exemplo

Instâncias de 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:
...

Instância de GPU com Rede de Alto Desempenho

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:
...

Versões de driver de GPU

Certifique-se de que a versão do driver especificada seja compatível com o ACS. Para mais informações, consulte Supported GPU driver versions.

Versão padrão do driver de GPU para pods

O ACS permite configurar atributos específicos de pods por meio de regras. Caso a versão padrão do driver não atenda às suas necessidades, adicione a configuração abaixo ao ConfigMap kube-system/acs-profile para atribuir diferentes versões de driver de GPU a tipos específicos de pods com GPU. Para mais detalhes, consulte Configure selectors.

A configuração a seguir define a versão do driver como 1.5.0 para todos os pods GPU-HPN no 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"
          }
        }
      }
    ]

Exemplo

  1. Crie um arquivo chamado gpu-pod-with-model-and-driver.yaml e adicione o seguinte conteúdo YAML. Esse arquivo define um pod com a classe de computação gpu. O pod solicita uma GPU com o modelo example-model e a versão de driver 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. Execute o comando a seguir para implantar o arquivo gpu-pod-with-model-and-driver.yaml no cluster.

    kubectl apply -f gpu-pod-with-model-and-driver.yaml
  3. Execute o comando abaixo para verificar o status do pod.

    kubectl get pod

    Saída esperada:

    NAME                            READY   STATUS    RESTARTS   AGE
    gpu-pod-with-model-and-driver   1/1     Running   0          87s
  4. Execute o comando a seguir para verificar as informações da GPU no pod.

    Nota

    O comando /usr/bin/nvidia-smi no exemplo já vem pré-configurado na imagem de container de amostra.

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

    Saída esperada:

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

    A saída exibe o modelo de GPU example-model e a versão do driver 535.161.08, que correspondem aos rótulos definidos na especificação do pod.

    Importante

    A saída mostrada serve apenas como referência. Os resultados reais podem variar conforme o ambiente.