Megosztás a következőn keresztül:


Oktatóanyag: IoT Edge-modul konfigurálása, csatlakoztatása és ellenőrzése GPU-hoz

A következőkre vonatkozik: IoT Edge 1.5 pipa IoT Edge 1.5 IoT Edge 1.4 pipa IoT Edge 1.4

Fontos

Az IoT Edge 1.5 LTS és az IoT Edge 1.4 LTS támogatott kiadások. Az IoT Edge 1.4 LTS 2024. november 12-én megszűnik. Ha egy korábbi kiadáson dolgozik, olvassa el az IoT Edge frissítése című témakört.

Ez az oktatóanyag bemutatja, hogyan hozhat létre GPU-kompatibilis virtuális gépet (VM). A virtuális gépből megtudhatja, hogyan futtathat egy IoT Edge-eszközt, amely az egyik modulból a GPU-hoz rendeli a munkát.

Az Azure Portalt, az Azure Cloud Shellt és a virtuális gép parancssorát a következőre fogjuk használni:

  • GPU-kompatibilis virtuális gép létrehozása
  • Az NVIDIA illesztőprogram-bővítmény telepítése a virtuális gépen
  • Modul konfigurálása IoT Edge-eszközön a gpu-nak való munka lefoglalásához

Előfeltételek

GPU-ra optimalizált virtuális gép létrehozása

GPU-ra optimalizált virtuális gép (VM) létrehozásához fontos a megfelelő méret kiválasztása. Nem minden virtuálisgép-méret alkalmas GPU-feldolgozásra. Emellett különböző virtuálisgép-méretek is vannak a különböző számítási feladatokhoz. További információ: GPU-optimalizált virtuálisgép-méretek , vagy próbálja ki a Virtuális gépek választót.

Hozzunk létre egy IoT Edge virtuális gépet az Azure Resource Manager (ARM) sablonnal a GitHubon, majd konfiguráljuk GPU-optimalizáltra.

  1. Nyissa meg az IoT Edge virtuálisgép-üzembehelyezési sablont a GitHubon: Azure/iotedge-vm-deploy.

  2. Válassza az Üzembe helyezés az Azure-ban gombot, amely egyéni virtuális gép létrehozását kezdeményezi az Azure Portalon.

  3. Töltse ki az egyéni üzembehelyezési mezőket az Azure-beli hitelesítő adatokkal és erőforrásokkal:

    Tulajdonság Leírás vagy mintaérték
    Előfizetés Válassza ki Az Azure-fiók előfizetését.
    Erőforráscsoport Adja hozzá az Azure-erőforráscsoportot.
    Régió East US
    A GPU virtuális gépek nem minden régióban érhetők el.
    DNS-címke előtagja Hozzon létre egy nevet a virtuális gépnek.
    Rendszergazdai felhasználónév adminUser
    Másik lehetőségként hozzon létre saját felhasználónevet.
    Eszközkapcsolati sztring Másolja a kapcsolati sztring az IoT Edge-eszközről, majd illessze be ide.
    Virtuális gép mérete Standard_NV6
    Hitelesítés típusa Válassza a jelszót vagy az SSH nyilvános kulcsát, majd szükség esetén hozzon létre egy jelszót vagy kulcspárnevet.

    Tipp.

    Ellenőrizze, hogy az egyes régiókban mely GPU-virtuális gépek támogatottak: régiónként elérhető termékek.

    Ha ellenőrizni szeretné, hogy az Azure-előfizetés melyik régiót engedélyezi, próbálja ki ezt az Azure-parancsot az Azure Portalon. Standard_N Ez N azt jelenti, hogy gpu-kompatibilis virtuális gép.

    az vm list-skus --location <YOUR-REGION> --size Standard_N --all --output table
    
  4. Kattintson az alul található Véleményezés + létrehozás gombra, majd a Létrehozás gombra. Az üzembe helyezés akár egy percet is igénybe vehet.

Az NVIDIA-bővítmény telepítése

