View a markdown version of this page

P6e-GB200 UltraServers Mit Amazon EKS verwenden - Amazon EKS

Unterstützung für die Verbesserung dieser Seite beitragen

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten unter, der sich im rechten Bereich jeder Seite befindet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

P6e-GB200 UltraServers Mit Amazon EKS verwenden

In diesem Thema wird beschrieben, wie Amazon EKS konfiguriert und verwendet wird mit. P6e-GB200 UltraServers Der p6e-gb200.36xlarge Instance-Typ mit 4 NVIDIA Blackwell-GPUs ist nur verfügbar als. P6e-GB200 UltraServers Es gibt zwei Arten von. P6e-GB200 UltraServers Die u-p6e-gb200x36 UltraServer hat 9 p6e-gb200.36xlarge Instanzen und die u-p6e-gb200x72 UltraServer hat 18 p6e-gb200.36xlarge Instanzen.

Weitere Informationen finden Sie auf der Amazon P6e-GB200 UltraServers EC2-Webseite.

Überlegungen

  • Amazon EKS unterstützt P6e-GB200 UltraServers Kubernetes-Versionen 1.33 und höher. Diese Kubernetes-Version bietet Unterstützung für Dynamic Resource Allocation (DRA), die in EKS und in den AL2023 Accelerated AMIs standardmäßig aktiviert ist. EKS-optimized DRA ist eine Voraussetzung für die Verwendung mit EKS. P6e-GB200 UltraServers DRA wird bei der statischen Kapazitätsbereitstellung von Karpenter, bei EKS-verwalteten Knotengruppen und bei selbstverwalteten Knoten unterstützt, jedoch nicht bei der automatischen Bereitstellung von EKS-Funktionen oder der dynamischen Kapazitätsbereitstellung von Karpenter.

  • P6e-GB200 UltraServers werden über EC2 Capacity Blocks for ML zur Verfügung gestellt. https://aws.amazon.com/ec2/capacityblocks/ Informationen Beschleunigte Datenverarbeitung für AI/ML Workloads auf Amazon EKS verwalten zum Starten von EKS-Knoten mit Kapazitätsblöcken finden Sie unter.

  • Wenn Sie von EKS verwaltete Knotengruppen mit Kapazitätsblöcken verwenden, müssen Sie benutzerdefinierte Startvorlagen verwenden. Wenn Sie von EKS verwaltete Knotengruppen mit aktualisieren P6e-GB200 UltraServers, müssen Sie 0 vor dem Upgrade die gewünschte Größe der Knotengruppe auf einstellen.

  • Es wird empfohlen, die AL2023 ARM NVIDIA-Variante der EKS-optimized beschleunigten AMIs zu verwenden. Dieses AMI enthält die erforderlichen Knotenkomponenten und die Konfiguration, mit P6e-GB200 UltraServers der gearbeitet werden kann. Wenn Sie sich dazu entschließen, Ihr eigenes AMI zu erstellen, sind Sie für die Installation und Überprüfung der Kompatibilität der Knoten- und Systemsoftware, einschließlich der Treiber, verantwortlich. Weitere Informationen finden Sie unter Verwenden Sie EKS-optimized beschleunigte AMIs für GPU-Instances.

  • Es wird empfohlen, die EKS-optimized AMI-Version v20251103 oder höher zu verwenden, einschließlich der NVIDIA-Treiberversion 580. Diese NVIDIA-Treiberversion ermöglicht es Coherent Driver-Based Memory (CDMM), einer möglichen Speicherüberberichterstattung entgegenzuwirken. Wenn CDMM aktiviert ist, werden die folgenden Funktionen nicht unterstützt: NVIDIA Multi-Instance GPU (MIG) und vGPU. Weitere Informationen zu CDMM finden Sie unter NVIDIA Coherent Driver-based Memory Management (CDMM).

  • Wenn Sie den NVIDIA-GPU-Operator mit dem EKS-optimized AL2023 NVIDIA-AMI verwenden, müssen Sie die Operator-Installation des Treibers und des Toolkits deaktivieren, da diese bereits im AMI enthalten sind. Die EKS-optimized AL2023 NVIDIA AMIs enthalten weder das NVIDIA Kubernetes-Geräte-Plugin noch den NVIDIA DRA-Treiber und diese müssen separat installiert werden.

  • Jede p6e-gb200.36xlarge Instanz kann mit bis zu 17 Netzwerkkarten konfiguriert werden und kann EFA für die Kommunikation zwischen ihnen nutzen. UltraServers Der Netzwerkverkehr kann sich über mehrere Workloads UltraServers erstrecken. Für eine optimale Leistung wird jedoch empfohlen, Workloads auf derselben Ebene zu planen und dabei IMEX für die GPU-interne Kommunikation zu UltraServer nutzen. UltraServer Weitere Informationen finden Sie unter EFA-Konfiguration für Instances. P6e-GB200

  • Jede p6e-gb200.36xlarge Instanz verfügt über 3 x 7,5 TB Instance-Speicher-Speicher. Standardmäßig formatiert und EKS-optimized mountet das AMI die Instance-Speicher nicht. Der temporäre Speicher des Knotens kann von Pods, die kurzlebigen Speicher anfordern, und von Container-Images, die auf den Knoten heruntergeladen werden, gemeinsam genutzt werden. Wenn Sie das AL2023 EKS-optimized AMI verwenden, kann dies als Teil des Node-Bootstrapings in den Benutzerdaten konfiguriert werden, indem Sie die lokale Speicherrichtlinie der Instanz auf RAID0 setzen. NodeConfig Bei einer Einstellung auf RAID0 werden in der Instanz Stripes gespeichert und konfiguriert, sodass die Container-Runtime und das Kubelet so konfiguriert werden, dass sie diesen kurzlebigen Speicher nutzen.

