Gunakan P6e- GB2 00 dengan UltraServers Amazon EKS - Amazon EKS

Bantu tingkatkan halaman ini

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Untuk berkontribusi pada panduan pengguna ini, pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan P6e- GB2 00 dengan UltraServers Amazon EKS

Topik ini menjelaskan cara mengonfigurasi dan menggunakan Amazon EKS dengan P6e- GB2 00. UltraServers Jenis p6e-gb200.36xlarge instans dengan 4 NVIDIA Blackwell hanya GPUs tersedia sebagai P6e- 00. GB2 UltraServers Ada dua jenis P6e- GB2 00. UltraServers u-p6e-gb200x36 UltraServer Memiliki 9 p6e-gb200.36xlarge instance dan u-p6e-gb200x72 UltraServer memiliki 18 p6e-gb200.36xlarge instance.

Untuk mempelajari lebih lanjut, lihat halaman web Amazon EC2 P6e- GB2 00 UltraServers .

Pertimbangan-pertimbangan

  • Amazon EKS mendukung P6e- GB2 00 UltraServers untuk Kubernetes versi 1.33 ke atas. Rilis versi Kubernetes ini menyediakan dukungan untuk Dynamic Resource Allocation (DRA), diaktifkan secara default di EKS dan dalam percepatan 023 EKS yang dioptimalkanAL2. AMIs DRA adalah persyaratan untuk menggunakan GB2 P6e-00 UltraServers dengan EKS. DRA tidak didukung dalam Mode Otomatis Karpenter atau EKS, dan disarankan untuk menggunakan grup simpul yang dikelola sendiri EKS atau grup simpul yang dikelola EKS saat menggunakan P6e- 00 dengan EKS. GB2 UltraServers

  • P6e- GB2 00 UltraServers tersedia melalui Blok EC2 Kapasitas untuk ML. Lihat Mengelola sumber daya komputasi untuk AI/ML beban kerja di Amazon EKS untuk informasi tentang cara meluncurkan node EKS dengan Blok Kapasitas.

  • Saat menggunakan grup node terkelola EKS dengan Blok Kapasitas, Anda harus menggunakan templat peluncuran khusus. Saat memutakhirkan grup node terkelola EKS dengan P6e- GB2 00 UltraServers, Anda harus mengatur ukuran grup node yang diinginkan sebelum memutakhirkan. 0

  • Disarankan untuk menggunakan varian AL2 023 ARM NVIDIA dari akselerasi yang dioptimalkan EKS. AMIs AMI ini mencakup komponen node yang diperlukan dan konfigurasi untuk bekerja dengan P6e- GB2 00. UltraServers Jika Anda memutuskan untuk membangun AMI Anda sendiri, Anda bertanggung jawab untuk menginstal dan memvalidasi kompatibilitas node dan perangkat lunak sistem, termasuk driver. Untuk informasi selengkapnya, lihat Gunakan akselerasi yang dioptimalkan EKS AMIs untuk instans GPU.

  • Disarankan untuk menggunakan rilis AMI yang dioptimalkan EKS v20251103 atau yang lebih baru, yang mencakup driver NVIDIA versi 580. Versi driver NVIDIA ini memungkinkan Memori Memori Berbasis Driver Koheren (CDMM) untuk mengatasi potensi pelaporan berlebih memori. Ketika CDMM diaktifkan, kemampuan berikut tidak didukung: NVIDIA Multi-Instance GPU (MIG) dan vGPU. Untuk informasi selengkapnya tentang CDMM, lihat NVIDIA Coherent Driver-based Memory Management (CDMM).

  • Saat menggunakan operator GPU NVIDIA dengan AL2 023 NVIDIA AMI yang dioptimalkan EKS, Anda harus menonaktifkan instalasi operator driver dan toolkit, karena ini sudah termasuk dalam AMI. AL2023 NVIDIA yang dioptimalkan EKS AMIs tidak termasuk plugin perangkat NVIDIA Kubernetes atau driver NVIDIA DRA, dan ini harus diinstal secara terpisah.

  • Setiap p6e-gb200.36xlarge instans dapat dikonfigurasi dengan hingga 17 kartu jaringan dan dapat memanfaatkan EFA untuk komunikasi antara UltraServers. Lalu lintas jaringan beban kerja dapat melintas UltraServers, tetapi untuk kinerja tertinggi disarankan untuk menjadwalkan beban kerja dalam UltraServer pemanfaatan IMEX yang sama untuk komunikasi intra- GPU. UltraServer Untuk informasi selengkapnya, lihat konfigurasi EFA untuk instans P6e- GB2 00.

  • Setiap p6e-gb200.36xlarge instans memiliki penyimpanan penyimpanan instans 3x 7.5TB. Secara default, AMI yang dioptimalkan EKS tidak memformat dan memasang penyimpanan instance. Penyimpanan sementara node dapat dibagi di antara pod yang meminta penyimpanan sementara dan gambar kontainer yang diunduh ke node. Jika menggunakan AMI yang dioptimalkan AL2 023 EKS, ini dapat dikonfigurasi sebagai bagian dari node bootstrap dalam data pengguna dengan menyetel kebijakan NodeConfigpenyimpanan lokal instance ke RAID0. Pengaturan ke RAID0 menghapus instance menyimpan dan mengonfigurasi runtime container dan kubelet untuk memanfaatkan penyimpanan sementara ini.

