Öğretici: GPU için IoT Edge modülünü yapılandırma, bağlama ve doğrulama

Şunun için geçerlidir:IoT Edge 1.6 onay işareti IoT Edge 1.6

Önemli

IoT Edge 1.6 LTS desteklenen sürümdür. IoT Edge 1.5 LTS desteği 10 Kasım 2026'da sona erer; IoT Edge 1.4 LTS, 12 Kasım 2024'te ömrünün sonuna ulaştı. Önceki bir sürümü kullanıyorsanız bkz. Update IoT Edge.

Bu öğreticide GPU özellikli bir sanal makine (VM) oluşturma gösterilmektedir. VM'den, modüllerinin birinden GPU'nuza iş ayıran bir IoT Edge cihazı çalıştırırsınız.

Azure portalını, Azure Cloud Shell ve VM'nizin komut satırını kullanarak:

  • GPU özellikli bir VM oluşturma
  • VM'ye NVIDIA sürücü uzantısını yükleme
  • IoT Edge cihazındaki bir modülü GPU'ya iş ayıracak şekilde yapılandırma

Önkoşullar

  • Azure hesabı - ücretsiz hesap oluşturun

  • Azure IoT Hub - bir IoT Hub oluştur

  • Azure IoT Edge cihazı

    IoT Edge cihazınız yoksa ve hızlıca bir cihaz oluşturmak istiyorsanız aşağıdaki komutu çalıştırın. Azure portalında Azure Cloud Shell kullanın. <DEVICE-NAME> için yeni bir cihaz adı oluşturun ve <YOUR-IOT-HUB-NAME>'ı IoT hub'ınızın adıyla değiştirin.

    az iot hub device-identity create --device-id <YOUR-DEVICE-NAME> --edge-enabled --hub-name <YOUR-IOT-HUB-NAME>
    

    IoT Edge cihazı oluşturma hakkında daha fazla bilgi için bkz. Quickstart: sanal Linux cihazına ilk IoT Edge modülünüzü dağıtma. Bu makalenin ilerleyen bölümlerinde, IoT Edge cihazınıza bir NVIDIA modülü ekleyeceksiniz.

GPU için iyileştirilmiş sanal makine oluşturma

GPU için iyileştirilmiş bir sanal makine (VM) oluşturmak için doğru boyutu seçin. Tüm VM boyutları GPU işlemeyi desteklemez ve farklı VM boyutları farklı iş yükleri için en iyi şekilde çalışır. Daha fazla bilgi için bkz. GPU için iyileştirilmiş sanal makine boyutları veya Sanal makineler seçicisini deneyin.

GitHub'da Azure Resource Manager (ARM) şablonuyla bir IoT Edge VM oluşturun ve gpu için iyileştirilmiş olacak şekilde yapılandırın.

  1. Azure/iotedge-vm-deploy konumundaki GitHub IoT Edge VM dağıtım şablonuna gidin.

  2. Azure portalında özel vm oluşturmaya başlamak için Deploy to Azure düğmesini seçin.

  3. Özel dağıtım alanlarına Azure kimlik bilgilerinizi ve kaynak bilgilerinizi girin:

    Property Açıklama veya örnek değer
    Abonelik Azure hesap aboneliğinizi seçin.
    Kaynak grubu Azure kaynak grubunuzu ekleyin.
    Bölge East US
    GPU VM'leri tüm bölgelerde kullanılamaz.
    DNS Etiket Öneki VM'niz için bir ad oluşturun.
    Yönetici Kullanıcı Adı adminUser
    Veya kendi kullanıcı adınızı oluşturun.
    Cihaz Bağlantı Dizesi IoT Edge cihazınızdan bağlantı dizesi kopyalayın ve buraya yapıştırın.
    VM boyutu Standard_NV6
    Doğrulama türü Parolayı veya SSH Ortak Anahtarı'nı seçin, ardından gerekirse bir parola veya anahtar çifti adı oluşturun.

    İpucu

    Her bölgede hangi GPU VM'lerinin desteklendiğine bakın: Bölgeye göre kullanılabilir ürünler.

    Azure aboneliğinizin izin verdiği bölgeyi denetlemek için Azure portalında bu Azure komutunu deneyin. N içindeki Standard_N, GPU özellikli bir VM olduğu anlamına gelir.

    az vm list-skus --location <YOUR-REGION> --size Standard_N --all --output table
    
  4. Alttaki Gözden Geçir + oluştur düğmesini ve ardından Oluştur düğmesini seçin. Dağıtım bir dakika kadar sürebilir.

NVIDIA uzantısını yükleme

