Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Belirli NVIDIA GPU'ları yediye kadar bağımsız örneğe bölünebilir. Her örnek, yönergeleri paralel olarak yürütmek ve GPU belleğinden sorumlu kendi Stream Multiprocessor (SM)'ye sahiptir. GPU bölümleme hakkında daha fazla bilgi için bkz. NVIDIA MIG.
Bu makalede, Azure Kubernetes Service (AKS) kümesinde MIG uyumlu vm boyutu kullanarak çok örnekli gpu düğüm havuzu oluşturma adımları anlatılır.
Ön koşullar ve sınırlamalar
- Etkin aboneliği olan bir Azure hesabı. Hesabınız yoksa ücretsiz bir hesap oluşturabilirsiniz.
- Azure CLI sürüm 2.2.0 veya üzeri yüklü ve yapılandırılmış. Sürümü bulmak için
az --versionkomutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme. - Kubernetes komut satırı istemcisi kubectl yüklenir ve yapılandırılır. Azure Cloud Shell kullanıyorsanız zaten
kubectlyüklüdür. Yerel olarak yüklemek istiyorsanız komutunu kullanabilirsinizaz aks install-cli. - Helm v3 yüklü ve yapılandırılmış. Daha fazla bilgi için Helm'i Yükleme bölümüne bakın.
- Çok örnekli GPU şu anda AKS'de
Standard_NC40ads_H100_v5,Standard_ND96isr_H100_v5ve A100 GPU VM boyutlarında desteklenmektedir.
GPU örneği profilleri
GPU örneği profilleri GPU'ların nasıl bölümlendiğini tanımlar. Aşağıdaki tabloda Standard_ND96asr_v4 için mevcut GPU örnek profili gösterilmektedir.
| Profil adı | SM'nin kesri | Hafıza kesri | Oluşturulan örnek sayısı |
|---|---|---|---|
| MIG 1g.5GB | 1/7 | 1/8 | 7 |
| MIG 2g.10gb | 2/7 | 2/8 | 3 |
| MIG 3g. 20 GB | 3/7 | 4/8 | 2 |
| MIG 4G.20GB | 4/7 | 4/8 | 1 |
| MIG 7g.40gb | 7/7 | 8/8 | 1 |
Örneğin, gpu örneği profili MIG 1g.5gb her GPU örneğinin 1g SM (akış çok işlemcili) ve 5 gb belleğe sahip olduğunu gösterir. Bu durumda GPU yedi örneğe ayrılmıştır.
Bu VM boyutu için kullanılabilir GPU örneği profilleri MIG1g, MIG2g, MIG3g ve MIG4g, MIG7g değerlerini içerir.
Önemli
Düğüm havuzu oluşturulduktan sonra uygulanan GPU örnek profilini değiştiremezsiniz.
AKS kümesi oluşturma
komutunu kullanarak
az group createbir Azure kaynak grubu oluşturun.az group create --name myResourceGroup --location southcentraluskomutunu kullanarak
az aks createbir AKS kümesi oluşturun.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --generate-ssh-keysAKS kümenize bağlanmak için
kubectl'yı,az aks get-credentialskomutunu kullanarak yapılandırın.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Çok örnekli GPU düğüm havuzu oluşturma
Düğüm havuzunu oluşturmak için Azure CLI'yi veya ARM API'sine yönelik bir HTTP isteği kullanabilirsiniz.
komutunu kullanarak
az aks nodepool addçok örnekli bir GPU düğüm havuzu oluşturun ve GPU örneği profilini belirtin. Aşağıdaki örnek, MIG uyumlu GPU VM boyutunaStandard_ND96asr_v4sahip bir düğüm havuzu oluşturur.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
Çok örnekli GPU (MIG) stratejisini belirleme
NVIDIA eklentilerini yüklemeden önce, GPU bölümleme için hangi çok örnekli GPU (MIG) stratejisinin kullanılacağını belirtmeniz gerekir: Tek strateji veya Karma strateji. İki strateji, CPU iş yüklerini yürütme şeklinizi değil GPU kaynaklarının nasıl görüntüleneceğini etkiler.
-
Tek strateji: Tek strateji, her GPU örneğini GPU olarak ele alır. Bu stratejiyi kullanırsanız GPU kaynakları olarak
nvidia.com/gpu: 1görüntülenir. -
Karma strateji: Karma strateji, GPU örneklerini ve GPU örneği profilini kullanıma sunar. Bu stratejiyi kullanırsanız GPU kaynağı olarak
nvidia.com/mig1g.5gb: 1görüntülenir.
NVIDIA cihaz eklentisini ve GPU özellik bulma (GFD) bileşenlerini yükleme
MIG stratejinizi ortam değişkeni olarak ayarlayın. Tek veya karma strateji kullanabilirsiniz.
# Single strategy export MIG_STRATEGY=single # Mixed strategy export MIG_STRATEGY=mixedNVIDIA cihaz eklentisi helm deposunu `
helm repo add` ve `helm repo update` komutlarını kullanarak ekleyin.helm repo add nvdp https://nvidia.github.io/k8s-device-plugin helm repo updatekomutunu kullanarak NVIDIA cihaz eklentisini
helm installyükleyin.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
Not
NVIDIA cihaz eklentisinin Helm yüklemesi, Kubernetes cihaz eklentisini ve GFD depolarını birleştirir. AKS tarafından yönetilen çok örnekli GPU kullanılırken GFD yazılım bileşeninin ayrı helm yüklemesi önerilmez.
Çok örnekli GPU özelliğini onaylama
kubectlbağlantısını doğrulamak içinkubectl getkomutunu kullanarak küme düğümlerinin listesini döndürün.kubectl get nodes -o widekomutunu kullanarak düğümün çok örnekli GPU özelliğine
kubectl describe nodesahip olduğunu onaylayın. Aşağıdaki örnek komut, GPU örneği profili olarak MIG1g kullanan aksMigNode adlı düğümü açıklar.kubectl describe node aksMigNodeÇıkışınız aşağıdaki örnek çıkışa benzemelidir:
# Single strategy output Allocatable: nvidia.com/gpu: 56 # Mixed strategy output Allocatable: nvidia.com/mig-1g.5gb: 56
Çalışma zamanlama
Aşağıdaki örnekler, sürümü 12.1.1 olan CUDA temel görüntü Ubuntu 22.04 için hazırlanmıştır, olarak etiketlenmiştir 12.1.1-base-ubuntu22.04.
Tek strateji
adlı
single-strategy-example.yamlbir dosya oluşturun ve aşağıdaki bildirimde kopyalayın.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": 1komutunu kullanarak uygulamayı dağıtın
kubectl applyve YAML bildiriminizin adını belirtin.kubectl apply -f single-strategy-example.yamlkomutunu kullanarak
kubectl execayrılmış GPU cihazlarını doğrulayın. Bu komut, küme düğümlerinin listesini döndürür.kubectl exec nvidia-single -- nvidia-smi -LAşağıdaki örnek, başarıyla oluşturulan dağıtımları ve hizmetleri gösteren çıkışa benzer:
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)
Karma strateji
adlı
mixed-strategy-example.yamlbir dosya oluşturun ve aşağıdaki bildirimde kopyalayın.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": 1komutunu kullanarak uygulamayı dağıtın
kubectl applyve YAML bildiriminizin adını belirtin.kubectl apply -f mixed-strategy-example.yamlkomutunu kullanarak
kubectl execayrılmış GPU cihazlarını doğrulayın. Bu komut, küme düğümlerinin listesini döndürür.kubectl exec nvidia-mixed -- nvidia-smi -LAşağıdaki örnek, başarıyla oluşturulan dağıtımları ve hizmetleri gösteren çıkışa benzer:
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)
Önemli
latest CUDA görüntülerinin etiketi Docker Hub'da kullanım dışı bırakıldı. En son görüntüler ve ilgili etiketler için lütfen NVIDIA'nın deposuna bakın.
Sorun giderme
Düğüm havuzunu oluşturduktan sonra çok örnekli GPU özelliğini görmüyorsanız API sürümünün 2021-08-01 tarihinden eski olmadığını onaylayın.
Sonraki adımlar
Azure Kubernetes Service'te GPU'lar hakkında daha fazla bilgi edinmek için bkz:
- AKS'de Linux GPU özellikli bir düğüm havuzu oluşturun.
- AKS'de Windows GPU özellikli düğüm havuzu oluşturma
- AKS'de GPU iş yükleri için kullanım örnekleri hakkında bilgi edinin