Contribuisci a migliorare questa pagina
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Usa GB2 P6e-00 con UltraServers Amazon EKS
Questo argomento descrive come configurare e utilizzare Amazon EKS con GB2 P6e-00. UltraServers Il tipo di p6e-gb200.36xlarge istanza con 4 NVIDIA Blackwell GPUs è disponibile solo come P6e- 00. GB2 UltraServers Esistono due tipi di P6e- 00. GB2 UltraServers u-p6e-gb200x36 UltraServer Ha 9 p6e-gb200.36xlarge istanze e u-p6e-gb200x72 UltraServer ha 18 istanze. p6e-gb200.36xlarge
Per ulteriori informazioni, consulta la pagina Web di Amazon EC2 P6e- GB2 00 UltraServers
Considerazioni
-
Amazon EKS supporta GB2 P6e-00 UltraServers per le versioni 1.33 e successive di Kubernetes. Questa versione di Kubernetes fornisce il supporto per Dynamic Resource Allocation
(DRA), abilitato di default in EKS e nella versione accelerata 023 ottimizzata per EKS. AL2 AMIs Il DRA è un requisito per utilizzare il P6e-00 con EKS. GB2 UltraServers Il DRA non è supportato in Karpenter o EKS Auto Mode e si consiglia di utilizzare i gruppi di nodi autogestiti EKS o i gruppi di nodi gestiti da EKS quando si utilizza il P6e-00 con EKS. GB2 UltraServers -
Le P6e- GB2 00 UltraServers sono rese disponibili tramite Capacity Blocks for ML. EC2
Gestisci le risorse di calcolo per i AI/ML carichi di lavoro su Amazon EKSPer informazioni su come avviare nodi EKS con Capacity Blocks, vedi. -
Quando si utilizzano gruppi di nodi gestiti EKS con Capacity Blocks, è necessario utilizzare modelli di avvio personalizzati. Quando si aggiornano i gruppi di nodi gestiti EKS con GB2 P6e-00 UltraServers, è necessario impostare la dimensione desiderata del gruppo di nodi prima dell'aggiornamento.
0 -
Si consiglia di utilizzare la variante AL2 023 ARM NVIDIA dell'accelerato ottimizzato per EKS. AMIs Questa AMI include i componenti e la configurazione del nodo necessari per funzionare con GB2 P6e-00. UltraServers Se decidi di creare la tua AMI, sei responsabile dell'installazione e della convalida della compatibilità del nodo e del software di sistema, inclusi i driver. Per ulteriori informazioni, consulta Usa l'accelerazione ottimizzata per EKS per le istanze AMIs GPU.
-
Si consiglia di utilizzare la versione AMI ottimizzata per EKS
v20251103o successiva, che include il driver NVIDIA versione 580. Questa versione del driver NVIDIA consente alla Coherent Driver-Based Memory (CDMM) di risolvere il problema del potenziale eccesso di memoria. Quando CDMM è abilitato, le seguenti funzionalità non sono supportate: NVIDIA Multi-Instance GPU (MIG) e vGPU. Per ulteriori informazioni su CDMM, consulta NVIDIACoherent Driver Memory Management (CDMM). -
Quando si utilizza l'operatore GPU NVIDIA con l'
AMI AL2 NVIDIA 023 ottimizzata per EKS, è necessario disabilitare l'installazione da parte dell'operatore del driver e del toolkit, poiché questi sono già inclusi nell'AMI. Le versioni NVIDIA AL2 023 ottimizzate per EKS AMIs non includono il plug-in per dispositivi NVIDIA Kubernetes o il driver NVIDIA DRA, che devono essere installati separatamente. -
Ogni
p6e-gb200.36xlargeistanza può essere configurata con un massimo di 17 schede di rete e può sfruttare EFA per la comunicazione tra. UltraServers Il traffico di rete dei carichi di lavoro può UltraServers intersecarsi, ma per ottenere prestazioni ottimali si consiglia di pianificare i carichi di lavoro nello stesso ambiente UltraServer sfruttando IMEX per la comunicazione intra-GPU. UltraServer Per ulteriori informazioni, consulta Configurazione EFA per le istanze P6e-00. GB2 -
Ogni
p6e-gb200.36xlargeistanza dispone di 3 istanze di storage da 7,5 TB. Per impostazione predefinita, l'AMI ottimizzata per EKS non formatta e monta gli instance store. Lo storage temporaneo del nodo può essere condiviso tra i pod che richiedono lo storage temporaneo e le immagini dei contenitori che vengono scaricate nel nodo. Se si utilizza l'AMI ottimizzata per EKS AL2 023, questa può essere configurata come parte del bootstrap dei nodi nei dati utente impostando la politica NodeConfigdi archiviazione locale dell'istanza su RAID0. Impostando su RAID0 stripes, l'istanza archivia e configura il runtime del contenitore e il kubelet per utilizzare questo storage temporaneo.
Componenti
I seguenti componenti sono consigliati per eseguire carichi di lavoro su EKS con il P6e-00. GB2 UltraServers Facoltativamente, puoi utilizzare l'operatore GPU NVIDIA
| Pila | Componente |
|---|---|
|
AMI accelerata ottimizzata per EKS |
Kernel 6.12 |
|
Driver per GPU NVIDIA |
|
|
Driver in modalità utente NVIDIA CUDA |
|
|
Toolkit per container NVIDIA |
|
|
NVIDIA Fabric Manager |
|
|
Driver NVIDIA IMEX |
|
|
Gestore di sottorete NVIDIA NVLink |
|
|
Driver EFA |
|
|
Componenti in esecuzione sul nodo |
PENNA IN PVC |
|
Plugin per dispositivi EFA |
|
|
Plugin per dispositivi NVIDIA K8s |
|
|
Driver NVIDIA DRA |
|
|
NVIDIA Node Feature Discovery (NFD) |
|
|
NVIDIA GPU Feature Discovery (GFD) |
I componenti del nodo nella tabella precedente svolgono le seguenti funzioni:
-
VPC CNI: alloca VPC IPs come interfaccia di rete principale per i pod in esecuzione su EKS
-
Plugin per dispositivi EFA: alloca i dispositivi EFA come reti secondarie per i pod in esecuzione su EKS. Responsabile del traffico di rete su P6e-00. GB2 UltraServers Per carichi di lavoro multinodo, GPU-to-GPU all'interno di un UltraServer canale che scorre su più nodi. NVLink
-
Plugin per dispositivi NVIDIA Kubernetes: viene allocato come dispositivi per i GPUs pod in esecuzione su EKS. Si consiglia di utilizzare il plug-in per dispositivi NVIDIA Kubernetes fino a quando la funzionalità di allocazione GPU del driver NVIDIA DRA non sarà più sperimentale. Consulta le versioni dei driver NVIDIA DRA per informazioni aggiornate.
-
Driver NVIDIA DRA: abilita risorse ComputeDomain personalizzate che facilitano la creazione di domini IMEX che seguono i carichi di lavoro in esecuzione su P6e-00. GB2 UltraServers
-
La ComputeDomain risorsa descrive un dominio Internode Memory Exchange (IMEX). Quando i carichi di lavoro con un ResourceClaim for a ComputeDomain vengono distribuiti nel cluster, il driver NVIDIA DRA crea automaticamente un IMEX DaemonSet che viene eseguito su nodi corrispondenti e stabilisce i canali IMEX tra i nodi prima dell'avvio del carico di lavoro. Per saperne di più su IMEX, consulta la panoramica di NVIDIA IMEX per sistemi multi-nodo. NVLink
-
Il driver NVIDIA DRA utilizza un'etichetta Clique ID (
nvidia.com/gpu.clique) applicata da NVIDIA GFD che trasmette la conoscenza della topologia e del dominio di rete. NVLink -
È consigliabile creare un lavoro per carico di lavoro. ComputeDomain
-
-
NVIDIA Node Feature Discovery (NFD): dipendenza richiesta per GFD per applicare le etichette dei nodi in base agli attributi a livello di nodo rilevati.
-
NVIDIA GPU Feature Discovery (GFD): applica un'etichetta topologica standard NVIDIA chiamata ai nodi.
nvidia.com/gpu.cliqueI nodi all'interno dello stessonvidia.com/gpu.cliquehanno una NVLink raggiungibilità multinodo e puoi utilizzare le affinità dei pod nell'applicazione per pianificare i pod sullo stesso dominio. NVlink
Procedura
La sezione seguente presuppone che tu abbia un cluster EKS che esegue Kubernetes versione 1.33 o successiva con uno o più gruppi di nodi con GB2 P6e-00 che UltraServers esegue l'AMI accelerata ottimizzata per NVIDIA EKS AL2 023 ARM. Consulta i collegamenti per i passaggi preliminari per i nodi autogestiti e i gruppi di nodi gestiti da Gestisci le risorse di calcolo per i AI/ML carichi di lavoro su Amazon EKS EKS.
La procedura seguente utilizza i componenti riportati di seguito.
| Name | Versione | Description |
|---|---|---|
|
Operatore GPU NVIDIA |
25.3.4+ |
Per la gestione del ciclo di vita dei plug-in richiesti come il plug-in per dispositivi NVIDIA Kubernetes e NFD/GFD. |
|
Driver NVIDIA DRA |
25.8.0+ |
Per la gestione ComputeDomain CRDs dei domini IMEX. |
|
Plugin per dispositivi EFA |
0.5.14 e versioni successive |
Per la comunicazione incrociata. UltraServer |
Installa l'operatore GPU NVIDIA
L'operatore GPU NVIDIA semplifica la gestione dei componenti necessari per l'uso nei cluster Kubernetes. GPUs Poiché il driver GPU NVIDIA e il toolkit container sono installati come parte dell'AMI accelerata ottimizzata per EKS, questi devono essere false impostati nella configurazione dei valori Helm.
-
Crea un file di valori Helm denominato con la seguente configurazione.
gpu-operator-values.yamldevicePlugin: enabled: true nfd: enabled: true gfd: enabled: true driver: enabled: false toolkit: enabled: false migManager: enabled: false -
Installa l'operatore GPU NVIDIA per il tuo cluster utilizzando il
gpu-operator-values.yamlfile creato nel passaggio precedente.helm repo add nvidia https://helm.ngc.nvidia.com/nvidia helm repo updatehelm install gpu-operator nvidia/gpu-operator \ --namespace gpu-operator \ --create-namespace \ --version v25.3.4 \ --values gpu-operator-values.yaml
Installa il driver NVIDIA DRA
A partire dalla versione NVIDIA GPU Operatorv25.3.4, il driver NVIDIA DRA deve essere installato separatamente. Si consiglia di tenere traccia delle note di rilascio
-
Crea un file di valori Helm denominato
dra-values.yamlcon la seguente configurazione. Notatolerationsche configura ilnodeAffinitydriver DRA in modo che venga distribuito solo su nodi con una GPU NVIDIA.resources: gpus: enabled: false # set to false to disable experimental gpu support computeDomains: enabled: true controller: nodeSelector: null affinity: null tolerations: [] kubeletPlugin: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: "nvidia.com/gpu.present" operator: In values: - "true" tolerations: - key: "nvidia.com/gpu" operator: Exists effect: NoSchedule -
Installa il driver NVIDIA DRA per il tuo cluster utilizzando il
dra-values.yamlfile creato nel passaggio precedente.helm repo add nvidia https://helm.ngc.nvidia.com/nvidia helm repo updatehelm install nvidia-dra-driver-gpu nvidia/nvidia-dra-driver-gpu \ --version="25.8.0" \ --namespace nvidia-dra-driver-gpu \ --create-namespace \ -f dra-values.yaml -
Dopo l'installazione, il driver DRA crea
DeviceClassrisorse che consentono a Kubernetes di comprendere e allocare leComputeDomainrisorse, rendendo possibile la gestione IMEX per carichi di lavoro GPU distribuiti su P6e-00. GB2 UltraServersVerifica che le risorse DRA siano disponibili con i seguenti comandi.
kubectl api-resources | grep resource.k8s.iodeviceclasses resource.k8s.io/v1 false DeviceClass resourceclaims resource.k8s.io/v1 true ResourceClaim resourceclaimtemplates resource.k8s.io/v1 true ResourceClaimTemplate resourceslices resource.k8s.io/v1 false ResourceSlicekubectl get deviceclassesNAME compute-domain-daemon.nvidia.com compute-domain-default-channel.nvidia.com
Installa il plug-in del dispositivo EFA
Per utilizzare la comunicazione EFA tra UltraServers, devi installare il plug-in del dispositivo Kubernetes per EFA. Le istanze GB2 P6e-00 possono essere configurate con un massimo di 17 schede di rete e l'NCI primario (indice 0) deve essere di tipo interface e supporta fino a 100 Gbps di larghezza di banda ENA. Configura le interfacce EFA ed ENA in base alle tue esigenze durante il provisioning dei nodi. Consulta la AWS documentazione relativa alla configurazione EFA per le istanze GB2 P6e-00 per maggiori dettagli sulla configurazione EFA.
-
Crea un file di valori Helm denominato con la seguente configurazione.
efa-values.yamltolerations: - key: nvidia.com/gpu operator: Exists effect: NoSchedule -
Installa l'operatore NVIDIA DRA per il tuo cluster utilizzando il
dra-values.yamlfile creato nel passaggio precedente.helm repo add eks https://aws.github.io/eks-charts helm repo updatehelm install efa eks/aws-efa-k8s-device-plugin -n kube-system \ --version="0.5.14" \ -f efa-values.yamlAd esempio, se hai configurato le istanze con 1 interfaccia solo efa in ogni gruppo NCI, quando descrivi un nodo, si prevede che vengano visualizzati 4 dispositivi EFA allocabili per nodo.
kubectl describe node/<gb200-node-name>Capacity: ... vpc.amazonaws.com/efa: 4 Allocatable: ... vpc.amazonaws.com/efa: 4
Convalida IMEX su più nodi NVLink
Per un test NVLINK NCCL multinodo e altri micro-benchmark, consulta il repository. awesome-distributed-training
-
Per eseguire un test della larghezza di banda multinodo su due nodi del NVL72 dominio, installa prima l'operatore MPI:
kubectl create -f https://github.com/kubeflow/mpi-operator/releases/download/v0.7.0/mpi-operator.yaml -
Create un file di valori Helm denominato
nvbandwidth-test-job.yamlche definisce il manifesto del test. Nota l'affinità delnvidia.com/gpu.cliquepod per pianificare i lavoratori nello stesso NVLink dominio con raggiungibilità NVLink multinodo.A partire dalla versione NVIDIA DRA, i driver
v25.8.0ComputeDomains sono elastici e.spec.numNodespossono essere impostati nella definizione.0ComputeDomain Consulta le ultime note di rilascio del driver NVIDIA DRAper gli aggiornamenti. --- apiVersion: resource.nvidia.com/v1beta1 kind: ComputeDomain metadata: name: nvbandwidth-test-compute-domain spec: numNodes: 0 # This can be set to 0 from NVIDIA DRA Driver version v25.8.0+ channel: resourceClaimTemplate: name: nvbandwidth-test-compute-domain-channel --- apiVersion: kubeflow.org/v2beta1 kind: MPIJob metadata: name: nvbandwidth-test spec: slotsPerWorker: 4 # 4 GPUs per worker node launcherCreationPolicy: WaitForWorkersReady runPolicy: cleanPodPolicy: Running sshAuthMountPath: /home/mpiuser/.ssh mpiReplicaSpecs: Launcher: replicas: 1 template: metadata: labels: nvbandwidth-test-replica: mpi-launcher spec: containers: - image: ghcr.io/nvidia/k8s-samples:nvbandwidth-v0.7-8d103163 name: mpi-launcher securityContext: runAsUser: 1000 command: - mpirun args: - --bind-to - core - --map-by - ppr:4:node - -np - "8" - --report-bindings - -q - nvbandwidth - -t - multinode_device_to_device_memcpy_read_ce Worker: replicas: 2 # 2 worker nodes template: metadata: labels: nvbandwidth-test-replica: mpi-worker spec: affinity: podAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: nvbandwidth-test-replica operator: In values: - mpi-worker topologyKey: nvidia.com/gpu.clique containers: - image: ghcr.io/nvidia/k8s-samples:nvbandwidth-v0.7-8d103163 name: mpi-worker securityContext: runAsUser: 1000 env: command: - /usr/sbin/sshd args: - -De - -f - /home/mpiuser/.sshd_config resources: limits: nvidia.com/gpu: 4 # Request 4 GPUs per worker claims: - name: compute-domain-channel # Link to IMEX channel resourceClaims: - name: compute-domain-channel resourceClaimTemplateName: nvbandwidth-test-compute-domain-channel -
Crea ComputeDomain e avvia il processo con il seguente comando.
kubectl apply -f nvbandwidth-test-job.yaml -
ComputeDomain creazione, puoi vedere che il carico di lavoro ComputeDomain ha due nodi:
kubectl get computedomains.resource.nvidia.com -o yamlstatus: nodes: - cliqueID: <ClusterUUID>.<Clique ID> ipAddress: <node-ip> name: <node-hostname> - cliqueID: <ClusterUUID>.<Clique ID> ipAddress: <node-ip> name: <node-hostname> status: Ready -
Esamina i risultati del lavoro con il seguente comando.
kubectl logs --tail=-1 -l job-name=nvbandwidth-test-launcher -
Quando il test è completo, eliminalo con il seguente comando.
kubectl delete -f nvbandwidth-test-job.yaml