GPU için iyileştirilmiş bir VM'niz olduğuna göre, Azure portalını kullanarak vm'ye NVIDIA uzantısı yükleyin.

  1. VM'nizi Azure portalında açın ve sol menüden Extensions + applications öğesini seçin.

  2. Ekle'yi seçin ve listeden NVIDIA GPU Sürücü Uzantısı'nı ve ardından İleri'yi seçin.

  3. Gözden geçir ve oluştur'u seçin, ardından Oluştur'u seçin. Dağıtımın tamamlanması 30 dakika kadar sürebilir.

  4. Azure portalında yüklemeyi onaylamak için VM'nizdeki Extensions + applications menüsüne dönün. Yeni uzantı NvidiaGpuDriverLinux adlı, uzantılar listenizde olmalı ve Durum bölümünde Sağlama başarılı ifadesini göstermelidir.

  5. Azure Cloud Shell kullanarak yüklemeyi onaylamak için uzantılarınızı listelemek için bu komutu çalıştırın. <> Yer tutucuları değerlerinizle değiştirin:

    az vm extension list --resource-group <YOUR-RESOURCE-GROUP> --vm-name <YOUR-VM-NAME> -o table
    
  6. Bir NVIDIA modülü ile NVIDIA Sistem Yönetimi Arabirimi programını, diğer ismiyle kullanacağız.

    Cihazınızdan nvidia-smi paketi Ubuntu sürümünüz temelinde yükleyin. Örneğin, Ubuntu 22.04'te yükleyin nvidia-utils-535. Kurulumda istendiğinde Y seçin.

    sudo apt install nvidia-utils-535
    

    Tüm nvidia-smi sürümlerin listesi aşağıdadır. Önce yüklemeden çalıştırırsanız nvidia-smi , bu liste konsolunuzda yazdırılır.

    Tüm 'nvidia-smi' sürümlerinin ekran görüntüsü.

  7. Yüklemeden sonra, yüklendiğini onaylamak için şu komutu çalıştırın:

    nvidia-smi
    

    Bu tabloya benzer bir onay tablosu görüntülenir.

    NVIDIA sürücü tablosunun ekran görüntüsü.

Not

NVIDIA uzantısı, NVIDIA sürücülerini yüklemenin basitleştirilmiş bir yoludur, ancak daha fazla özelleştirmeye ihtiyacınız olabilir. N serisi VM'lerde özel yüklemeler hakkında daha fazla bilgi için bkz . Linux çalıştıran N serisi VM'lere NVIDIA GPU sürücüleri yükleme.

GPU hızlandırma ile modül etkinleştirme

bir IoT Edge modülünü etkinleştirmek için farklı yollar vardır, böylece işlem için GPU kullanır. Bunun bir yolu, cihazınızdaki mevcut bir IoT Edge modülünü GPU hızlandırmalı olacak şekilde yapılandırmaktır. Bir diğer yol da zaten GPU için iyileştirilmiş bir prefabrik kapsayıcı modülü kullanmaktır. Şimdi her iki yöntemin de nasıl yapıldığını görelim.

DeviceRequests kullanarak mevcut modülde GPU'yu etkinleştirme

IoT Edge cihazınızda mevcut bir modül varsa, DeviceRequests dağıtım bildiriminde createOptions kullanarak bir yapılandırma eklemek modülü GPU için en iyi duruma getirir. Mevcut bir modülü yapılandırmak için bu adımları izleyin.

  1. Azure portalında IoT Hub gidin ve Device management menüsünün altında Devices öğesini seçin.

  2. açmak için IoT Edge cihazınızı seçin.

  3. Üst kısımdaki Modülleri ayarla sekmesini seçin.

  4. gpu kullanımı için etkinleştirmek istediğiniz modülü IoT Edge Modules listesinden seçin.

  5. Yan panel açılır ve Kapsayıcı Oluşturma Seçenekleri sekmesini seçin.

  6. Bu HostConfig JSON dizesini kopyalayın ve Seçenekler oluştur kutusuna yapıştırın.

     {
         "HostConfig": {
             "DeviceRequests": 
             [
                 {
                     "Count": -1,
                     "Capabilities": [
                         [
                             "gpu"
                         ]
                     ]
                 }
             ]
         }
     }
    
  7. güncelleştirme'i seçin.

  8. Seçin, gözden geçir ve oluştur. Yeni HostConfig nesne artık modülünüzün içinde settings görünür.

  9. Oluştur'i seçin.

  10. Yeni yapılandırmanın çalıştığını onaylamak için vm'nizde şu komutu çalıştırın:

    sudo docker inspect <YOUR-MODULE-NAME>
    

    Konsoldaki JSON çıktısında belirttiğiniz DeviceRequests parametreleri görmeniz gerekir.

Not

Parametresini DeviceRequests daha iyi anlamak için kaynak kodunu görüntüleyin: moby/host_config.go