Komponenten

Die folgenden Komponenten werden für die Ausführung von Workloads auf EKS mit dem empfohlen. P6e-GB200 UltraServers Sie können optional den NVIDIA-GPU-Operator verwenden, um die NVIDIA-Knotenkomponenten zu installieren. Wenn Sie den NVIDIA-GPU-Operator mit dem EKS-optimized AL2023 NVIDIA-AMI verwenden, müssen Sie die Operator-Installation des Treibers und des Toolkits deaktivieren, da diese bereits im AMI enthalten sind.

Stack Komponente

EKS-optimized beschleunigtes AMI

Kernel 6.12 oder 6.18

NVIDIA-GPU-Treiber

NVIDIA CUDA-Benutzermodus-Treiber

NVIDIA-Container-Toolkit

NVIDIA Fabric Manager

NVIDIA IMEX-Treiber

NVIDIA NVLink Subnetzmanager

EFA-Treiber

Komponenten, die auf dem Knoten ausgeführt werden

VPC CNI

EFA-DRA-Treiber oder EFA-Geräte-Plug-In

NVIDIA K8s-Geräte-Plugin

NVIDIA DRA-Treiber

NVIDIA Node Feature Discovery (NFD)

NVIDIA GPU-Funktionserkennung (GFD)

Die Knotenkomponenten in der obigen Tabelle erfüllen die folgenden Funktionen:

  • VPC CNI: Weist VPC-IPs als primäre Netzwerkschnittstelle für Pods zu, die auf EKS ausgeführt werden

  • EFA-DRA-Treiber oder EFA-Geräte-Plugin: Weist EFA-Geräte als sekundäre Netzwerke für Pods zu, die auf EKS ausgeführt werden. Verantwortlich für den Netzwerkverkehr. P6e-GB200 UltraServers Bei Workloads mit mehreren Knoten UltraServer kann der GPU-to-GPU Datenverkehr innerhalb eines Netzwerkes über NVLink mit mehreren Knoten fließen. Der EFA-DRA-Treiber wird für Kubernetes 1.34 und höher empfohlen und ermöglicht die topologieorientierte Zuweisung und gemeinsame Nutzung von Geräten. Das EFA-Geräte-Plugin wird für alle Kubernetes-Versionen unterstützt. Weitere Informationen finden Sie unter EFA-Geräte auf Amazon EKS verwalten.

  • NVIDIA Kubernetes-Geräte-Plugin: Weist GPUs als Geräte für Pods zu, die auf EKS laufen. Es wird empfohlen, das NVIDIA Kubernetes-Geräte-Plugin zu verwenden, bis die GPU-Zuweisungsfunktion für NVIDIA-DRA-Treiber nicht mehr experimentell ist. Aktuelle Informationen finden Sie in den NVIDIA DRA-Treiberversionen.

  • NVIDIA DRA-Treiber: Ermöglicht ComputeDomain benutzerdefinierte Ressourcen, die die Erstellung von IMEX-Domänen erleichtern, die den Workloads folgen, auf denen ausgeführt wird. P6e-GB200 UltraServers

    • Die ComputeDomain Ressource beschreibt eine IMEX-Domäne (Internode Memory Exchange). Wenn Workloads mit einem ResourceClaim für a auf dem Cluster bereitgestellt ComputeDomain werden, erstellt der NVIDIA DRA-Treiber automatisch eine IMEX, DaemonSet die auf passenden Knoten ausgeführt wird, und richtet die IMEX-Kanäle zwischen den Knoten ein, bevor die Arbeitslast gestartet wird. Weitere Informationen zu IMEX finden Sie in der Übersicht über NVIDIA IMEX für NVLink-Systeme mit mehreren Knoten.

    • Der NVIDIA DRA-Treiber verwendet ein Clique-ID-Label (nvidia.com/gpu.clique), das von NVIDIA GFD aufgebracht wurde und das Wissen über die Netzwerktopologie und die NVLink-Domäne weitergibt.

    • Es hat sich bewährt, einen Job pro Workload zu erstellen. ComputeDomain

  • NVIDIA Node Feature Discovery (NFD): Für GFD ist eine Abhängigkeit erforderlich, um Knotenbezeichnungen auf der Grundlage der erkannten Attribute auf Knotenebene anzuwenden.

  • NVIDIA GPU Feature Discovery (GFD): Wendet ein NVIDIA-Standardtopologie-Label an, das auf die Knoten aufgerufen wird. nvidia.com/gpu.clique Knoten innerhalb desselben nvidia.com/gpu.clique haben mehrere Knoten NVLink-reachability, und Sie können Pod-Affinitäten in Ihrer Anwendung verwenden, um Pods für dieselbe NVLink-Domäne zu planen.

