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- dengan GB200 UltraServers Amazon EKS
Topik ini menjelaskan cara mengonfigurasi dan menggunakan Amazon EKS dengan P6e-. GB200 UltraServers Jenis p6e-gb200.36xlarge instans dengan 4 NVIDIA Blackwell hanya GPUs tersedia sebagai P6e-. GB200 UltraServers Ada dua jenis P6e-. GB200 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
Pertimbangan-pertimbangan
-
Amazon EKS mendukung P6e- GB200 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 akselerasi yang dioptimalkan EKS. AL2023 AMIs 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 P6e- dengan EKS. 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 sebelum memutakhirkan.
0 -
Disarankan untuk menggunakan varian AL2023 ARM NVIDIA dari akselerasi yang dioptimalkan EKS. AMIs 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 AMI yang dioptimalkan EKS
v20251103atau 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 MemoryManagement (CDMM). -
Saat menggunakan operator GPU NVIDIA
dengan NVIDIA AL2023 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 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 instance P6e-. GB200 -
Setiap
p6e-gb200.36xlargeinstans 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 AL2023 AMI yang dioptimalkan EKS, ini dapat dikonfigurasi sebagai bagian dari node bootstrap dalam data pengguna dengan menyetel kebijakan penyimpanan lokal instance ke. NodeConfig RAID0 Pengaturan untuk RAID0 menghapus instance menyimpan dan mengonfigurasi runtime container dan kubelet untuk memanfaatkan penyimpanan sementara ini.
Komponen-komponen
Komponen berikut direkomendasikan untuk menjalankan beban kerja di EKS dengan P6e-. GB200 UltraServers Anda dapat secara opsional menggunakan operator GPU NVIDIA
| 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 seluruh P6e-. GB200 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 di 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 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 P6e- GB200 UltraServers menjalankan AMI akselerasi yang dioptimalkan ARM NVIDIA EKS. AL2023 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.
-
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, memungkinkan manajemen IMEX untuk beban kerja GPU terdistribusi pada 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 plugin perangkat EFA
Untuk menggunakan komunikasi EFA UltraServers, Anda harus menginstal plugin perangkat Kubernetes untuk EFA. GB200 Instans P6e 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 GB200 instans P6e- untuk detail selengkapnya tentang konfigurasi EFA.
-
Buat file nilai Helm bernama
efa-values.yamldengan konfigurasi berikut.tolerations: - key: nvidia.com/gpu operator: Exists effect: NoSchedule -
Instal operator NVIDIA DRA untuk cluster Anda menggunakan
dra-values.yamlfile yang Anda buat pada langkah sebelumnya.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.yamlSebagai 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
Validasi IMEX melalui Multi-Node NVLink
Untuk pengujian NVLINK NCCL multi-node dan benchmark mikro lainnya, tinjau repositori. awesome-distributed-training
-
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 -
Buat file nilai Helm bernama
nvbandwidth-test-job.yamlyang mendefinisikan manifes pengujian. Perhatikan afinitasnvidia.com/gpu.cliquepod untuk menjadwalkan pekerja di NVLink domain yang sama yang memiliki jangkauan Multi-Node NVLink . Sampel di bawah ini menjalankan uji memcpy device-to-device CE Read multi-node menggunakan cuMemcpyAsync 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. --- 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 yamlstatus: 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-launcherTes 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