Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2024-09-10 GMT+08:00

Programación de NPU

Puede utilizar NPU en los contenedores de CCE.

Requisitos previos

  • Se ha creado un nodo de NPU. Para obtener más información, véase Creación de un nodo.
  • El huawei-npu ha sido instalado. Para obtener más información, véase huawei-npu.

Uso de NPU

Cree una carga de trabajo y solicite NPU. Puede especificar el número de NPU de la siguiente manera:

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

Especifica el número de NPU que se van a solicitar en huawei.com/ascend-310.

Después de especificar huawei.com/ascend-310, las cargas de trabajo no se programarán en nodos sin NPU. Si las NPU son insuficientes, se informará de un evento de Kubernetes similar a "0/2 nodes are available: 2 Insufficient huawei.com/ascend-310.".

Para utilizar las NPU en la consola de CCE, seleccione la cuota de Ascend 310 y especifique el número de chips de Ascend que se utilizarán al crear una carga de trabajo.

Figura 1 Uso de NPU

Etiquetas de nodo de NPU

CCE etiquetará los nodos habilitados para NPU que están listos para usar.

$ 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
Al utilizar las NPU, puede habilitar la afinidad entre los pods y los nodos en función de las etiquetas para que los pods se puedan programar en los nodos correctos.
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