Verfahren

Im folgenden Abschnitt wird davon ausgegangen, dass Sie einen EKS-Cluster mit Kubernetes-Version 1.33 oder höher mit einer oder mehreren Knotengruppen haben, auf denen das AL2023 ARM NVIDIA Accelerated AMI P6e-GB200 UltraServers ausgeführt wird. EKS-optimized Die erforderlichen Schritte Beschleunigte Datenverarbeitung für AI/ML Workloads auf Amazon EKS verwalten für selbstverwaltete EKS-Knoten und verwaltete Knotengruppen finden Sie unter den Links unter.

Das folgende Verfahren verwendet die folgenden Komponenten.

Name Version Description

NVIDIA-GPU-Betreiber

25,3,4+

Für das Lebenszyklusmanagement der erforderlichen Plugins wie dem NVIDIA Kubernetes-Geräte-Plugin und. NFD/GFD

NVIDIA DRA-Treiber

25.8.0+

Für ComputeDomain CRDs und IMEX-Domainverwaltung.

EFA DRA-Treiber (DRANET)

Neueste

Für die UltraServer Querkommunikation mit topologieorientierter Zuordnung. Empfohlen für Kubernetes 1.34+.

EFA-Geräte-Plugin

0.5.14+

Für die Querkommunikation. UltraServer Wird für alle Kubernetes-Versionen unterstützt.

Installieren Sie den NVIDIA GPU Operator

