Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Velikosti virtuálních počítačů AMD GPU v Azure můžou poskytovat flexibilitu v oblasti výkonu a nákladů a nabízejí vysokou výpočetní kapacitu a zároveň umožňují zvolit správnou konfiguraci pro vaše požadavky na úlohy. AKS podporuje fondy uzlů Linuxu s podporou AMD GPU pro spouštění úloh Kubernetes náročných na výpočetní výkon.
Tento článek vám pomůže zřizovat uzly s chedulovatelnými gpu AMD v nových a existujících clusterech AKS.
Omezení
- AKS v současné době podporuje
Standard_ND96isr_MI300X_v5velikost virtuálního počítače Azure využívající PROCESOR AMD řady MI300. - Aktualizace existujícího fondu uzlů pro přidání velikosti virtuálního počítače AMD GPU není v AKS podporována.
- Aktualizace fondu uzlů bez podpory AMD GPU na velikost virtuálního počítače s AMD GPU není podporována.
-
AzureLinuxWindows,AzureLinuxOSGuardaflatcarnejsou podporovány s AMD GPU.
Než začnete
- Tento článek předpokládá, že již máte existující AKS cluster. Pokud nemáte klastr, vytvořte si ho pomocí Azure CLI, Azure PowerShell nebo portálu Azure.
- K nastavení
--gpu-driverpole potřebujete azure CLI verze 2.72.2 nebo novější. Verzi zjistíte spuštěním příkazuaz --version. Pokud potřebujete instalovat nebo upgradovat, podívejte se na Install Azure CLI. - Pokud máte
aks-previewnainstalované rozšíření Azure CLI, aktualizujte prosím verzi na 18.0.0b2 nebo novější.
Poznámka:
Virtuální stroje s podporou GPU obsahují specializovaný hardware, který podléhá vyšším cenám a dostupnosti dle regionu. Pro více informací se podívejte na nástroj ceny a dostupnost regionů.
Získejte přihlašovací údaje pro váš klastr
Získejte přihlašovací údaje pro váš AKS cluster pomocí příkazu az aks get-credentials. Následující příklad příkazu získává přihlašovací údaje pro cluster myAKSCluster ve skupině prostředků myResourceGroup:
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Možnosti použití GRAFICKÝch procesorů AMD
Použití GPU AMD zahrnuje instalaci různých softwarových komponent AMD GPU, jako je modul plug-in zařízení AMD pro Kubernetes, ovladače GPU a další.
Poznámka:
V současné době AKS nespravuje ani neautomatizuje instalaci ovladačů GPU nebo modulu plug-in zařízení AMD GPU ve fondech uzlů s podporou AMD GPU.
Registrace funkce AKSInfinibandSupport
Pokud je velikost virtuálního počítače s AMD GPU umožněná pomocí RDMA se
rkonvencí pojmenování (např.Standard_ND96isr_MI300X_v5), budete muset zajistit, aby počítače ve fondu uzlů fungovaly ve stejné fyzické síti Infiniband. Pokud toho chcete dosáhnout, zaregistrujteAKSInfinibandSupportpříznak funkce pomocíaz feature registerpříkazu:az feature register --name AKSInfinibandSupport --namespace Microsoft.ContainerServicePomocí příkazu ověřte stav
az feature showregistrace:az feature show \ --namespace "Microsoft.ContainerService" \ --name AKSInfinibandSupportVytvořte fond uzlů s podporou AMD GPU pomocí
az aks nodepool addpříkazu a přeskočte výchozí instalaci ovladače nastavením pole--gpu-driverrozhraní API na hodnotunone:az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunp \ --node-count 1 \ --node-vm-size Standard_ND96isr_MI300X_v5 \ --gpu-driver nonePoznámka:
AKS v současné době vynucuje použití pole
gpu-driverpro vynechání automatické instalace ovladačů při vytváření fondu uzlů GPU AMD.
Nasazení operátoru AMD GPU v AKS
Operátor AMD GPU automatizuje správu a nasazení všech softwarových komponent AMD potřebných ke zřízení gpu včetně instalace ovladačů, modulu plug-in zařízení AMD pro Kubernetes, modulu runtime kontejneru AMD a dalších. Vzhledem k tomu, že operátor AMD GPU zpracovává tyto komponenty, není nutné samostatně instalovat modul plug-in zařízení AMD do clusteru AKS. To také znamená, že automatická instalace ovladače GPU by měla být vynechána, aby bylo možné použít operátor AMD GPU v AKS.
Postupujte podle dokumentace AMD a nainstalujte operátor GPU.
Pomocí příkazu zkontrolujte stav GPU AMD ve fondu
kubectl get nodesuzlů:kubectl get nodes -o custom-columns=NAME:.metadata.name,GPUs:.status.capacity.'amd\.com/gpu'Vaše výstupy by měly vypadat podobně jako následující příklad:
NAME STATUS ROLES AGE VERSION aks-gpunp-00000000 Ready agent 2m4s v1.31.7
Ověřte, že grafické karty AMD je možné naplánovat.
Po vytvoření fondu uzlů ověřte, že GPU jsou naplánovatelné v clusteru AKS.
Vylistujte uzly ve vašem clusteru pomocí příkazu
kubectl get nodes.kubectl get nodesPotvrďte, že GPU lze naplánovat pomocí příkazu
kubectl describe node.kubectl describe node aks-gpunp-00000000V části Kapacita by gpu měl být uveden jako
amd.com/gpu: 1. Váš výstup by měl vypadat podobně jako následující zkrácený příkladový výstup:Name: aks-gpunp-00000000 Roles: agent Labels: accelerator=amd [...] Capacity: [...] amd.com/gpu: 1 [...]
Spuštění úlohy s podporou AMD GPU
Pokud chcete zobrazit GPU AMD v akci, můžete naplánovat úlohu s podporou GPU s příslušnou žádostí o prostředky. V tomto příkladu spustíme úlohu Tensorflow na datové sadě MNIST.
Vytvořte soubor s názvem samples-tf-mnist-demo.yaml a vložte následující YAML manifest, který obsahuje limit zdrojů
amd.com/gpu: 1.apiVersion: batch/v1 kind: Job metadata: labels: app: samples-tf-mnist-demo name: samples-tf-mnist-demo spec: template: metadata: labels: app: samples-tf-mnist-demo spec: containers: - name: samples-tf-mnist-demo image: mcr.microsoft.com/azuredocs/samples-tf-mnist-demo:gpu args: ["--max_steps", "500"] imagePullPolicy: IfNotPresent resources: limits: amd.com/gpu: 1 restartPolicy: OnFailure tolerations: - key: "sku" operator: "Equal" value: "gpu" effect: "NoSchedule"Spusťte úlohu pomocí příkazu
kubectl apply, který zpracovává soubor manifestu a vytváří definované objekty Kubernetes.kubectl apply -f samples-tf-mnist-demo.yaml
Zobrazit stav úlohy s podporou GPU
Sledujte průběh úlohy pomocí
kubectl get jobspříkazu s příznakem--watch. Načtení obrázku a zpracování datové sady může trvat několik minut.kubectl get jobs samples-tf-mnist-demo --watchKdyž sloupec COMPLETIONS ukazuje 1/1, práce byla úspěšně dokončena, jak je vidět v následujícím příkladu výstupu:
NAME COMPLETIONS DURATION AGE samples-tf-mnist-demo 0/1 3m29s 3m29s samples-tf-mnist-demo 1/1 3m10s 3m36sUkončete proces
kubectl --watchpomocí Ctrl-C.Získejte název podu pomocí příkazu
kubectl get pods.kubectl get pods --selector app=samples-tf-mnist-demo
Vyčistěte zdroje
Odstraňte související objekty Kubernetes, které jste vytvořili v tomto článku, pomocí příkazu kubectl delete job.
kubectl delete jobs samples-tf-mnist-demo
Další kroky
- Prozkoumejte různé možnosti úložiště pro vaši aplikaci založenou na GPU v AKS.
- Přečtěte si další informace o Ray clusterech v AKS.
- Pro úlohy AKS náročné na výpočetní výkon používejte grafické procesory NVIDIA .