Komponen-komponen

Komponen berikut direkomendasikan untuk menjalankan beban kerja pada EKS dengan P6e- 00. GB2 UltraServers Anda dapat secara opsional menggunakan operator GPU NVIDIA untuk menginstal komponen node NVIDIA. Saat menggunakan operator GPU NVIDIA dengan AL2 023 NVIDIA AMI yang dioptimalkan EKS, Anda harus menonaktifkan instalasi operator driver dan toolkit, karena ini sudah termasuk dalam AMI.

Tumpukan Komponen

AMI akselerasi yang dioptimalkan EKS

Kernel 6.12

Pengemudi GPU NVIDIA

Driver mode pengguna NVIDIA CUDA

Toolkit kontainer NVIDIA

Manajer kain NVIDIA

Pengemudi NVIDIA IMEX

Manajer NVLink Subnet NVIDIA

Pengemudi EFA

Komponen berjalan pada node

VPC CNI

Plugin perangkat EFA

Plugin perangkat NVIDIA K8s

Pengemudi NVIDIA DRA

Penemuan Fitur Node NVIDIA (NFD)

Penemuan Fitur GPU NVIDIA (GFD)

Komponen node dalam tabel di atas melakukan fungsi-fungsi berikut:

  • VPC CNI: Mengalokasikan VPC IPs sebagai antarmuka jaringan utama untuk pod yang berjalan di EKS

  • Plugin perangkat EFA: Mengalokasikan perangkat EFA sebagai jaringan sekunder untuk pod yang berjalan di EKS. Bertanggung jawab atas lalu lintas jaringan di P6e- GB2 00. UltraServers Untuk beban kerja multi-node, untuk GPU-to-GPU di dalam UltraServer kaleng mengalir melalui multi-node. NVLink

  • Plugin perangkat NVIDIA Kubernetes: Mengalokasikan GPUs sebagai perangkat untuk pod yang berjalan di EKS. Disarankan untuk menggunakan plugin perangkat NVIDIA Kubernetes hingga fungsionalitas alokasi GPU driver NVIDIA DRA lulus dari eksperimental. Lihat rilis driver NVIDIA DRA untuk informasi terbaru.

  • Driver NVIDIA DRA: Mengaktifkan sumber daya ComputeDomain khusus yang memfasilitasi pembuatan domain IMEX yang mengikuti beban kerja yang berjalan pada P6e-00. GB2 UltraServers

    • Sumber ComputeDomain daya menjelaskan domain Internode Memory Exchange (IMEX). Ketika beban kerja dengan ResourceClaim for a ComputeDomain diterapkan ke cluster, driver NVIDIA DRA secara otomatis membuat IMEX DaemonSet yang berjalan pada node yang cocok dan menetapkan saluran IMEX di antara node sebelum beban kerja dimulai. Untuk mempelajari lebih lanjut tentang IMEX, lihat ikhtisar NVIDIA IMEX untuk sistem NVLink multi-node.

    • Driver NVIDIA DRA menggunakan label ID klik (nvidia.com/gpu.clique) yang diterapkan oleh NVIDIA GFD yang menyampaikan pengetahuan tentang topologi jaringan dan domain. NVLink

    • Ini adalah praktik terbaik untuk membuat pekerjaan ComputeDomain per beban kerja.

  • NVIDIA Node Feature Discovery (NFD): Ketergantungan yang diperlukan untuk GFD untuk menerapkan label node berdasarkan atribut tingkat simpul yang ditemukan.

  • NVIDIA GPU Feature Discovery (GFD): Menerapkan label topologi standar NVIDIA yang dipanggil ke node. nvidia.com/gpu.clique Node di dalamnya nvidia.com/gpu.clique memiliki multi-node NVLink -reachability, dan Anda dapat menggunakan afinitas pod dalam aplikasi Anda untuk menjadwalkan pod ke domain yang sama. NVlink

Prosedur

Bagian berikut mengasumsikan Anda memiliki cluster EKS yang menjalankan Kubernetes versi 1.33 atau lebih tinggi dengan satu atau lebih grup node dengan GB2 P6e-00 UltraServers menjalankan AMI akselerasi yang dioptimalkan ARM NVIDIA EKS 023 AL2. Lihat tautan untuk langkah-langkah prasyarat Mengelola sumber daya komputasi untuk AI/ML beban kerja di Amazon EKS untuk node yang dikelola sendiri EKS dan grup node terkelola.

Prosedur berikut menggunakan komponen di bawah ini.

Nama Versi Deskripsi

Operator GPU NVIDIA

25.3.4+

Untuk pengelolaan siklus hidup plugin yang diperlukan seperti plugin perangkat NVIDIA Kubernetes dan NFD/GFD.

NVIDIA DRA Driver

25.8.0+

Untuk ComputeDomain CRDs dan manajemen domain IMEX.