Der NVIDIA-GPU-Operator vereinfacht die Verwaltung der Komponenten, die für die Verwendung von GPUs in Kubernetes-Clustern erforderlich sind. Da der NVIDIA-GPU-Treiber und das Container-Toolkit als Teil des EKS-optimized beschleunigten AMI installiert sind, müssen diese false in der Helm-Werte-Konfiguration auf eingestellt werden.

  1. Erstellen Sie eine Helm-Wertedatei gpu-operator-values.yaml mit dem Namen der folgenden Konfiguration.

    devicePlugin: enabled: true nfd: enabled: true gfd: enabled: true driver: enabled: false toolkit: enabled: false migManager: enabled: false
  2. Installieren Sie den NVIDIA-GPU-Operator für Ihren Cluster mithilfe der gpu-operator-values.yaml Datei, die Sie im vorherigen Schritt erstellt haben.

    helm repo add nvidia https://helm.ngc.nvidia.com/nvidia helm repo update
    helm install gpu-operator nvidia/gpu-operator \ --namespace gpu-operator \ --create-namespace \ --version v25.3.4 \ --values gpu-operator-values.yaml

Installieren Sie den NVIDIA DRA-Treiber

Ab der NVIDIA-GPU-Operatorversion v25.3.4 muss der NVIDIA DRA-Treiber separat installiert werden. Es wird empfohlen, die Versionshinweise für den NVIDIA-GPU-Operator zu lesen, da sich dies in einer zukünftigen Version ändern kann.

  1. Erstellen Sie eine Helm-Wertedatei dra-values.yaml mit dem Namen der folgenden Konfiguration. Beachten Sie die nodeAffinity undtolerations, die den DRA-Treiber so konfigurieren, dass er nur auf Knoten mit einer NVIDIA-GPU bereitgestellt wird.

    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
  2. Installieren Sie den NVIDIA DRA-Treiber für Ihren Cluster mithilfe der dra-values.yaml Datei, die Sie im vorherigen Schritt erstellt haben.

    helm repo add nvidia https://helm.ngc.nvidia.com/nvidia helm repo update
    helm 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
  3. Nach der Installation erstellt der DRA-Treiber DeviceClass Ressourcen, die es Kubernetes ermöglichen, Ressourcen zu verstehen und zuzuweisenComputeDomain, sodass die IMEX-Verwaltung für verteilte GPU-Workloads möglich ist. P6e-GB200 UltraServers

    Stellen Sie mit den folgenden Befehlen sicher, dass die DRA-Ressourcen verfügbar sind.

    kubectl api-resources | grep resource.k8s.io
    deviceclasses 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 ResourceSlice
    kubectl get deviceclasses
    NAME compute-domain-daemon.nvidia.com compute-domain-default-channel.nvidia.com

Installieren Sie EFA für die Querkommunikation UltraServer

Um die EFA-Kommunikation zwischen zu verwenden UltraServers, installieren Sie den EFA-DRA-Treiber (DRANET) oder das EFA-Geräte-Plug-In. P6e-GB200 Instances können mit bis zu 17 Netzwerkkarten konfiguriert werden. Das primäre NCI (Index 0) muss vom Typ C sein interface und bis zu 100 Gbit/s ENA-Bandbreite unterstützen. Konfigurieren Sie Ihre EFA- und ENA-Schnittstellen während der Knotenbereitstellung gemäß Ihren Anforderungen. Weitere Informationen zur EFA-Konfiguration finden Sie in der AWS Dokumentation zur EFA-Konfiguration für P6e-GB200 Instances.

Wichtig

Installieren Sie den EFA-DRA-Treiber und das EFA-Geräte-Plug-In nicht auf demselben Knoten. Die beiden Mechanismen können nicht auf demselben Knoten koexistieren.

