Kurz: Konfigurace, připojení a ověření modulu IoT Edge pro GPU

Platí pro:Značka zaškrtnutí IoT Edge 1.5 IoT Edge 1.5 Značka zaškrtnutí IoT Edge 1.4 IoT Edge 1.4

Důležité

Podporované verze ioT Edge 1.5 LTS a IoT Edge 1.4 LTS. IoT Edge 1.4 LTS je konec životnosti 12. listopadu 2024. Pokud používáte starší verzi, podívejte se na článek Aktualizace IoT Edge.

V tomto kurzu se dozvíte, jak vytvořit virtuální počítač s podporou GPU. Na virtuálním počítači se dozvíte, jak spustit zařízení IoT Edge, které přiděluje práci z jednoho z jeho modulů gpu.

Použijeme Azure Portal, Azure Cloud Shell a příkazový řádek vašeho virtuálního počítače k:

  • Vytvoření virtuálního počítače s podporou GPU
  • Instalace rozšíření ovladače NVIDIA na virtuální počítač
  • Konfigurace modulu na zařízení IoT Edge pro přidělení práce gpu

Požadavky

Vytvoření virtuálního počítače optimalizovaného pro GPU

Pokud chcete vytvořit virtuální počítač optimalizovaný pro GPU, je volba správné velikosti důležitá. Ne všechny velikosti virtuálních počítačů budou obsahovat zpracování GPU. Kromě toho existují různé velikosti virtuálních počítačů pro různé úlohy. Další informace najdete v tématu Velikosti virtuálních počítačů optimalizovaných pro GPU nebo vyzkoušejte selektor virtuálních počítačů.

Pojďme vytvořit virtuální počítač IoT Edge pomocí šablony Azure Resource Manageru (ARM) na GitHubu a pak ho nakonfigurovat tak, aby byl optimalizovaný pro GPU.

  1. Přejděte na šablonu nasazení virtuálního počítače IoT Edge na GitHubu: Azure/iotedge-vm-deploy.

  2. Vyberte tlačítko Nasadit do Azure, které zahájí vytvoření vlastního virtuálního počítače na webu Azure Portal.

  3. Vyplňte pole Vlastní nasazení pomocí svých přihlašovacích údajů a prostředků Azure:

    Vlastnost Popis nebo ukázková hodnota
    Předplatné Zvolte své předplatné účtu Azure.
    Skupina prostředků Přidejte skupinu prostředků Azure.
    Oblast East US
    Virtuální počítače GPU nejsou dostupné ve všech oblastech.
    Předpona názvu DNS Vytvořte název virtuálního počítače.
    Uživatelské jméno správce adminUser
    Případně můžete vytvořit vlastní uživatelské jméno.
    Připojovací řetězec zařízení Zkopírujte připojovací řetězec ze zařízení IoT Edge a vložte ho sem.
    Velikost virtuálního počítače Standard_NV6
    Authentication type Zvolte heslo nebo veřejný klíč SSH a v případě potřeby vytvořte název páru hesel nebo klíčů.

    Tip

    Zkontrolujte, které virtuální počítače GPU jsou podporované v jednotlivých oblastech: Produkty dostupné podle oblastí.

    Pokud chcete zkontrolovat , která oblast vaše předplatné Azure umožňuje, zkuste tento příkaz Azure z webu Azure Portal. Standard_N Znamená N to, že se jedná o virtuální počítač s podporou GPU.

    az vm list-skus --location <YOUR-REGION> --size Standard_N --all --output table
    
  4. Vyberte tlačítko Zkontrolovat a vytvořit v dolní části a pak tlačítko Vytvořit. Dokončení nasazení může trvat až jednu minutu.

Instalace rozšíření NVIDIA