Plugin Perangkat EFA

0.5.14+

Untuk UltraServer komunikasi silang.

Instal operator GPU NVIDIA

Operator GPU NVIDIA menyederhanakan pengelolaan komponen yang diperlukan untuk digunakan GPUs di klaster Kubernetes. Karena driver GPU NVIDIA dan toolkit kontainer diinstal sebagai bagian dari AMI akselerasi yang dioptimalkan EKS, ini harus diatur false ke dalam konfigurasi nilai Helm.

  1. Buat file nilai Helm bernama gpu-operator-values.yaml dengan konfigurasi berikut.

    devicePlugin: enabled: true nfd: enabled: true gfd: enabled: true driver: enabled: false toolkit: enabled: false migManager: enabled: false
  2. Instal operator GPU NVIDIA untuk cluster Anda menggunakan gpu-operator-values.yaml file yang Anda buat pada langkah sebelumnya.

    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

Instal driver NVIDIA DRA

Pada versi operator GPU NVIDIAv25.3.4, driver NVIDIA DRA harus diinstal secara terpisah. Disarankan untuk melacak catatan rilis operator GPU NVIDIA karena ini dapat berubah di rilis mendatang.

  1. Buat file nilai Helm bernama dra-values.yaml dengan konfigurasi berikut. Perhatikan nodeAffinity dan tolerations yang mengonfigurasi driver DRA untuk diterapkan hanya pada node dengan 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
  2. Instal driver NVIDIA DRA untuk cluster Anda menggunakan dra-values.yaml file yang Anda buat pada langkah sebelumnya.

    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. Setelah instalasi, driver DRA membuat DeviceClass sumber daya yang memungkinkan Kubernetes untuk memahami dan mengalokasikan ComputeDomain sumber daya, memungkinkan manajemen IMEX untuk beban kerja GPU terdistribusi pada P6e-00. GB2 UltraServers

    Konfirmasikan sumber daya DRA tersedia dengan perintah berikut.

    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

Instal plugin perangkat EFA

Untuk menggunakan komunikasi EFA antara UltraServers, Anda harus menginstal plugin perangkat Kubernetes untuk EFA. Instans GB2 P6e-00 dapat dikonfigurasi dengan hingga 17 kartu jaringan dan NCI utama (indeks 0) harus bertipe interface dan mendukung bandwidth ENA hingga 100 Gbps. Konfigurasikan antarmuka EFA dan ENA Anda sesuai kebutuhan Anda selama penyediaan node. Tinjau konfigurasi EFA untuk AWS dokumentasi instans P6e- GB2 00 untuk detail selengkapnya tentang konfigurasi EFA.

  1. Buat file nilai Helm bernama efa-values.yaml dengan konfigurasi berikut.

    tolerations: - key: nvidia.com/gpu operator: Exists effect: NoSchedule
  2. Instal operator NVIDIA DRA untuk cluster Anda menggunakan dra-values.yaml file yang Anda buat pada langkah sebelumnya.

    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 \ --version="0.5.14" \ -f efa-values.yaml

    Sebagai contoh, jika Anda mengonfigurasi instance Anda dengan 1 antarmuka efa-only di setiap grup NCI, saat mendeskripsikan sebuah node, diharapkan akan melihat 4 perangkat EFA yang dapat dialokasikan per node.

    kubectl describe node/<gb200-node-name>
    Capacity: ... vpc.amazonaws.com/efa: 4 Allocatable: ... vpc.amazonaws.com/efa: 4

Untuk pengujian NVLINK NCCL multi-node dan benchmark mikro lainnya, tinjau repositori. awesome-distributed-training GitHub Langkah-langkah berikut menunjukkan cara menjalankan NVLink tes multi-node dengan nvbandwidth.

  1. Untuk menjalankan tes bandwidth multi-node di dua node dalam NVL72 domain, pertama instal operator MPI:

    kubectl create -f https://github.com/kubeflow/mpi-operator/releases/download/v0.7.0/mpi-operator.yaml
  2. Buat file nilai Helm bernama nvbandwidth-test-job.yaml yang mendefinisikan manifes pengujian. Perhatikan afinitas nvidia.com/gpu.clique pod untuk menjadwalkan pekerja di NVLink domain yang sama yang memiliki jangkauan Multi-Node NVLink .

    Pada versi v25.8.0 ComputeDomains Driver NVIDIA DRA elastis dan .spec.numNodes dapat diatur ke 0 dalam ComputeDomain definisi. Tinjau catatan rilis Driver NVIDIA DRA terbaru untuk pembaruan.

    --- 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
  3. Buat ComputeDomain dan mulai pekerjaan dengan perintah berikut.

    kubectl apply -f nvbandwidth-test-job.yaml
  4. ComputeDomain pembuatan, Anda dapat melihat beban kerja ComputeDomain memiliki dua node:

    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. Tinjau hasil pekerjaan dengan perintah berikut.

    kubectl logs --tail=-1 -l job-name=nvbandwidth-test-launcher
  6. Ketika tes selesai, hapus dengan perintah berikut.

    kubectl delete -f nvbandwidth-test-job.yaml