Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:
IoT Edge 1.5
Ważne
Obsługiwana wersja usługi IoT Edge 1.5 LTS. Usługa IoT Edge 1.4 LTS kończy się od 12 listopada 2024 r. Jeśli korzystasz z wcześniejszej wersji, zobacz aktualizację Azure IoT Edge.
W tym samouczku pokazano, jak utworzyć maszynę wirtualną z obsługą procesora GPU. Na maszynie wirtualnej uruchamiasz urządzenie brzegowe IoT, które dystrybuuje zadania z jednego z jego modułów do twojego GPU.
Użyj witryny Azure Portal, usługi Azure Cloud Shell i wiersza polecenia maszyny wirtualnej, aby:
- Tworzenie maszyny wirtualnej obsługującej procesor GPU
- Instalowanie rozszerzenia sterownika NVIDIA na maszynie wirtualnej
- Konfigurowanie modułu na urządzeniu usługi IoT Edge w celu przydzielenia pracy do procesora GPU
Wymagania wstępne
Konto platformy Azure — tworzenie bezpłatnego konta
Azure IoT Hub — tworzenie centrum IoT Hub
Urządzenie usługi Azure IoT Edge
Jeśli nie masz urządzenia usługi IoT Edge i chcesz go szybko utworzyć, uruchom następujące polecenie. Użyj usługi Azure Cloud Shell w witrynie Azure Portal. Utwórz nową nazwę urządzenia dla
<DEVICE-NAME>i zastąp<YOUR-IOT-HUB-NAME>nazwą twojego centrum IoT.az iot hub device-identity create --device-id <YOUR-DEVICE-NAME> --edge-enabled --hub-name <YOUR-IOT-HUB-NAME>Aby uzyskać więcej informacji na temat tworzenia urządzenia usługi IoT Edge, zobacz Szybki start: wdrażanie pierwszego modułu usługi IoT Edge na wirtualnym urządzeniu z systemem Linux. W dalszej części tego artykułu dodasz moduł NVIDIA do urządzenia IoT Edge.
Tworzenie maszyny wirtualnej zoptymalizowanej pod kątem procesora GPU
Aby utworzyć maszynę wirtualną zoptymalizowaną pod kątem procesora GPU, wybierz odpowiedni rozmiar. Nie wszystkie rozmiary maszyn wirtualnych obsługują przetwarzanie procesora GPU, a różne rozmiary maszyn wirtualnych działają najlepiej w przypadku różnych obciążeń. Aby uzyskać więcej informacji, zobacz Rozmiary maszyn wirtualnych zoptymalizowanych pod kątem procesora GPU lub wypróbuj selektor Maszyny wirtualne.
Utwórz maszynę wirtualną usługi IoT Edge przy użyciu szablonu usługi Azure Resource Manager (ARM) w usłudze GitHub, a następnie skonfiguruj ją tak, aby była zoptymalizowana pod kątem procesora GPU.
Przejdź do szablonu wdrażania maszyny wirtualnej IoT Edge w usłudze GitHub pod adresem Azure/iotedge-vm-deploy.
Wybierz przycisk Wdróż na platformie Azure , aby rozpocząć tworzenie niestandardowej maszyny wirtualnej w witrynie Azure Portal.
Wprowadź poświadczenia i informacje o zasobach platformy Azure w polach wdrożenia niestandardowego :
Właściwości Opis lub przykładowa wartość Subskrypcja Wybierz subskrypcję konta platformy Azure. Grupa zasobów Dodaj grupę zasobów platformy Azure. Region (Region) East US
Maszyny wirtualne procesora GPU nie są dostępne we wszystkich regionach.Prefiks etykiety DNS Utwórz nazwę maszyny wirtualnej. Nazwa użytkownika administratora adminUser
Możesz też utworzyć własną nazwę użytkownika.Parametry połączenia urządzenia Skopiuj parametry połączenia z urządzenia usługi IoT Edge, a następnie wklej tutaj. Rozmiar maszyny wirtualnej Standard_NV6Typ uwierzytelniania Wybierz hasło lub klucz publiczny SSH, a następnie w razie potrzeby utwórz hasło lub nazwę pary kluczy. Napiwek
Sprawdź, które maszyny wirtualne procesora GPU są obsługiwane w każdym regionie: produkty dostępne według regionów.
Aby sprawdzić region, na który pozwala subskrypcja platformy Azure, wypróbuj to polecenie platformy Azure w witrynie Azure Portal. Wartość
NinStandard_Noznacza, że jest to maszyna wirtualna z obsługą procesora GPU.az vm list-skus --location <YOUR-REGION> --size Standard_N --all --output tableWybierz przycisk Przejrzyj i utwórz u dołu, a następnie wybierz przycisk Utwórz . Wdrożenie może potrwać do jednej minuty.
Instalowanie rozszerzenia NVIDIA
Teraz, gdy masz maszynę wirtualną zoptymalizowaną pod kątem procesora GPU, zainstaluj rozszerzenie NVIDIA na maszynie wirtualnej przy użyciu witryny Azure Portal.
Otwórz maszynę wirtualną w witrynie Azure Portal i wybierz pozycję Rozszerzenia i aplikacje z menu po lewej stronie.
Wybierz pozycję Dodaj i wybierz z listy rozszerzenie sterownika procesora GPU FIRMY NVIDIA, a następnie wybierz pozycję Dalej.
Wybierz pozycję Przejrzyj i utwórz, a następnie pozycję Utwórz. Ukończenie wdrożenia może potrwać do 30 minut.
Aby potwierdzić instalację w witrynie Azure Portal, wróć do menu Rozszerzenia i aplikacje na maszynie wirtualnej. Nowe rozszerzenie o nazwie
NvidiaGpuDriverLinuxpowinno znajdować się na liście rozszerzeń i wyświetlić stan Inicjowanie obsługi administracyjnej zakończyło się pomyślnie.Aby potwierdzić instalację przy użyciu usługi Azure Cloud Shell, uruchom to polecenie, aby wyświetlić listę rozszerzeń. Zastąp
<>symbole zastępcze wartościami:az vm extension list --resource-group <YOUR-RESOURCE-GROUP> --vm-name <YOUR-VM-NAME> -o tableW module NVIDIA użyjemy programu NVIDIA System Management Interface, znanego również jako
nvidia-smi.Na urządzeniu
nvidia-smizainstaluj pakiet na podstawie używanej wersji systemu Ubuntu. Na potrzeby tego samouczka zainstalujemy systemnvidia-utils-515Ubuntu 20.04. WybierzYpo wyświetleniu monitu w instalacji.sudo apt install nvidia-utils-515Oto lista wszystkich
nvidia-smiwersji. Jeśli uruchomisznvidia-smibez jego zainstalowania, lista zostanie wydrukowana w konsoli.
Po zakończeniu instalacji uruchom to polecenie, aby potwierdzić, że jest zainstalowany:
nvidia-smiZostanie wyświetlona tabela potwierdzenia podobna do tej tabeli.
Uwaga
Rozszerzenie NVIDIA to uproszczony sposób instalowania sterowników NVIDIA, ale może być konieczne dostosowanie. Aby uzyskać więcej informacji na temat instalacji niestandardowych na maszynach wirtualnych serii N, zobacz Instalowanie sterowników procesora GPU NVIDIA na maszynach wirtualnych serii N z systemem Linux.
Włączanie modułu z akceleratorem procesora GPU
Istnieją różne sposoby włączania modułu usługi IoT Edge, aby używać procesora GPU do przetwarzania. Jednym ze sposobów jest skonfigurowanie istniejącego modułu usługi IoT Edge na urządzeniu w celu przyspieszenia procesora GPU. Innym sposobem jest użycie wstępnie utworzonego modułu kontenera, na przykład modułu firmy NVIDIA DIGITS , który jest już zoptymalizowany pod kątem procesora GPU. Zobaczmy, jak działają oba sposoby.
Włączanie procesora GPU w istniejącym module przy użyciu funkcji DeviceRequests
Jeśli masz istniejący moduł na urządzeniu usługi IoT Edge, dodanie konfiguracji przy użyciu DeviceRequests w createOptions manifeście wdrożenia sprawia, że moduł jest zoptymalizowany pod kątem procesora GPU. Wykonaj następujące kroki, aby skonfigurować istniejący moduł.
Przejdź do centrum IoT Hub w witrynie Azure Portal i wybierz pozycję Urządzenia w menu Zarządzanie urządzeniami .
Wybierz urządzenie usługi IoT Edge, aby je otworzyć.
Wybierz kartę Ustawianie modułów u góry.
Wybierz moduł, który chcesz włączyć do użycia z procesorem GPU na liście Moduły usługi IoT Edge.
Zostanie otwarty panel boczny, wybierz kartę Opcje tworzenia kontenera.
Skopiuj ten
HostConfigciąg JSON i wklej go w polu Utwórz opcje .{ "HostConfig": { "DeviceRequests": [ { "Count": -1, "Capabilities": [ [ "gpu" ] ] } ] } }Wybierz Aktualizuj.
Wybierz pozycję Przejrzyj i utwórz. Nowy
HostConfigobiekt jest teraz widoczny wsettingsmodule.Wybierz pozycję Utwórz.
Aby potwierdzić, że nowa konfiguracja działa, uruchom następujące polecenie na maszynie wirtualnej:
sudo docker inspect <YOUR-MODULE-NAME>W konsoli powinny zostać wyświetlone parametry określone
DeviceRequestsdla elementu w wydruku JSON.
Uwaga
Aby lepiej zrozumieć DeviceRequests parametr, wyświetl kod źródłowy: moby/host_config.go
Włączanie procesora GPU w wstępnie utworzonym module NVIDIA
Dodajmy moduł NVIDIA DIGITS do urządzenia usługi IoT Edge, a następnie przydzielmy procesor GPU do modułu, ustawiając jego zmienne środowiskowe. Ten moduł NVIDIA znajduje się już w kontenerze platformy Docker.
Wybierz urządzenie usługi IoT Edge w witrynie Azure Portal z menu Urządzenia usługi IoT Hub.
Wybierz kartę Ustawianie modułów u góry.
Wybierz pozycję + Dodaj w obszarze nagłówka modułów usługi IoT Edge i wybierz pozycję Moduł usługi IoT Edge.
Podaj nazwę w polu Nazwa modułu usługi IoT Edge.
Na karcie Ustawienia modułu dodaj
nvidia/digits:6.0do pola Identyfikator URI obrazu.Wybierz kartę Zmienne środowiskowe .
Dodaj nazwę
NVIDIA_VISIBLE_DEVICESzmiennej środowiskowej z wartością0. Ta zmienna kontroluje, które procesory GPU są widoczne dla konteneryzowanej aplikacji działającej na urządzeniu brzegowym. ZmiennąNVIDIA_VISIBLE_DEVICESśrodowiskową można ustawić na rozdzielaną przecinkami listę identyfikatorów urządzeń, które odpowiadają fizycznym procesorom GPU w systemie. Jeśli na przykład w systemie istnieją dwa procesory GPU z identyfikatorami urządzeń 0 i 1, zmienna może być ustawiona na "NVIDIA_VISIBLE_DEVICES=0,1", aby oba jednostki GPU były widoczne dla kontenera. W tym artykule, ponieważ maszyna wirtualna ma tylko jeden procesor GPU, użyjemy pierwszego (i tylko) jednego.Nazwisko Typ Wartość NVIDIA_VISIBLE_DEVICES Tekst 0 Wybierz Dodaj.
Wybierz pozycję Przejrzyj i utwórz. Właściwości manifestu wdrożenia są wyświetlane.
Wybierz pozycję Utwórz , aby utworzyć moduł.
Wybierz pozycję Odśwież , aby zaktualizować listę modułów. Uruchomienie modułu w stanie środowiska uruchomieniowego trwa kilka minut, więc odśwież urządzenie.
Na urządzeniu uruchom to polecenie, aby potwierdzić, że nowy moduł NVIDIA istnieje i jest uruchomiony.
iotedge listModuł NVIDIA powinien zostać wyświetlony na liście modułów na urządzeniu usługi IoT Edge ze stanem
running.
Uwaga
Aby uzyskać więcej informacji na temat modułu kontenera NVIDIA DIGITS, zobacz dokumentację cyfr uczenia głębokiego.
Czyszczenie zasobów
Jeśli chcesz kontynuować korzystanie z innych samouczków usługi IoT Edge, możesz użyć urządzenia utworzonego na potrzeby tego samouczka. W przeciwnym razie możesz usunąć utworzone zasoby platformy Azure, aby uniknąć naliczania opłat.
Jeśli utworzono maszynę wirtualną i centrum IoT Hub w nowej grupie zasobów, możesz usunąć grupę, co spowoduje usunięcie wszystkich skojarzonych zasobów. Sprawdź dokładnie zawartość grupy zasobów, aby się upewnić, że nie ma w niej żadnych elementów, które chcesz zachować. Jeśli nie chcesz usuwać całej grupy, możesz zamiast tego usunąć poszczególne zasoby (maszyny wirtualnej, urządzenia lub modułu GPU).
Ważne
Usunięcie grupy zasobów jest nieodwracalne.
Użyj następującego polecenia, aby usunąć grupę zasobów platformy Azure. Usunięcie grupy zasobów może potrwać kilka minut.
az group delete --name <YOUR-RESOURCE-GROUP> --yes
Możesz potwierdzić, że grupa zasobów została usunięta, wyświetlając listę grup zasobów.
az group list
Następne kroki
Ten artykuł pomógł skonfigurować maszynę wirtualną i urządzenie usługi IoT Edge w celu przyspieszenia procesora GPU. Aby uruchomić aplikację z podobną konfiguracją, wypróbuj ścieżkę szkoleniową dla programowania nvidia DeepStream na platformie Microsoft Azure. W samouczku Learn pokazano, jak opracowywać zoptymalizowane aplikacje inteligentne wideo, które mogą korzystać z wielu źródeł wideo, obrazów i audio.