Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-11-28 GMT+08:00

Agendamento de NPU

Você pode usar NPUs em contêineres do CCE.

Pré-requisitos

Usar NPUs

Crie uma carga de trabalho e solicite NPUs. Você pode especificar o número de NPUs da seguinte forma:

kind: Deployment
apiVersion: apps/v1
metadata:
  name: npu-test
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: npu-test
  template:
    metadata:
      labels:
        app: npu-test
    spec:
      containers:
        - name: container-0
          image: nginx:perl
          resources:
            limits:
              cpu: 250m
              huawei.com/ascend-310: '1'
              memory: 512Mi
            requests:
              cpu: 250m
              huawei.com/ascend-310: '1'
              memory: 512Mi
      imagePullSecrets:
      - name: default-secret

Especifique o número de NPUs a serem solicitados em huawei.com/ascend-310.

Quando você usa huawei.com/ascend-310 para especificar o número de NPUs, os valores de solicitações e limites devem ser os mesmos.

Depois que huawei.com/ascend-310 for especificado, as cargas de trabalho serão agendadas apenas para nós com NPUs. Se as NPUs forem insuficientes, um evento do Kubernetes semelhante a "0/2 nodes are available: 2 Insufficient huawei.com/ascend-310." será relatado.

Para usar NPUs no console do CCE, selecione a cota de NPU e especifique o número de chips Ascend 310 a serem usados ao criar uma carga de trabalho.

Figura 1 Usar NPUs

Rótulos de nó de NPU

O CCE rotulará os nós habilitados para NPU que estão prontos para uso.

$ kubectl get node -L accelerator/huawei-npu
NAME           STATUS   ROLES    AGE     VERSION                                    HUAWEI-NPU
10.100.2.59    Ready    <none>   2m18s   v1.19.10-r0-CCE21.11.1.B006-21.11.1.B006   ascend-310
Ao usar NPUs, você pode ativar a afinidade entre pods e nós com base em rótulos para que os pods possam ser programados para os nós corretos.
kind: Deployment
apiVersion: apps/v1
metadata:
  name: npu-test
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: npu-test
  template:
    metadata:
      labels:
        app: npu-test
    spec:
      nodeSelector:
        accelerator/huawei-npu: ascend-310
      containers:
        - name: container-0
          image: nginx:perl
          resources:
            limits:
              cpu: 250m
              huawei.com/ascend-310: '1'
              memory: 512Mi
            requests:
              cpu: 250m
              huawei.com/ascend-310: '1'
              memory: 512Mi
      imagePullSecrets:
      - name: default-secret