Önceden oluşturulmuş bir NVIDIA modülünde GPU'ları etkinleştirme

şimdi IoT Edge cihazına bir NVIDIA CUDA kapsayıcı modülü ekleyelim ve ardından ortam değişkenlerini ayarlayarak modüle bir GPU ayıralım. Bu NVIDIA modülü zaten bir Docker kapsayıcısında.

  1. IoT Hub Devices menüsünden Azure portalında IoT Edge cihazınızı seçin.

  2. Üst kısımdaki Modülleri ayarla sekmesini seçin.

  3. IoT Edge modülleri başlığı altında + Ekle seçin ve IoT Edge Module öğesini seçin.

  4. IoT Edge Modül Adı alanına bir ad girin.

  5. Modül Ayarları sekmesi altında, Görüntü URI'si alanına nvidia/cuda:12.6.3-base-ubuntu22.04 ekleyin.

  6. Ortam Değişkenleri sekmesini seçin.

  7. NVIDIA_VISIBLE_DEVICES ortam değişkeni adına 0 değerini ekleyin. Bu değişken, uç cihazda çalışan kapsayıcılı uygulama için hangi GPU'ların görünür olduğunu denetler. Ortam NVIDIA_VISIBLE_DEVICES değişkeni, sistemdeki fiziksel GPU'lara karşılık gelen, virgülle ayrılmış bir cihaz kimlikleri listesine ayarlanabilir. Örneğin, sistemde cihaz kimlikleri 0 ve 1 olan iki GPU varsa, değişken "NVIDIA_VISIBLE_DEVICES=0,1" olarak ayarlanabilir ve her iki GPU da kapsayıcıda görünür hale getirilebilir. Bu makalede, VM'de yalnızca bir GPU olduğundan ilk (ve yalnızca) bir GPU kullanacağız.

    Adı Tür Değer
    NVIDIA_VISIBLE_DEVICES Metin 0
  8. Add (Ekle) seçeneğini belirleyin.

  9. Seçin, gözden geçir ve oluştur. Dağıtım bildirimi özellikleriniz görüntülenir.

  10. Modülü oluşturmak için Oluştur'u seçin.

  11. Modül listenizi güncelleştirmek için Yenile'yi seçin. Modülün çalışma zamanı durumundaçalıştığını göstermesi birkaç dakika sürer, bu nedenle cihazı yenilemeye devam edin.

  12. Cihazınızdan bu komutu çalıştırarak yeni NVIDIA modülünüzün mevcut olduğunu ve çalıştığını doğrulayın.

    iotedge list
    

    NVIDIA modülünüzü running durumuyla IoT Edge cihazınızdaki modüllerin bir listesinde görmeniz gerekir.

    'iotedge list' komutunun sonucunun ekran görüntüsü.

Not

GPU için iyileştirilmiş NVIDIA kapsayıcıları hakkında daha fazla bilgi için bkz. NVIDIA GPU Bulutu (NGC) Kataloğu.

Kaynakları temizleme

Diğer IoT Edge öğreticilerle devam etmek istiyorsanız, bu öğretici için oluşturduğunuz cihazı kullanabilirsiniz. Aksi takdirde, ücretlerden kaçınmak için oluşturduğunuz Azure kaynaklarını silebilirsiniz.

Sanal makinenizi ve IoT hub'ınızı yeni bir kaynak grubunda oluşturduysanız, bu grubu silebilirsiniz ve bu da ilişkili tüm kaynakları siler. Saklamak istediğiniz bir şey olmadığından emin olmak için kaynak grubunun içeriğini bir kez daha denetleyin. Grubun tamamını silmek istemiyorsanız tek tek kaynakları (sanal makine, cihaz veya GPU modülü) silebilirsiniz.

Önemli

Silinen kaynak grupları geri alınamaz.

Azure kaynak grubunuzu kaldırmak için aşağıdaki komutu kullanın. Kaynak grubunun silinmesi birkaç dakika sürebilir.

az group delete --name <YOUR-RESOURCE-GROUP> --yes

Kaynak gruplarının listesini görüntüleyerek kaynak grubunun kaldırıldığını onaylayabilirsiniz.

az group list

Sonraki adımlar

Bu makale, sanal makinenizi ve IoT Edge cihazınızı GPU hızlandırmalı olacak şekilde ayarlamanıza yardımcı oldu. Benzer bir kuruluma sahip bir uygulamayı çalıştırmak için Microsoft Azure ile NVIDIA DeepStream geliştirmesi için öğrenme yolunu deneyin. Learn öğreticisi, birden çok video, görüntü ve ses kaynağı tüketebilen iyileştirilmiş Akıllı Video Uygulamaları geliştirmeyi gösterir.