Teď, když máme virtuální počítač optimalizovaný pro GPU, nainstalujme rozšíření NVIDIA na virtuální počítač pomocí webu Azure Portal.

  1. Otevřete virtuální počítač na webu Azure Portal a v nabídce vlevo vyberte Rozšíření a aplikace .

  2. V seznamu vyberte Přidat a zvolte rozšíření ovladače NVIDIA GPU a pak vyberte Další.

  3. Zvolte Zkontrolovat a vytvořit a pak Vytvořit. Dokončení nasazení může trvat až 30 minut.

  4. Pokud chcete instalaci potvrdit na webu Azure Portal, vraťte se do nabídky Rozšíření a aplikace na virtuálním počítači. Nové pojmenované NvidiaGpuDriverLinux rozšíření by mělo být v seznamu rozšíření a mělo by se zobrazit úspěšné zřízení v části Stav.

  5. Pokud chcete instalaci potvrdit pomocí Azure Cloud Shellu, spusťte tento příkaz a zobrazte seznam rozšíření. <> Zástupné symboly nahraďte hodnotami:

    az vm extension list --resource-group <YOUR-RESOURCE-GROUP> --vm-name <YOUR-VM-NAME> -o table
    
  6. S modulem NVIDIA použijeme program NVIDIA System Management Interface, označovaný také jako nvidia-smi.

    Ze svého zařízení nainstalujte nvidia-smi balíček na základě vaší verze Ubuntu. Pro účely tohoto kurzu nainstalujeme nvidia-utils-515 ubuntu 20.04. Po zobrazení výzvy v instalaci vyberte Y .

    sudo apt install nvidia-utils-515
    

    Tady je seznam všech nvidia-smi verzí. Pokud ho nejdřív spustíte nvidia-smi bez instalace, vytiskne se tento seznam v konzole.

    Snímek obrazovky se všemi verzemi nvidia-smi

  7. Po instalaci spusťte tento příkaz a potvrďte, že je nainstalovaný:

    nvidia-smi
    

    Zobrazí se potvrzovací tabulka podobná této tabulce.

    Snímek obrazovky s tabulkou ovladačů NVIDIA

Poznámka:

Rozšíření NVIDIA je zjednodušený způsob instalace ovladačů NVIDIA, ale možná budete potřebovat další přizpůsobení. Další informace o vlastních instalacích na virtuálních počítačích řady N-series naleznete v tématu Instalace ovladačů NVIDIA GPU na virtuální počítače řady N-series s Linuxem.

Povolení modulu s akcelerací GPU

Modul IoT Edge můžete povolit různými způsoby, aby ke zpracování používal GPU. Jedním ze způsobů je konfigurace existujícího modulu IoT Edge na vašem zařízení tak, aby se akceleroval GPU. Dalším způsobem je použití předkompilovaného kontejnerového modulu, například modulu z NVIDIA DIGITS , který je již optimalizovaný pro GPU. Pojďme se podívat, jak se oba způsoby dělají.

Povolení GPU v existujícím modulu pomocí DeviceRequests

Pokud máte na zařízení IoT Edge existující modul, přidání konfigurace pomocí DeviceRequestscreateOptions manifestu nasazení zajistí optimalizaci modulu GPU. Podle těchto kroků nakonfigurujte existující modul.

  1. Na webu Azure Portal přejděte do služby IoT Hub a v nabídce Správa zařízení zvolte Zařízení.

  2. Výběrem zařízení IoT Edge ho otevřete.

  3. V horní části vyberte kartu Nastavit moduly.

  4. V seznamu modulů IoT Edge vyberte modul, který chcete povolit pro použití GPU.

  5. Otevře se boční panel, zvolte kartu Možnosti vytvoření kontejneru.

  6. Zkopírujte tento HostConfig řetězec JSON a vložte ho do pole Vytvořit možnosti .

     {
         "HostConfig": {
             "DeviceRequests": 
             [
                 {
                     "Count": -1,
                     "Capabilities": [
                         [
                             "gpu"
                         ]
                     ]
                 }
             ]
         }
     }
    
  7. Vyberte Aktualizovat.

  8. Vyberte Zkontrolovat a vytvořit. Nový HostConfig objekt je teď viditelný v settings modulu.

  9. Vyberte Vytvořit.

  10. Pokud chcete potvrdit, že nová konfigurace funguje, spusťte na virtuálním počítači tento příkaz:

    sudo docker inspect <YOUR-MODULE-NAME>
    

    Měli byste vidět parametry, které DeviceRequests jste zadali v výtisku JSON v konzole.

Poznámka:

Pokud chcete lépe porozumět parametru DeviceRequests , podívejte se na zdrojový kód: moby/host_config.go

Povolení GPU v předkompilovaném modulu NVIDIA

Pojďme do zařízení IoT Edge přidat modul NVIDIA DIGITS a pak modulu přidělit GPU nastavením proměnných prostředí. Tento modul NVIDIA je již v kontejneru Dockeru.

  1. V nabídce Zařízení ioT Hubu vyberte zařízení IoT Edge na webu Azure Portal.

  2. V horní části vyberte kartu Nastavit moduly.

  3. V záhlaví modulů IoT Edge vyberte + Přidat a zvolte Modul IoT Edge.

  4. Do pole Název modulu IoT Edge zadejte název.

  5. Na kartě Modul Nastavení přidejte nvidia/digits:6.0 do pole Identifikátor URI obrázku.

  6. Vyberte kartu Proměnné prostředí.

  7. Přidejte název NVIDIA_VISIBLE_DEVICES proměnné prostředí s hodnotou 0. Tato proměnná řídí, které GPU jsou viditelné pro kontejnerizovanou aplikaci spuštěnou na hraničním zařízení. NVIDIA_VISIBLE_DEVICES Proměnnou prostředí lze nastavit na čárkami oddělený seznam ID zařízení, které odpovídají fyzickým grafickým procesorům v systému. Pokud jsou v systému například dvě GPU s ID zařízení 0 a 1, můžete proměnnou nastavit na "NVIDIA_VISIBLE_DEVICES=0,1", aby se obě grafické procesory zobrazovaly kontejneru. V tomto článku, protože virtuální počítač má pouze jeden GPU, použijeme první (a pouze) jeden.

    Name Typ Hodnota
    NVIDIA_VISIBLE_DEVICES Text 0
  8. Vyberte Přidat.

  9. Vyberte Zkontrolovat a vytvořit. Zobrazí se vlastnosti manifestu nasazení.

  10. Výběrem možnosti Vytvořit vytvořte modul.

  11. Výběrem možnosti Aktualizovat aktualizujte seznam modulů. Spuštění modulu bude trvat několik minut , takže zařízení aktualizujte dál.

  12. Z vašeho zařízení spusťte tento příkaz, abyste potvrdili, že nový modul NVIDIA existuje a je spuštěný.

    iotedge list
    

    Modul NVIDIA by se měl zobrazit v seznamu modulů na zařízení IoT Edge se stavem running.

    Snímek obrazovky s výsledkem příkazu iotedge list

Poznámka:

Další informace o modulu kontejneru NVIDIA DIGITS najdete v dokumentaci Deep Učení Digits.

Vyčištění prostředků

Pokud chcete pokračovat v dalších kurzech IoT Edge, můžete použít zařízení, které jste vytvořili pro účely tohoto kurzu. Jinak můžete odstranit prostředky Azure, které jste vytvořili, abyste se vyhnuli poplatkům.

Pokud jste vytvořili virtuální počítač a Centrum IoT v nové skupině prostředků, můžete tuto skupinu odstranit, čímž se odstraní všechny přidružené prostředky. Pečlivě zkontrolujte obsah skupiny prostředků a ujistěte se, že není nic, co chcete zachovat. Pokud nechcete odstranit celou skupinu, můžete místo toho odstranit jednotlivé prostředky (virtuální počítač, zařízení nebo modul GPU).

Důležité

Odstranění skupiny prostředků je nevratné.

Pomocí následujícího příkazu odeberte skupinu prostředků Azure. Odstranění skupiny prostředků může trvat několik minut.

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

Pokud chcete ověřit, že je skupina prostředků odebraná, zobrazí se seznam skupin prostředků.

az group list

Další kroky

Tento článek vám pomohl nastavit virtuální počítač a zařízení IoT Edge tak, aby se akcelerovalo GPU. Pokud chcete spustit aplikaci s podobným nastavením, vyzkoušejte studijní program pro vývoj NVIDIA DeepStream v Microsoft Azure. V kurzu Learn se dozvíte, jak vyvíjet optimalizované inteligentní video aplikace, které můžou využívat více video, obrázků a zvukových zdrojů.