Aracılığıyla paylaş


Linux için NVIDIA GPU Sürücüsü Uzantısı

Bu uzantı, Linux N serisi sanal makinelere (VM) NVIDIA GPU sürücüleri yükler. VM ailesine bağlı olarak, uzantı CUDA veya GRID sürücülerini yükler. Bu uzantıyı kullanarak NVIDIA sürücülerini yüklediğinizde, NVIDIA Son Kullanıcı Lisans Sözleşmesi'nin koşullarını kabul etmiş ve kabul etmiş olursunuz. Yükleme işlemi sırasında, sürücü kurulumunu tamamlamak için VM yeniden başlatılabilir.

Sürücülerin ve desteklenen geçerli sürümlerin el ile yüklenmesiyle ilgili yönergeler sağlanır. Windows N serisi VM'lere NVIDIA GPU sürücülerini yüklemek için bir uzantı da kullanılabilir.

Not

Güvenli Önyükleme etkinleştirildiğinde, tüm işletim sistemi önyükleme bileşenleri (önyükleme yükleyicisi, çekirdek, çekirdek sürücüleri) güvenilen yayımcılar (sistem tarafından güvenilen anahtar) tarafından imzalanmalıdır. Güvenli Önyükleme, Windows veya Linux uzantıları kullanılarak desteklenmez. Güvenli Önyükleme etkin gpu sürücülerini el ile yükleme hakkında daha fazla bilgi için bkz. Linux için Azure N serisi GPU sürücüsü kurulumu.

Not

GPU sürücü uzantıları, uzantı yüklendikten sonra sürücüyü otomatik olarak güncelleştirmez. Daha yeni bir sürücü sürümüne geçmeniz gerekiyorsa sürücüyü el ile indirip yükleyin veya uzantıyı kaldırıp yeniden ekleyin.

Önkoşullar

İşletim sistemi

Bu uzantı, belirli işletim sistemi sürümü için sürücü desteğine bağlı olarak aşağıdaki işletim sistemi dağıtımlarını destekler:

Sürücü Linux: Ubuntu Linux: Red Hat Enterprise Linux
CUDA 20,04 LTS 7.9
KILAVUZ 22,04 LTS 8.2

Not

NC serisi VM'ler için desteklenen en son CUDA sürücüleri şu anda 470.82.01'tir. Sonraki sürücü sürümleri NC'deki K80 kartlarında desteklenmez. Uzantı, NC desteğinin bu sonuyla güncelleştirilirken, NC serisine K80 kartları için CUDA sürücülerini el ile yükleyin.

Önemli

Bu belge, Kullanım Süresi Sonuna (EOL) yaklaşmakta olan veya sona ermiş bir Linux sürümüne başvurur. Lütfen daha güncel bir sürüme güncelleştirmeyi göz önünde bulundurun.

İnternet bağlantısı

NVIDIA GPU Sürücüleri için Microsoft Azure Uzantısı, hedef VM'nin İnternet'e bağlı olmasını ve erişimi olmasını gerektirir.

Uzantı şeması

Aşağıdaki JSON uzantısının şemasını gösterir:

{
  "name": "<myExtensionName>",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.6",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

Özellikler

Adı Değer/Örnek Veri türü
apiVersiyonu 2015-06-15 tarih
yayınevi Microsoft.HpcCompute Dize
Tip NvidiaGpuDriverLinux Dize
tipİşleyiciVersiyonu 1.6 Int

Ayarlar

Tüm ayarlar isteğe bağlıdır. Varsayılan davranış, sürücü yüklemesi için gerekli değilse çekirdeği güncelleştirmemek ve desteklenen en son sürücüyü ve CUDA araç setini (uygun şekilde) yüklemektir.

Adı Açıklama Varsayılan değer Geçerli değerler Veri türü
güncelleOS Sürücü yüklemesi için gerekli olmasa bile çekirdeği güncelleştirin. yanlış doğru, yanlış Boolean
sürücüVersiyonu NV: GRID sürücü sürümü.
NC/ND: CUDA araç seti sürümü. Seçilen CUDA için en son sürücüler otomatik olarak yüklenir.
en yeni Desteklenen sürücü sürümlerinin listesi Dize
CUDA Yükle CUDA araç setini yükleyin. Yalnızca NC/ND serisi VM'ler için geçerlidir. doğru doğru, yanlış Boolean

Dağıtım

Azure portalı

Azure portalda Azure NVIDIA VM uzantılarını dağıtabilirsiniz.

  1. Tarayıcıda Azure portalına gidin.

  2. Sürücüyü yüklemek istediğiniz sanal makineye gidin.

  3. Sol menüde Uzantılar'ı seçin.

    Azure portalı menüsünde Uzantılar'ı seçmeyi gösteren ekran görüntüsü.

  4. Ekle'yi seçin.

    Seçili V M için V M uzantısı eklemeyi gösteren ekran görüntüsü.

  5. NVIDIA GPU Sürücü Uzantısı'nı bulup seçmek için ekranı kaydırın ve ardından İleri'yi seçin.

    NVIDIA G P U Sürücü Uzantısı'nın seçilmesini gösteren ekran görüntüsü.

  6. Gözden geçir ve oluştur'u ve ardından Oluştur'u seçin. Sürücünün yüklenmesi için birkaç dakika bekleyin.

    Gözden Geçir ve oluştur düğmesinin seçilmesini gösteren ekran görüntüsü.

  7. Uzantının yüklü uzantılar listesine eklendiğini doğrulayın.

    V M uzantıları listesinde yeni uzantıyı gösteren ekran görüntüsü.

Azure Resource Manager şablonu

Azure VM uzantılarını dağıtmak için Azure Resource Manager şablonlarını kullanabilirsiniz. Şablonlar, dağıtım sonrası yapılandırma gerektiren bir veya daha fazla sanal makine dağıttığınızda idealdir.

Bir sanal makine uzantısının JSON yapılandırması, sanal makine kaynağının içine yerleştirilebilir veya Resource Manager JSON şablonunun köküne veya en üst düzeyine yerleştirilebilir. JSON yapılandırmasının yerleştirilmesi, kaynak adı ve türünün değerini etkiler. Daha fazla bilgi için bkz. Alt kaynaklar için ad ve tür ayarlama.

Aşağıdaki örnekte, uzantının sanal makine kaynağının içinde iç içe olduğu varsayılır. Uzantı kaynağı iç içe yerleştirildiğinde, JSON "resources": [] sanal makine nesnesine yerleştirilir.

{
  "name": "myExtensionName",
  "type": "extensions",
  "location": "[resourceGroup().location]",
  "apiVersion": "2015-06-15",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', myVM)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.6",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

PowerShell

Set-AzVMExtension
    -ResourceGroupName "myResourceGroup" `
    -VMName "myVM" `
    -Location "southcentralus" `
    -Publisher "Microsoft.HpcCompute" `
    -ExtensionName "NvidiaGpuDriverLinux" `
    -ExtensionType "NvidiaGpuDriverLinux" `
    -TypeHandlerVersion 1.6 `
    -SettingString '{ `
	}'

Azure Komut Satırı Arayüzü (Azure CLI)

Aşağıdaki örnek, önceki Resource Manager ve PowerShell örneklerini yansıtır:

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name NvidiaGpuDriverLinux \
  --publisher Microsoft.HpcCompute \
  --version 1.6

Aşağıdaki örnek ayrıca, beklenmeyen sürücü yüklemesine örnek olarak iki isteğe bağlı özel ayar ekler. Özellikle işletim sistemi çekirdeğini en son sürüme güncelleştirir ve belirli bir CUDA araç seti sürüm sürücüsünü yükler. Lütfen --settings seçeneğinin isteğe bağlı ve varsayılan olduğunu unutmayın. Çekirdeği güncelleştirmek uzantı yükleme sürelerini artırabilir. Ayrıca, belirli bir (eski) CUDA araç seti sürümünü seçmek her zaman daha yeni çekirdeklerle uyumlu olmayabilir.

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name NvidiaGpuDriverLinux \
  --publisher Microsoft.HpcCompute \
  --version 1.6 \
  --settings '{ \
    "updateOS": true, \
    "driverVersion": "10.0.130" \
  }'

Sorun giderme ve destek

Sorun giderme

Azure portalından ve Azure PowerShell ile Azure CLI kullanarak uzantı dağıtımlarının durumuyla ilgili verileri alabilirsiniz. Belirli bir VM'nin uzantılarının dağıtım durumunu görmek için aşağıdaki komutu çalıştırın:

Get-AzVMExtension -ResourceGroupName myResourceGroup -VMName myVM -Name myExtensionName
az vm extension list --resource-group myResourceGroup --vm-name myVM -o table

Uzantı yürütme çıkışı aşağıdaki dosyaya kaydedilir. Uzun süre çalışan yüklemelerin durumunu izlemek ve hataları gidermek için bu dosyaya bakın.

/var/log/azure/nvidia-vmext-status

Çıkış kodları

Çıkış kodu Anlamı Olası eylem
0 İşlem başarılı
1 Uzantının yanlış kullanımı Yürütme çıktı günlüğünü kontrol edin.
10 Hyper-V ve Azure için Linux Tümleştirme Hizmetleri kullanılamıyor veya yüklü değil lspci'nin çıkışını denetleyin.
11 NVIDIA GPU bu VM boyutunda bulunamadı Desteklenen bir VM boyutu ve işletim sistemi kullanın.
12 Görüntü teklifi desteklenmiyor
13 (on üç) VM boyutu desteklenmiyor Dağıtmak için N serisi VM kullanın.
14 İşlem başarısız oldu Yürütme çıktı günlüğünü kontrol edin.

Bilinen sorunlar

  1. GRID sürücüsü 16.x ve 17.x, Azure çekirdek 6.11'de yükleme sorunları yaşıyor. Bu arada Nvidia bu sorunu çözmek için çalışıyor ve bu adımları izleyerek Azure çekirdeğini 6.8'e düşürüyor. Çekirdeği 6.8'e indirdikten sonra sürücüleri el ile veya uzantı kullanarak yeniden yüklemeyi deneyin.
// Get the installed kernel. If kernel 6.11 is installed,  downgrade it to 6.8.
uname -a

// Install  kernel 6.8. Note that kernel  6.11  is not supported.
$ sudo apt install linux-image-6.8.0-1015-azure

// Get the list of installed kernels.
dpkg --list | egrep -i --color 'linux-image|linux-headers|linux-modules' | awk '{ print $2 }'

// Uninstall any 6.11 kernels.
sudo apt purge linux-headers-6.11.0-1013-azure  linux-image-6.11.0-1013-azure  linux-modules-6.11.0-1013-azure

// Run the following command to ensure only 6.8 images, headers, and modules are installed and no other versions are present.
dpkg --list | egrep -i --color 'linux-image|linux-headers|linux-modules' | awk '{ print $2 }'

// Results from the previous command:
linux-headers-6.8.0-1015-azure
linux-image-6.8.0-1015-azure
linux-modules-6.8.0-1015-azure

// Open the grub settings and modify the GRUB_DEFAULT="0" to GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-1015-azure".
$ sudo vim /etc/default/grub 
 
// The grub file will look like the following:
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-1015-azure"
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
///////////////////

// Update GRUB and reboot.
$ sudo update-grub && sudo update-grub2
$ sudo reboot

// Reinstall the driver after reboot.
  1. NvidiaGpuDriverLinux şu anda A10 serisinde CUDA ile ilgili sorunlar yaşayan en son 17.5 GRID sürücülerini yükler. NVIDIA bu sorunu çözmek için çalışıyor, bu arada uzantıya bir çalışma zamanı ayarı geçirerek GRID sürücüsünü 16.5 kullanın.
az vm extension set  --resource-group <rg-name> --vm-name <vm-name>  --name NvidiaGpuDriverLinux --publisher Microsoft.HpcCompute --settings "{'driverVersion':'535.161'}"
{
  "name": "NvidiaGpuDriverLinux",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.11",
    "autoUpgradeMinorVersion": true,
    "settings": {
         "driverVersion": "535.161"
    }
  }
}
  1. GRID Sürücüsü sürümü 17.x NVv3 'te (NVIDIA Tesla M60) uyumsuz. Sürüme 16.5 kadar olan GRID sürücüleri desteklenir. NvidiaGpuDriverLinux NVv3 SKU'sunda uyumsuz olan en son sürücüleri yükler. Bunun yerine, uzantıyı sürücünün eski bir sürümünü yüklemeye zorlamak için aşağıdaki çalışma zamanı ayarlarını kullanın. Sürücü sürümleri hakkında daha fazla bilgi için bkz. NVIDIA GPU kaynakları.
az vm extension set  --resource-group <rg-name> --vm-name <vm-name>  --name NvidiaGpuDriverLinux --publisher Microsoft.HpcCompute --settings "{'driverVersion':'535.161'}"
{
  "name": "NvidiaGpuDriverLinux",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.11",
    "autoUpgradeMinorVersion": true,
    "settings": {
         "driverVersion": "535.161"
    }
  }
}
  1. Grid 17.5 linux sürücüsünde CUDA ile ilgili iş yükünü etkileyen bir hata var. Hata imzası genellikle CUDA cihazlarının kullanılamama durumuyla ilgilidir. Azure bu sorunu çözmek için çalışırken iş yükünüzü çalıştırmaya devam etmek için GRID sürücüsü 16.5'i kullanın.

Destek

Bu makalenin herhangi bir noktasında daha fazla yardıma ihtiyacınız varsa MSDN Azure ve Stack Overflow forumlarındaki Azure uzmanlarına başvurun. Alternatif olarak, bir Azure destek talebi de oluşturabilirsiniz. Azure desteği'ne gidin ve Destek al'ı seçin. Azure desteğini kullanma hakkında bilgi için Bkz. Azure desteği hakkında SSS.

Sonraki adımlar