Most, hogy gpu-ra optimalizált virtuális gépünk van, telepítsük az NVIDIA-bővítményt a virtuális gépre az Azure Portal használatával.

  1. Nyissa meg a virtuális gépet az Azure Portalon, és a bal oldali menüben válassza a Bővítmények + alkalmazások lehetőséget.

  2. Válassza a Hozzáadás lehetőséget, és válassza ki a listából az NVIDIA GPU-illesztőbővítményt, majd válassza a Tovább gombot.

  3. Válassza a Véleményezés+ létrehozás, majd a Létrehozás lehetőséget. Az üzembe helyezés akár 30 percet is igénybe vehet.

  4. Az Azure Portalon történő telepítés megerősítéséhez térjen vissza a virtuális gép Bővítmények + alkalmazások menüjébe. Az új elnevezett NvidiaGpuDriverLinux bővítménynek szerepelnie kell a bővítmények listájában, és az Állapot csoportban meg kell jelennie a sikeres üzembe helyezésnek.

  5. Az Azure Cloud Shell használatával történő telepítés megerősítéséhez futtassa ezt a parancsot a bővítmények listázásához. Cserélje le a <> helyőrzőket az értékekre:

    az vm extension list --resource-group <YOUR-RESOURCE-GROUP> --vm-name <YOUR-VM-NAME> -o table
    
  6. Egy NVIDIA-modullal az NVIDIA Rendszerfelügyeleti felület programot fogjuk használni, más néven nvidia-smi.

    Az eszközről telepítse a csomagot az nvidia-smi Ubuntu-verzió alapján. Ebben az oktatóanyagban az Ubuntu 20.04-et fogjuk telepíteni nvidia-utils-515 . Válassza ki Y , amikor a rendszer kéri a telepítést.

    sudo apt install nvidia-utils-515
    

    Az alábbi lista az összes nvidia-smi verziót tartalmazza. Ha az első telepítés nélkül fut nvidia-smi , ez a lista a konzolon jelenik meg.

    Képernyőkép az összes

  7. A telepítés után futtassa ezt a parancsot a telepítés megerősítéséhez:

    nvidia-smi
    

    Ekkor megjelenik egy megerősítést kérő tábla, hasonlóan ehhez a táblához.

    Képernyőkép az NVIDIA illesztőtábláról.

Feljegyzés

Az NVIDIA-bővítmény leegyszerűsíti az NVIDIA-illesztőprogramok telepítését, de előfordulhat, hogy további testreszabásra van szüksége. További információ az N sorozatú virtuális gépek egyéni telepítéseiről: NVIDIA GPU-illesztőprogramok telepítése Linux rendszerű N sorozatú virtuális gépekre.

Modul engedélyezése GPU-gyorsítással

Az IoT Edge-modulok különböző módokon engedélyezve vannak, így gpu-t használnak a feldolgozáshoz. Ennek egyik módja egy meglévő IoT Edge-modul konfigurálása az eszközön gpu-gyorsításra. Egy másik módszer egy előre gyártott tárolómodul használata, például egy nvidia DIGITS-modul, amely már GPU-ra van optimalizálva. Nézzük meg, hogyan történik mindkét módszer.

GPU engedélyezése meglévő modulban a DeviceRequests használatával

Ha rendelkezik egy meglévő modullal az IoT Edge-eszközön, az üzembehelyezési jegyzékben createOptions szereplő DeviceRequests konfiguráció hozzáadása a modul GPU-optimalizálását teszi lehetővé. Meglévő modul konfigurálásához kövesse az alábbi lépéseket.

  1. Nyissa meg az IoT Hubot az Azure Portalon, és válassza az Eszközök lehetőséget az Eszközfelügyelet menüben.

  2. A megnyitáshoz válassza ki az IoT Edge-eszközt.

  3. Válassza felül a Modulok beállítása lapot.

  4. Válassza ki a GPU-használathoz engedélyezni kívánt modult az IoT Edge-modulok listájában.

  5. Megnyílik egy oldalpanel, és válassza a Tároló létrehozása beállításai lapot.

  6. Másolja ki ezt a JSON-sztringet HostConfig , és illessze be a Létrehozási beállítások mezőbe.

     {
         "HostConfig": {
             "DeviceRequests": 
             [
                 {
                     "Count": -1,
                     "Capabilities": [
                         [
                             "gpu"
                         ]
                     ]
                 }
             ]
         }
     }
    
  7. Válassza a Frissítés lehetőséget.

  8. Válassza az Áttekintés + létrehozás lehetőséget. Az új HostConfig objektum most már látható a settings modulban.

  9. Válassza a Létrehozás lehetőséget.

  10. Az új konfiguráció működésének ellenőrzéséhez futtassa ezt a parancsot a virtuális gépen:

    sudo docker inspect <YOUR-MODULE-NAME>
    

    A konzol JSON-nyomtatásában meg kell jelennie a megadott paramétereknek DeviceRequests .

