Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
GPU NVIDIA tertentu dapat dibagi dalam hingga tujuh instans independen. Setiap instans memiliki Stream Multiprocessor (SM) sendiri, yang bertanggung jawab untuk menjalankan instruksi secara paralel, dan memori GPU. Untuk informasi selengkapnya tentang partisi GPU, lihat NVIDIA MIG.
Artikel ini memandu Anda melalui cara membuat kumpulan simpul GPU multi-instans menggunakan ukuran VM yang kompatibel dengan MIG dalam kluster Azure Kubernetes Service (AKS).
Petunjuk / Saran
Untuk pengalaman MIG yang dikelola sepenuhnya di mana AKS menginstal dan memelihara driver NVIDIA, plugin perangkat, dan pengekspor metrik DCGM, lihat Membuat kumpulan simpul GPU Multi-Instans (MIG) terkelola (pratinjau).
Prasyarat dan batasan
- Akun Azure dengan langganan aktif. Jika Anda tidak memilikinya, Anda dapat membuatnya secara gratis.
- Azure CLI versi 2.2.0 atau yang lebih baru diinstal dan dikonfigurasi. Jalankan
az --versionuntuk menemukan versinya. Jika Anda perlu menginstal atau meningkatkan, lihat Install Azure CLI. - Klien baris perintah Kubernetes, kubectl, diinstal dan dikonfigurasi. Jika Anda menggunakan Azure Cloud Shell,
kubectlsudah diinstal. Jika Anda ingin menginstalnya secara lokal, Anda dapat menggunakanaz aks install-cliperintah . - Helm v3 diinstal dan dikonfigurasi. Untuk informasi selengkapnya, lihat Menginstal Helm.
- GPU multi-instance saat ini didukung pada
Standard_NC40ads_H100_v5,Standard_ND96isr_H100_v5, dan ukuran VM GPU A100 pada AKS.
Profil instans GPU
Profil instans GPU menentukan bagaimana GPU dipartisi. Tabel berikut menunjukkan profil instans GPU yang tersedia untuk Standard_ND96asr_v4.
| Nama profil | Pecahan SM | Bagian memori | Jumlah instans yang dibuat |
|---|---|---|---|
| MIG 1g,5gb | 1/7 | 1/8 | 7 |
| MIG 2g.10GB | 2/7 | 2/8 | 3 |
| MIG 3G.20GB | 3 Juli | 4/8 | 2 |
| MIG 4G.20GB | 4/7 | 4/8 | 1 |
| MIG 7g,40gb | 7/7 | 8/8 | 1 |
Sebagai contoh, profil MIG 1g.5gb instans GPU menunjukkan bahwa setiap instans GPU memiliki 1g SM (multiprosesor streaming) dan 5GB memori. Dalam hal ini, GPU dipartisi menjadi tujuh instans.
Profil instans GPU yang tersedia untuk ukuran VM ini meliputi MIG1g, , MIG2gMIG3g, MIG4g, dan MIG7g.
Penting
Anda tidak dapat mengubah profil instans GPU yang diterapkan setelah pembuatan kumpulan simpul.
Membuat kluster AKS
Buat grup sumber daya Azure menggunakan perintah
az group create.az group create --name myResourceGroup --location southcentralusBuat kluster AKS menggunakan
az aks createperintah .az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --generate-ssh-keysKonfigurasikan
kubectluntuk menyambungkan ke kluster AKS Anda menggunakan perintahaz aks get-credentials.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Membuat kumpulan node GPU multi-instans
Anda dapat menggunakan permintaan Azure CLI atau HTTP ke ARM API untuk membuat kumpulan simpul.
Buat node pool GPU multi-instans menggunakan perintah
az aks nodepool adddan tentukan profil instans GPU. Contoh di bawah ini membuat kumpulan simpul dengan ukuran VM GPU yang kompatibel denganStandard_ND96asr_v4MIG.az aks nodepool add \ --name aksMigNode \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --node-vm-size Standard_ND96asr_v4 \ --node-count 1 \ --gpu-instance-profile MIG1g
Menentukan strategi GPU multi-instansi (MIG)
Sebelum menginstal plugin NVIDIA, Anda perlu menentukan strategi GPU multi-instans (MIG) mana yang akan digunakan untuk partisi GPU: Strategi tunggal atau Strategi campuran. Kedua strategi tersebut tidak memengaruhi cara Anda menjalankan beban kerja CPU, tetapi bagaimana sumber daya GPU ditampilkan.
-
Strategi tunggal: Strategi tunggal memperlakukan setiap instans GPU sebagai GPU. Jika Anda menggunakan strategi ini, sumber daya GPU ditampilkan sebagai
nvidia.com/gpu: 1. -
Strategi campuran: Strategi campuran memperlihatkan instans GPU dan profil instans GPU. Jika Anda menggunakan strategi ini, sumber daya GPU ditampilkan sebagai
nvidia.com/mig1g.5gb: 1.
Instal plugin perangkat NVIDIA dan komponen penemuan fitur GPU (GFD)
Atur strategi MIG Anda sebagai variabel lingkungan. Anda dapat menggunakan strategi tunggal atau campuran.
# Single strategy export MIG_STRATEGY=single # Mixed strategy export MIG_STRATEGY=mixedTambahkan repositori helm plugin perangkat NVIDIA menggunakan perintah
helm repo adddanhelm repo update.helm repo add nvdp https://nvidia.github.io/k8s-device-plugin helm repo updateInstal plugin perangkat NVIDIA menggunakan
helm installperintah .helm install nvdp nvdp/nvidia-device-plugin \ --version=0.17.0 \ --set migStrategy=${MIG_STRATEGY} \ --set gfd.enabled=true \ --namespace nvidia-device-plugin \ --create-namespace
Catatan
Penginstalan Helm untuk plugin perangkat NVIDIA mengonsolidasikan plugin perangkat Kubernetes dan repositori GFD. Penginstalan helm terpisah dari komponen perangkat lunak GFD tidak disarankan saat menggunakan GPU multi-instans yang dikelola AKS.
Catatan
Jika Anda menyebarkan plugin perangkat NVIDIA di Azure Linux melalui manifes DaemonSet kustom alih-alih Helm, Anda harus menyertakan variabel lingkungan NVIDIA_MIG_MONITOR_DEVICES=all dalam kontainer plugin perangkat.
Mengonfirmasi kemampuan GPU berbagai instansi
kubectlVerifikasi koneksi ke kluster Anda menggunakankubectl getperintah untuk mengembalikan daftar node kluster.kubectl get nodes -o widePastikan bahwa simpul memiliki kemampuan GPU multi-instans menggunakan perintah
kubectl describe node. Contoh perintah berikut menjelaskan simpul bernama aksMigNode, yang menggunakan MIG1g sebagai profil instans GPU.kubectl describe node aksMigNodeOutput Anda harus menyerupai contoh output berikut:
# Single strategy output Allocatable: nvidia.com/gpu: 56 # Mixed strategy output Allocatable: nvidia.com/mig-1g.5gb: 56
Menjadwalkan pekerjaan
Contoh berikut didasarkan pada gambar dasar CUDA versi 12.1.1 untuk Ubuntu 22.04, ditandai sebagai 12.1.1-base-ubuntu22.04.
Strategi tunggal
Buat file bernama
single-strategy-example.yaml, kemudian salin dalam manifes berikut.apiVersion: v1 kind: Pod metadata: name: nvidia-single spec: containers: - name: nvidia-single image: nvidia/cuda:12.1.1-base-ubuntu22.04 command: ["/bin/sh"] args: ["-c","sleep 1000"] resources: limits: "nvidia.com/gpu": 1Sebarkan aplikasi menggunakan
kubectl applyperintah dan tentukan nama manifes YAML Anda.kubectl apply -f single-strategy-example.yamlVerifikasi perangkat GPU yang dialokasikan menggunakan
kubectl execperintah . Perintah ini menampilkan daftar node kluster.kubectl exec nvidia-single -- nvidia-smi -LContoh berikut menyerupai output yang menunjukkan penyebaran dan layanan yang berhasil dibuat:
GPU 0: NVIDIA A100 40GB PCIe (UUID: GPU-48aeb943-9458-4282-da24-e5f49e0db44b) MIG 1g.5gb Device 0: (UUID: MIG-fb42055e-9e53-5764-9278-438605a3014c) MIG 1g.5gb Device 1: (UUID: MIG-3d4db13e-c42d-5555-98f4-8b50389791bc) MIG 1g.5gb Device 2: (UUID: MIG-de819d17-9382-56a2-b9ca-aec36c88014f) MIG 1g.5gb Device 3: (UUID: MIG-50ab4b32-92db-5567-bf6d-fac646fe29f2) MIG 1g.5gb Device 4: (UUID: MIG-7b6b1b6e-5101-58a4-b5f5-21563789e62e) MIG 1g.5gb Device 5: (UUID: MIG-14549027-dd49-5cc0-bca4-55e67011bd85) MIG 1g.5gb Device 6: (UUID: MIG-37e055e8-8890-567f-a646-ebf9fde3ce7a)
Strategi campuran
Buat file bernama
mixed-strategy-example.yaml, kemudian salin dalam manifes berikut.apiVersion: v1 kind: Pod metadata: name: nvidia-mixed spec: containers: - name: nvidia-mixed image: nvidia/cuda:12.1.1-base-ubuntu22.04 command: ["/bin/sh"] args: ["-c","sleep 100"] resources: limits: "nvidia.com/mig-1g.5gb": 1Sebarkan aplikasi menggunakan
kubectl applyperintah dan tentukan nama manifes YAML Anda.kubectl apply -f mixed-strategy-example.yamlVerifikasi perangkat GPU yang dialokasikan menggunakan
kubectl execperintah . Perintah ini menampilkan daftar node kluster.kubectl exec nvidia-mixed -- nvidia-smi -LContoh berikut menyerupai output yang menunjukkan penyebaran dan layanan yang berhasil dibuat:
GPU 0: NVIDIA A100 40GB PCIe (UUID: GPU-48aeb943-9458-4282-da24-e5f49e0db44b) MIG 1g.5gb Device 0: (UUID: MIG-fb42055e-9e53-5764-9278-438605a3014c)
Penting
Tag latest untuk gambar CUDA tidak digunakan lagi pada Docker Hub. Silakan lihat repositori NVIDIA untuk gambar terbaru dan tag yang sesuai.
Pemecahan Masalah
Jika Anda tidak melihat kemampuan GPU multi-instance setelah membuat kumpulan simpul, pastikan versi API tidak lebih lama dari 2021-08-01.
Langkah berikutnya
Untuk mempelajari selengkapnya tentang GPU di Azure Kubernetes Service, lihat:
- Kumpulan simpul GPU yang dikelola AKS (pratinjau) untuk pengalaman pengelolaan MIG yang sepenuhnya dengan driver, plugin perangkat, dan ekspor metrik DCGM yang sudah disertakan.
- Buat kumpulan simpul yang mendukung GPU Linux di AKS.
- Buat kumpulan simpul berkemampuan GPU Windows pada AKS
- Pelajari tentang kasus penggunaan untuk beban kerja GPU di AKS