Option 1: Installieren Sie den EFA-DRA-Treiber (DRANET)

  1. Erstellen Sie eine Helm-Wertedatei efa-values.yaml mit dem Namen der folgenden Konfiguration.

    tolerations: - key: nvidia.com/gpu operator: Exists effect: NoSchedule
  2. Fügen Sie das EKS-Helm-Chart-Repository hinzu und installieren Sie den EFA-DRA-Treiber.

    helm repo add eks https://aws.github.io/eks-charts helm repo update
    helm install aws-dranet eks/aws-dranet --namespace kube-system -f efa-values.yaml
  3. Stellen Sie sicher, dass das DRANET läuft. DaemonSet

    kubectl get daemonset -n kube-system aws-dranet
    NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE aws-dranet 2 2 2 2 2 <none> 60s
  4. Stellen Sie sicher, dass die ResourceSlice Objekte DeviceClass und verfügbar sind.

    kubectl get deviceclass efa.networking.k8s.aws
    NAME AGE efa.networking.k8s.aws 60s
    kubectl get resourceslices -l resource.k8s.io/driver=dra.net

Weitere Informationen zur Verwendung des EFA-DRA-Treibers, einschließlich topologieorientierter Zuweisung und Gerätefreigabe, finden Sie unter. EFA-Geräte auf Amazon EKS verwalten

Option 2: Installieren Sie das EFA-Geräte-Plug-In

  1. Erstellen Sie eine Helm-Wertedatei efa-values.yaml mit dem Namen der folgenden Konfiguration.

    tolerations: - key: nvidia.com/gpu operator: Exists effect: NoSchedule
  2. Fügen Sie das EKS-Helm-Chart-Repository hinzu und installieren Sie das EFA-Geräte-Plugin.

    helm repo add eks https://aws.github.io/eks-charts helm repo update
    helm install efa eks/aws-efa-k8s-device-plugin -n kube-system -f efa-values.yaml
  3. Stellen Sie sicher, dass das EFA-Geräte-Plugin DaemonSet läuft.

    kubectl get daemonset -n kube-system aws-efa-k8s-device-plugin-daemonset
    NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE aws-efa-k8s-device-plugin-daemonset 2 2 2 2 2 <none> 60s
  4. Stellen Sie sicher, dass Ihre Knoten über zuweisbare EFA-Geräte verfügen. Wenn Sie beispielsweise Ihre Instances mit einer reinen EFA-Schnittstelle in jeder NCI-Gruppe konfiguriert haben, werden voraussichtlich 4 zuweisbare EFA-Geräte pro Knoten angezeigt.

    kubectl get nodes "-o=custom-columns=NAME:.metadata.name,EFA:.status.allocatable.vpc\.amazonaws\.com/efa"
    NAME EFA ip-192-168-11-225.us-west-2.compute.internal 4 ip-192-168-24-96.us-west-2.compute.internal 4