Feljegyzés

A DeviceRequests paraméter jobb megértéséhez tekintse meg a forráskódot: moby/host_config.go

GPU engedélyezése előre gyártott NVIDIA-modulban

Adjunk hozzá egy NVIDIA DIGITS-modult az IoT Edge-eszközhöz, majd foglaljunk le egy GPU-t a modulhoz a környezeti változók beállításával. Ez az NVIDIA-modul már egy Docker-tárolóban van.

  1. Válassza ki az IoT Edge-eszközt az Azure Portalon az IoT Hub Eszközök menüjében.

  2. Válassza felül a Modulok beállítása lapot.

  3. Válassza a + Hozzáadás lehetőséget az IoT Edge-modulok címsorában, és válassza az IoT Edge-modult.

  4. Adjon meg egy nevet az IoT Edge-modul neve mezőben.

  5. A Modul beállításai lapon adja hozzá nvidia/digits:6.0 a Kép URI mezőjét.

  6. Válassza a Környezeti változók lapot.

  7. Adja hozzá a környezeti változó nevét NVIDIA_VISIBLE_DEVICES az értékkel 0. Ez a változó szabályozza, hogy mely GPU-k láthatók a peremeszközön futó tárolóalapú alkalmazás számára. A NVIDIA_VISIBLE_DEVICES környezeti változó beállítható az eszközazonosítók vesszővel tagolt listájára, amely megfelel a rendszerben lévő fizikai GPU-knak. Ha például két GPU van a rendszerben 0 és 1 eszközazonosítóval, a változó "NVIDIA_VISIBLE_DEVICES=0,1" értékre állítható be, hogy mindkét GPU látható legyen a tároló számára. Ebben a cikkben, mivel a virtuális gép csak egy GPU-val rendelkezik, az elsőt (és csak) használjuk.

    Név Típus Érték
    NVIDIA_VISIBLE_DEVICES Szöveg 0
  8. Válassza a Hozzáadás lehetőséget.

  9. Válassza az Áttekintés + létrehozás lehetőséget. Megjelennek az üzembehelyezési jegyzék tulajdonságai.

  10. Válassza a Létrehozás lehetőséget a modul létrehozásához.

  11. Válassza a Frissítés lehetőséget a modullista frissítéséhez. A modul futásideje néhány percet vesz igénybe, ezért frissítse az eszközt.

  12. Az eszközről futtassa ezt a parancsot, és győződjön meg arról, hogy az új NVIDIA-modul létezik és fut.

    iotedge list
    

    Az NVIDIA-modulnak az IoT Edge-eszközön található modulok listájában kell megjelennie running, amelynek állapota : .

    Képernyőkép az

Feljegyzés

Az NVIDIA DIGITS tárolómodullal kapcsolatos további információkért tekintse meg a Deep Learning Digits dokumentációját.

Az erőforrások eltávolítása

Ha folytatni szeretné a többi IoT Edge-oktatóanyagot, használhatja az oktatóanyaghoz létrehozott eszközt. Ellenkező esetben törölheti a létrehozott Azure-erőforrásokat a díjak elkerülése érdekében.

Ha a virtuális gépet és az IoT Hubot egy új erőforráscsoportban hozta létre, törölheti azt a csoportot, amely az összes társított erőforrást törli. Ellenőrizze duplán az erőforráscsoport tartalmát, és győződjön meg arról, hogy semmit sem szeretne megtartani. Ha nem szeretné törölni a teljes csoportot, törölheti az egyes erőforrásokat (virtuális gép, eszköz vagy GPU-modul).

Fontos

Az erőforráscsoport törlése nem vonható vissza.

Az Azure-erőforráscsoport eltávolításához használja az alábbi parancsot. Egy erőforráscsoport törlése eltarthat néhány percig.

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

Az erőforráscsoport eltávolítását az erőforráscsoportok listájának megtekintésével ellenőrizheti.

az group list

Következő lépések

Ez a cikk segített beállítani a virtuális gépet és az IoT Edge-eszközt GPU-gyorsításra. Ha hasonló beállítással szeretne futtatni egy alkalmazást, próbálja ki az NVIDIA DeepStream-fejlesztés képzési tervét a Microsoft Azure-ral. A Learn oktatóanyag bemutatja, hogyan fejleszthet optimalizált intelligens videoalkalmazásokat, amelyek több video-, kép- és hangforrást is használhatnak.