Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Egyes NVIDIA GPU-k legfeljebb hét független példányra oszthatók. Minden példány saját Stream Multiprocessor (SM) szolgáltatással rendelkezik, amely az utasítások párhuzamos végrehajtásáért és a GPU-memóriáért felelős. További információ a GPU particionálásáról: NVIDIA MIG.
Ez a cikk bemutatja, hogyan hozhat létre többpéldányos GPU-csomópontkészletet egy az Azure Kubernetes Service (AKS)-fürtben MIG-kompatibilis VM-méret használatával.
Jótanács
A teljes körűen felügyelt MIG-élményért, ahol az AKS telepíti és karbantartja az NVIDIA-illesztőprogramot, az eszköz beépülő modulját és a DCGM-metrikák exportőrét, tekintse meg a felügyelt többpéldányos GPU-csomópontkészlet (előzetes verzió) létrehozását.
Előfeltételek és korlátozások
- Aktív előfizetéssel rendelkező Azure fiók. Ha nem rendelkezik ilyen fiókkal, ingyenesen létrehozhat fiókot.
- Azure CLI 2.2.0-s vagy újabb verzió van telepítve és konfigurálva. A verzió azonosításához futtassa a következőt:
az --version. Ha telepítenie vagy frissítenie kell, tekintse meg a Install Azure CLI című témakört. - A Kubernetes parancssori ügyfele, a kubectl, telepítve és konfigurálva van. Ha Azure Cloud Shell használ, a
kubectlmár telepítve van. Ha helyileg szeretné telepíteni, használhatja aaz aks install-cliparancsot. - A Helm v3 telepítve és konfigurálva van. További információ: A Helm telepítése.
- A többpéldányos GPU jelenleg az NVIDIA A100, H100 és H200 sorozatú GPU virtuálisgép-méreteken támogatott az AKS-en.
GPU-példányprofilok
A GPU-példányprofilok határozzák meg a GPU-k particionálásának módját. Az alábbi táblázat a rendelkezésre álló GPU-példányprofilt mutatja be a Standard_ND96asr_v4következőhöz:
| Profil név | SM törtrésze | Memória aránya | Létrehozott példányok száma |
|---|---|---|---|
| MIG 1 g. 5 gb | 1/7 | 1/8 | 7 |
| MIG 2G.10GB | 2/7 | 2/8 | 3 |
| MIG 3g.20gb | 3/7 | 4/8 | 2 |
| MIG 4G, 20 GB | 4/7 | 4/8 | 1 |
| MIG 7g 40gb | 7/7 | 8/8 | 1 |
A GPU-példány profilja MIG 1g.5gb például azt jelzi, hogy minden GPU-példány 1g SM-sel (többprocesszoros streameléssel) és 5 GB memóriával rendelkezik. Ebben az esetben a GPU hét példányra van particionálva.
Az ehhez a virtuálisgép-mérethez elérhető GPU-példányprofilok a következők: MIG1g, MIG2g, MIG3g, MIG4gés MIG7g.
Fontos
A csomópontkészlet létrehozása után nem módosíthatja az alkalmazott GPU-példányprofilt.
AKS-fürt létrehozása
Hozzon létre egy Azure erőforráscsoportot a
az group createparanccsal.az group create --name myResourceGroup --location southcentralusHozzon létre egy AKS-fürtöt a(z)
az aks createparancs használatával.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --generate-ssh-keysKonfigurálja
kubectlaz AKS-fürthöz való csatlakozáshoz aaz aks get-credentialsparancs használatával.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Többpéldányos GPU-csomópontkészlet létrehozása
A csomópontkészlet létrehozásához használhatja a Azure CLI vagy az ARM API-hoz küldött HTTP-kérést.
Hozzon létre egy többpéldányos GPU-csomópontkészletet a
az aks nodepool addparancs használatával, és adja meg a GPU-példány profilját. Az alábbi példa egy MIG-kompatibilis GPU virtuálisgép-mérettel rendelkezőStandard_ND96asr_v4csomópontkészletet hoz létre.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
Többpéldányos GPU-stratégia (MIG) meghatározása
Az NVIDIA beépülő modulok telepítése előtt meg kell adnia, hogy melyik többpéldányos GPU-stratégiát (MIG) használja a GPU particionálásához: egyetlen stratégia vagy vegyes stratégia. A két stratégia nem befolyásolja a processzorterhelések végrehajtását, hanem a GPU-erőforrások megjelenítését.
-
Egyetlen stratégia: Az egyetlen stratégia minden GPU-példányt GPU-ként kezel. Ha ezt a stratégiát használja, a GPU-erőforrások a következőképpen jelennek meg
nvidia.com/gpu: 1: . -
Vegyes stratégia: A vegyes stratégia a GPU-példányokat és a GPU-példány profilját teszi elérhetővé. Ha ezt a stratégiát használja, a GPU-erőforrások a következőképpen jelennek meg
nvidia.com/mig1g.5gb: 1: .
Az NVIDIA eszköz beépülő moduljának és GPU-funkciófelderítési (GFD) összetevőinek telepítése
Állítsa be a MIG-stratégiát környezeti változóként. Használhat egyetlen vagy vegyes stratégiát is.
# Single strategy export MIG_STRATEGY=single # Mixed strategy export MIG_STRATEGY=mixedAdja hozzá az NVIDIA plugin helm-adattárat a
helm repo addéshelm repo updateparancsok használatával.helm repo add nvdp https://nvidia.github.io/k8s-device-plugin helm repo updateTelepítse az NVIDIA eszköz beépülő modult a
helm installparanccsal.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
Megjegyzés
Az NVIDIA eszköz beépülő modul Helm-telepítése összevonja a Kubernetes eszköz beépülő modult és a GFD-adattárakat. A GFD szoftverösszetevő különálló helm-telepítése nem ajánlott az AKS által felügyelt többpéldányos GPU használata esetén.
Megjegyzés
Ha az NVIDIA eszköz beépülő modult a Helm helyett egy egyéni DaemonSet-jegyzéken keresztül telepíti Azure Linuxon, akkor az eszköz beépülő modultárolójában fel kell vennie a NVIDIA_MIG_MONITOR_DEVICES=all környezeti változót.
Többpéldányos GPU-képesség megerősítése
Ellenőrizze a
kubectlfürthöz való kapcsolatot a parancs használatával akubectl getfürtcsomópontok listájának visszaadásához.kubectl get nodes -o wideGyőződjön meg arról, hogy a csomópont többpéldányos GPU-képességgel rendelkezik a
kubectl describe nodeparancs használatával. Az alábbi példaparancs az aksMigNode nevű csomópontot ismerteti, amely a GPU-példányprofilként MIG1g-et használ.kubectl describe node aksMigNodeA kimenetnek a következő példakimenethez kell hasonlítania:
# Single strategy output Allocatable: nvidia.com/gpu: 56 # Mixed strategy output Allocatable: nvidia.com/mig-1g.5gb: 56
Munka ütemezése
Az alábbi példák a CUDA alapképre, a 12.1.1-es verzióra épülnek, amely az Ubuntu 22.04 rendszeren van, címkézve 12.1.1-base-ubuntu22.04.
Egyetlen stratégia
Hozzon létre egy fájlt, amelynek a neve
single-strategy-example.yaml, és másolja bele a következő manifesztet.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": 1Telepítse az alkalmazást a
kubectl applyparanccsal, és adja meg a YAML-jegyzék nevét.kubectl apply -f single-strategy-example.yamlEllenőrizze a lefoglalt GPU-eszközöket a
kubectl execparanccsal. Ez a parancs a fürtcsomópontok listáját adja vissza.kubectl exec nvidia-single -- nvidia-smi -LAz alábbi példa a sikeresen létrehozott üzembe helyezéseket és szolgáltatásokat megjelenítő kimenethez hasonlít:
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)
Vegyes stratégia
Hozzon létre egy fájlt, amelynek a neve
mixed-strategy-example.yaml, és másolja bele a következő manifesztet.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": 1Telepítse az alkalmazást a
kubectl applyparanccsal, és adja meg a YAML-jegyzék nevét.kubectl apply -f mixed-strategy-example.yamlEllenőrizze a lefoglalt GPU-eszközöket a
kubectl execparanccsal. Ez a parancs a fürtcsomópontok listáját adja vissza.kubectl exec nvidia-mixed -- nvidia-smi -LAz alábbi példa a sikeresen létrehozott üzembe helyezéseket és szolgáltatásokat megjelenítő kimenethez hasonlít:
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)
Fontos
A Docker Hubon a CUDA-képek latest címkéjét már nem támogatják. Tekintse meg az NVIDIA adattárát a legújabb képekhez és a hozzájuk tartozó címkékhez.
Hibaelhárítás
Ha a csomópontkészlet létrehozása után nem látja a többpéldányos GPU-képességet, ellenőrizze, hogy az API-verzió nem régebbi-e 2021-08-01-nél.
Következő lépések
Az Azure Kubernetes Service gpu-kkal kapcsolatos további információkért lásd:
- Az AKS által felügyelt GPU-csomópontkészletek (előzetes verzió) teljes körűen felügyelt MIG-élményhez az illesztőprogramokkal, az eszköz beépülő moduljával és a DCGM-metrikák exportőrével együtt.
- Hasonlítsa össze az AKS-csomópontokon elérhető különböző NVIDIA GPU particionálási stratégiákat.
- Megismerheti az AKS-beli GPU-számítási feladatok használati eseteit.