Einen NVLINK NCCL-Test mit mehreren Knoten und andere Mikrobenchmarks finden Sie im Awesome-Distributed-Training Repository. https://github.com/aws-samples/awsome-distributed-training/tree/main/micro-benchmarks/nccl-tests GitHub Die folgenden Schritte zeigen, wie Sie einen NVLink-Test mit mehreren Knoten mit nvbandwidth ausführen.

  1. Um einen Bandbreitentest mit mehreren Knoten auf zwei Knoten in der NVL72-Domäne durchzuführen, installieren Sie zunächst den MPI-Operator:

    kubectl create -f https://github.com/kubeflow/mpi-operator/releases/download/v0.7.0/mpi-operator.yaml
  2. Erstellen Sie eine Datei mit dem Namennvbandwidth-test-job.yaml, der das Testmanifest definiert. Beachten Sie die nvidia.com/gpu.clique Pod-Affinität, die Worker in derselben NVLink-Domäne einzuplanen, die über Multi-Node NVLink erreichbar ist. Im folgenden Beispiel wird ein CE-Read-Memcpy-Test von Gerät zu Gerät mit mehreren Knoten unter Verwendung von cu ausgeführt und die Ergebnisse in den Protokollen gedruckt. MemcpyAsync

    Ab der NVIDIA DRA-Treiberversion v25.8.0 ComputeDomains sind sie elastisch und .spec.numNodes können in der Definition auf eingestellt werden. 0 ComputeDomain Updates finden Sie in den aktuellen Versionshinweisen zum NVIDIA DRA-Treiber.

    Pro Knoten kann es nur einen ComputeDomain (IMEX-Kanal) geben. Ändern Sie nicht den Wert All für allocationMode die ComputeDomain Ressource, da dies verhindern kann, dass die ComputeDomain und die Pods, die darauf ComputeDomain zugreifen, korrekt zugewiesen und geplant werden. Weitere Informationen finden Sie unter NVIDIA DRA-Treiberausgabe #353.

    --- 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: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: # Only schedule on NVIDIA GB200/GB300 nodes - key: node.kubernetes.io/instance-type operator: In values: - p6e-gb200.36xlarge - p6e-gb300.36xlarge 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: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: # Only schedule on NVIDIA GB200/GB300 nodes - key: node.kubernetes.io/instance-type operator: In values: - p6e-gb200.36xlarge - p6e-gb300.36xlarge 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
  3. Erstellen Sie den ComputeDomain und starten Sie den Job mit dem folgenden Befehl.

    kubectl apply -f nvbandwidth-test-job.yaml
  4. Nach der ComputeDomain Erstellung können Sie sehen, dass der Workload zwei Knoten ComputeDomain hat:

    kubectl get computedomains.resource.nvidia.com -o yaml
    status: nodes: - cliqueID: <ClusterUUID>.<Clique ID> ipAddress: <node-ip> name: <node-hostname> - cliqueID: <ClusterUUID>.<Clique ID> ipAddress: <node-ip> name: <node-hostname> status: Ready
  5. Überprüfen Sie die Ergebnisse des Jobs mit dem folgenden Befehl.

    kubectl logs --tail=-1 -l job-name=nvbandwidth-test-launcher

    Bei erfolgreichem Test werden Bandbreitenstatistiken GB/s für den Memcpy-Test mit mehreren Knoten angezeigt. Ein Beispiel für eine erfolgreiche Testausgabe ist unten dargestellt.

    ... nvbandwidth Version: ... Built from Git version: ... MPI version: ... CUDA Runtime Version: ... CUDA Driver Version: ... Driver Version: ... Process 0 (nvbandwidth-test-worker-0): device 0: NVIDIA GB200 (...) Process 1 (nvbandwidth-test-worker-0): device 1: NVIDIA GB200 (...) Process 2 (nvbandwidth-test-worker-0): device 2: NVIDIA GB200 (...) Process 3 (nvbandwidth-test-worker-0): device 3: NVIDIA GB200 (...) Process 4 (nvbandwidth-test-worker-1): device 0: NVIDIA GB200 (...) Process 5 (nvbandwidth-test-worker-1): device 1: NVIDIA GB200 (...) Process 6 (nvbandwidth-test-worker-1): device 2: NVIDIA GB200 (...) Process 7 (nvbandwidth-test-worker-1): device 3: NVIDIA GB200 (...) Running multinode_device_to_device_memcpy_read_ce. memcpy CE GPU(row) -> GPU(column) bandwidth (GB/s) 0 1 2 3 4 5 6 7 0 N/A 821.45 822.18 821.73 822.05 821.38 822.61 821.89 1 822.34 N/A 821.67 822.12 821.94 820.87 821.53 822.08 2 821.76 822.29 N/A 821.58 822.43 821.15 821.82 822.31 3 822.19 821.84 822.05 N/A 821.67 821.23 820.95 822.47 4 821.63 822.38 821.49 822.17 N/A 821.06 821.78 822.22 5 822.08 821.52 821.89 822.35 821.27 N/A 821.64 822.13 6 821.94 822.15 821.68 822.04 821.39 820.92 N/A 822.56 7 822.27 821.73 822.11 821.86 822.38 821.04 821.49 N/A SUM multinode_device_to_device_memcpy_read_ce ... NOTE: The reported results may not reflect the full capabilities of the platform. Performance can vary with software drivers, hardware clocks, and system topology.
  6. Wenn der Test abgeschlossen ist, löschen Sie ihn mit dem folgenden Befehl.

    kubectl delete -f nvbandwidth-test-job.yaml