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-GB200 UltraServers dengan Amazon EKS
Topik ini menjelaskan cara mengonfigurasi dan menggunakan Amazon EKS dengan P6e-GB200 UltraServers. Jenis p6e-gb200.36xlarge instans dengan 4 GPU NVIDIA Blackwell hanya tersedia sebagai. P6e-GB200 UltraServers Ada dua jenis P6e-GB200 UltraServers. Ini 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-GB200 UltraServers
Pertimbangan-pertimbangan
-
Amazon EKS mendukung P6e-GB200 UltraServers Kubernetes versi 1.33 ke atas. Rilis versi Kubernetes ini menyediakan dukungan untuk Dynamic Resource Allocation
(DRA), diaktifkan secara default di EKS dan di AMI yang dipercepat AL2023. EKS-optimized DRA adalah persyaratan untuk menggunakan P6e-GB200 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 dengan EKS. P6e-GB200 UltraServers -
P6e-GB200 UltraServers tersedia melalui Blok Kapasitas EC2 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-GB200 UltraServers, Anda harus mengatur ukuran grup node yang diinginkan
0sebelum memutakhirkan. -
Disarankan untuk menggunakan varian AL2023 ARM NVIDIA dari EKS-optimized AMI yang dipercepat. AMI ini mencakup komponen node yang diperlukan dan konfigurasi untuk bekerja dengan P6e-GB200 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 EKS-optimized AMI
v20251103atau yang lebih baru, yang mencakup driver NVIDIA versi 580. Versi driver NVIDIA ini memungkinkan Driver-Based Memori 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 EKS-optimized AL2023 NVIDIA AMI, Anda harus menonaktifkan instalasi operator driver dan toolkit, karena ini sudah termasuk dalam AMI. EKS-optimized AMI NVIDIA AL2023 tidak menyertakan plugin perangkat NVIDIA Kubernetes atau driver NVIDIA DRA, dan ini harus diinstal secara terpisah. -
Setiap
p6e-gb200.36xlargeinstans 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 P6e-GB200 instance. -
Setiap
p6e-gb200.36xlargeinstans memiliki penyimpanan penyimpanan instans 3x 7.5TB. Secara default, EKS-optimized AMI 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 EKS-optimized AL2023 AMI, ini dapat dikonfigurasi sebagai bagian dari node bootstrap dalam data pengguna dengan menyetel NodeConfigkebijakan penyimpanan 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-GB200 UltraServers Anda dapat secara opsional menggunakan operator GPU NVIDIA
| Tumpukan | Komponen |
|---|---|
|
EKS-optimized AMI yang dipercepat |
Kernel 6.12 |
|
Pengemudi GPU NVIDIA |
|
|
Driver mode pengguna NVIDIA CUDA |
|
|
Toolkit kontainer NVIDIA |
|
|
Manajer kain NVIDIA |
|
|
Pengemudi NVIDIA IMEX |
|
|
Manajer Subnet NVIDIA NVLink |
|
|
Pengemudi EFA |
|
|
Komponen berjalan pada node |
VPC CNI |
|
Driver EFA DRA atau 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 IP VPC sebagai antarmuka jaringan utama untuk pod yang berjalan di EKS
-
Driver EFA DRA atau plugin perangkat EFA: Mengalokasikan perangkat EFA sebagai jaringan sekunder untuk pod yang berjalan di EKS. Bertanggung jawab atas lalu lintas jaringan di seluruh P6e-GB200 UltraServers. Untuk beban kerja multi-node, GPU-to-GPU lalu lintas di dalam UltraServer dapat mengalir melalui NVLink multi-node. Driver EFA DRA direkomendasikan untuk Kubernetes 1.34 dan yang lebih baru dan menyediakan alokasi dan berbagi perangkat yang sadar topologi. Plugin perangkat EFA didukung untuk semua versi Kubernetes. Untuk informasi selengkapnya, lihat Kelola perangkat EFA di Amazon EKS.
-
Plugin perangkat NVIDIA Kubernetes: Mengalokasikan GPU 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 sedang berjalan. P6e-GB200 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.cliqueNode di dalamnyanvidia.com/gpu.cliquememiliki multi-node NVLink-reachability, dan Anda dapat menggunakan afinitas pod dalam aplikasi Anda untuk menjadwalkan pod ke domain NVLink yang sama.
Prosedur
Bagian berikut mengasumsikan Anda memiliki cluster EKS yang menjalankan Kubernetes versi 1.33 atau lebih tinggi dengan satu atau lebih grup node dengan menjalankan P6e-GB200 UltraServers AMI akselerasi AL2023 ARM NVIDIA. EKS-optimized 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 plugin. NFD/GFD |
|
NVIDIA DRA Driver |
25.8.0+ |
Untuk ComputeDomain CRD dan manajemen domain IMEX. |
|
Pengemudi EFA DRA (DRANET) |
Terkini |
Untuk UltraServer komunikasi silang dengan alokasi sadar topologi. Direkomendasikan untuk Kubernetes 1.34+. |
|
Plugin Perangkat EFA |
0.5.14+ |
Untuk UltraServer komunikasi silang. Didukung untuk semua versi Kubernetes. |
Instal operator GPU NVIDIA
Operator GPU NVIDIA menyederhanakan pengelolaan komponen yang diperlukan untuk menggunakan GPU di cluster Kubernetes. Karena driver GPU NVIDIA dan toolkit kontainer diinstal sebagai bagian dari EKS-optimized AMI yang dipercepat, ini harus diatur ke false dalam konfigurasi nilai Helm.
-
Buat file nilai Helm bernama
gpu-operator-values.yamldengan konfigurasi berikut.devicePlugin: enabled: true nfd: enabled: true gfd: enabled: true driver: enabled: false toolkit: enabled: false migManager: enabled: false -
Instal operator GPU NVIDIA untuk cluster Anda menggunakan
gpu-operator-values.yamlfile yang Anda buat pada langkah sebelumnya.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
Instal driver NVIDIA DRA
Pada versi operator GPU NVIDIAv25.3.4, driver NVIDIA DRA harus diinstal secara terpisah. Disarankan untuk melacak catatan rilis
-
Buat file nilai Helm bernama
dra-values.yamldengan konfigurasi berikut. PerhatikannodeAffinitydantolerationsyang 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 -
Instal driver NVIDIA DRA untuk cluster Anda menggunakan
dra-values.yamlfile yang Anda buat pada langkah sebelumnya.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 -
Setelah instalasi, driver DRA membuat
DeviceClasssumber daya yang memungkinkan Kubernetes untuk memahami dan mengalokasikanComputeDomainsumber daya, sehingga manajemen IMEX mungkin untuk beban kerja GPU terdistribusi. P6e-GB200 UltraServersKonfirmasikan sumber daya DRA tersedia dengan perintah berikut.
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
Instal EFA untuk komunikasi silang UltraServer
Untuk menggunakan komunikasi EFA antara UltraServers, instal driver EFA DRA (DRANET) atau plugin perangkat EFA. P6e-GB200 Instans 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 P6e-GB200 instance untuk detail selengkapnya tentang konfigurasi EFA.
penting
Jangan menginstal driver EFA DRA dan plugin perangkat EFA pada node yang sama. Kedua mekanisme tidak dapat hidup berdampingan pada simpul yang sama.
Opsi 1: Instal driver EFA DRA (DRANET)
-
Buat file nilai Helm bernama
efa-values.yamldengan konfigurasi berikut.tolerations: - key: nvidia.com/gpu operator: Exists effect: NoSchedule -
Tambahkan repositori bagan EKS Helm dan instal driver EFA DRA.
helm repo add eks https://aws.github.io/eks-charts helm repo updatehelm install aws-dranet eks/aws-dranet --namespace kube-system -f efa-values.yaml -
Verifikasi bahwa DRANET DaemonSet sedang berjalan.
kubectl get daemonset -n kube-system aws-dranetNAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE aws-dranet 2 2 2 2 2 <none> 60s -
Verifikasi bahwa
DeviceClassdanResourceSliceobjek tersedia.kubectl get deviceclass efa.networking.k8s.awsNAME AGE efa.networking.k8s.aws 60skubectl get resourceslices -l resource.k8s.io/driver=dra.net
Untuk informasi selengkapnya tentang penggunaan driver EFA DRA, termasuk alokasi sadar topologi dan berbagi perangkat, lihat. Kelola perangkat EFA di Amazon EKS
Opsi 2: Instal plugin perangkat EFA
-
Buat file nilai Helm bernama
efa-values.yamldengan konfigurasi berikut.tolerations: - key: nvidia.com/gpu operator: Exists effect: NoSchedule -
Tambahkan repositori bagan EKS Helm dan instal plugin perangkat EFA.
helm repo add eks https://aws.github.io/eks-charts helm repo updatehelm install efa eks/aws-efa-k8s-device-plugin -n kube-system -f efa-values.yaml -
Verifikasi plugin perangkat EFA DaemonSet sedang berjalan.
kubectl get daemonset -n kube-system aws-efa-k8s-device-plugin-daemonsetNAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE aws-efa-k8s-device-plugin-daemonset 2 2 2 2 2 <none> 60s -
Verifikasi bahwa node Anda memiliki perangkat EFA yang dapat dialokasikan. Sebagai contoh, jika Anda mengonfigurasi instance Anda dengan 1 antarmuka khusus efa di setiap grup NCI, diharapkan akan melihat 4 perangkat EFA yang dapat dialokasikan per node.
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
Validasi IMEX melalui NVLink Multi-Node
Untuk pengujian NVLINK NCCL multi-node dan benchmark mikro lainnya, tinjau repositori pelatihan terdistribusi yang luar biasa.
-
Untuk menjalankan uji bandwidth multi-node di dua node di domain NVL72, instal operator MPI terlebih dahulu:
kubectl create -f https://github.com/kubeflow/mpi-operator/releases/download/v0.7.0/mpi-operator.yaml -
Buat file bernama
nvbandwidth-test-job.yamlyang mendefinisikan manifes pengujian. Perhatikan afinitasnvidia.com/gpu.cliquepod untuk menjadwalkan pekerja di domain NVLink yang sama yang memiliki Multi-Node jangkauan NVLink. Contoh di bawah ini menjalankan uji memcpy CE Read perangkat-ke-perangkat multi-node menggunakan cu MemcpyAsync dan mencetak hasilnya di log.Pada versi
v25.8.0ComputeDomains Driver NVIDIA DRA elastis dan.spec.numNodesdapat diatur ke0dalam ComputeDomain definisi. Tinjau catatan rilis Driver NVIDIA DRAterbaru untuk pembaruan. Hanya ada satu ComputeDomain (saluran IMEX) per node. Jangan mengubah
allocationModekeAllComputeDomain sumber daya, karena dapat mencegah ComputeDomain dan Pod mengaksesnya dialokasikan dan dijadwalkan dengan benar. ComputeDomain Untuk informasi selengkapnya, lihat masalah driver NVIDIA DRA #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
+. Buat ComputeDomain dan mulai pekerjaan dengan perintah berikut.
+
kubectl apply -f nvbandwidth-test-job.yaml
+. 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
+. Tinjau hasil pekerjaan dengan perintah berikut.
+
kubectl logs --tail=-1 -l job-name=nvbandwidth-test-launcher
+ Tes yang berhasil menunjukkan statistik bandwidth GB/s untuk tes memcpy multi-node. Contoh hasil tes yang berhasil ditunjukkan di bawah ini.
+
... 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.
+. Ketika tes selesai, hapus dengan perintah berikut.
+
kubectl delete -f nvbandwidth-test-job.yaml