Wdrażanie modułu IoT z obsługą procesora GPU na urządzeniu z procesorem GPU Usługi Azure Stack Edge Pro
DOTYCZY: Azure Stack Edge Pro — GPUAzure Stack Edge Pro 2Azure Stack Edge Pro R
Uwaga
Zdecydowanie zalecamy wdrożenie najnowszej wersji usługi IoT Edge na maszynie wirtualnej z systemem Linux. Zarządzana usługa IoT Edge w usłudze Azure Stack Edge używa starszej wersji środowiska uruchomieniowego usługi IoT Edge, która nie ma najnowszych funkcji i poprawek. Aby uzyskać instrukcje, zobacz jak wdrożyć maszynę wirtualną z systemem Ubuntu. Aby uzyskać więcej informacji na temat innych obsługiwanych dystrybucji systemu Linux, które mogą uruchamiać usługę IoT Edge, zobacz Obsługiwane systemy usługi Azure IoT Edge — aparaty kontenerów.
W tym artykule opisano sposób wdrażania modułu usługi IoT Edge z włączoną obsługą procesora GPU w usłudze Azure Stack Edge Pro.
W tym artykule omówiono sposób wykonywania następujących zadań:
- Przygotuj usługę Azure Stack Edge Pro do uruchomienia modułu procesora GPU.
- Pobierz i zainstaluj przykładowy kod z repozytorium Git.
- Skompiluj rozwiązanie i wygeneruj manifest wdrożenia.
- Wdróż rozwiązanie na urządzeniu Azure Stack Edge Pro.
- Monitorowanie danych wyjściowych modułu.
Informacje o przykładowym module
Przykładowy moduł procesora GPU w tym artykule zawiera przykładowy kod PyTorch i TensorFlow dla procesora CPU dla procesora GPU.
Wymagania wstępne
Zanim się zacznie, upewnij się, że masz:
- Masz dostęp do urządzenia Azure Stack Edge Pro z obsługą procesora GPU z obsługą 1 węzła. To urządzenie jest aktywowane przy użyciu zasobu na platformie Azure. Zobacz Aktywowanie urządzenia.
- Na tym urządzeniu skonfigurowano obliczenia. Wykonaj kroki opisane w artykule Samouczek: konfigurowanie obliczeń na urządzeniu Azure Stack Edge Pro.
- Usługa Azure Container Registry (ACR). Przejdź do bloku Klucze dostępu i zanotuj serwer logowania usługi ACR, nazwę użytkownika i hasło. Aby uzyskać więcej informacji, przejdź do przewodnika Szybki start: tworzenie prywatnego rejestru kontenerów przy użyciu witryny Azure Portal.
- Następujące zasoby programistyczne na kliencie systemu Windows:
- Interfejs wiersza polecenia platformy Azure w wersji 2.0 lub nowszej
- Program Docker CE. Może być konieczne utworzenie konta w celu pobrania i zainstalowania oprogramowania.
- Visual Studio Code
- Rozszerzenie usługi Azure IoT Edge dla programu Visual Studio Code
- Rozszerzenie języka Python dla programu Visual Studio Code
- Python 3
- Narzędzie do instalowania pakietów języka Python (zazwyczaj dołączone do instalacji języka Python)
Pobieranie przykładowego kodu
Przejdź do przykładów usługi Azure Intelligent Edge Patterns na platformie Azure. Sklonuj lub pobierz plik zip dla kodu.
Wyodrębnij pliki z pliku zip. Możesz również sklonować przykłady.
git clone https://github.com/Azure-Samples/azure-intelligent-edge-patterns.git
Kompilowanie i wdrażanie modułu
Otwórz folder GpuReferenceModules w programie Visual Studio Code.
Otwórz deployment.template.json i zidentyfikuj parametry, do których odwołuje się do rejestru kontenerów. W poniższym pliku używane są CONTAINER_REGISTRY_USERNAME, CONTAINER_REGISTRY_PASSWORD i CONTAINER_REGISTRY_NAME.
{ "$schema-template": "2.0.0", "modulesContent": { "$edgeAgent": { "properties.desired": { "schemaVersion": "1.0", "runtime": { "type": "docker", "settings": { "minDockerVersion": "v1.25", "loggingOptions": "", "registryCredentials": { "${CONTAINER_REGISTRY_NAME}":{ "username": "$CONTAINER_REGISTRY_USERNAME", "password": "$CONTAINER_REGISTRY_PASSWORD", "address": "${CONTAINER_REGISTRY_NAME}.azurecr.io" } } } },
Utwórz nowy plik. Wypełnij wartości parametrów rejestru kontenerów (użyj tych zidentyfikowanych we wcześniejszym kroku) w następujący sposób:
CONTAINER_REGISTRY_NAME=<YourContainerRegistryName> CONTAINER_REGISTRY_USERNAME=<YourContainerRegistryUserName> CONTAINER_REGISTRY_PASSWORD=<YourContainerRegistryPassword>
Poniżej przedstawiono przykładowy plik env :
Zapisz plik jako plik env w folderze SampleSolution .
Aby zalogować się do platformy Docker, wprowadź następujące polecenie w zintegrowanym terminalu programu Visual Studio Code.
docker login -u <CONTAINER_REGISTRY_USERNAME> -p <CONTAINER_REGISTRY_PASSWORD> <CONTAINER_REGISTRY_NAME>
Przejdź do sekcji Klucze dostępu rejestru kontenerów w witrynie Azure Portal. Skopiuj i użyj nazwy rejestru, hasła i serwera logowania.
Po podaniu poświadczeń logowanie zakończy się pomyślnie.
Wypchnij obraz do rejestru kontenerów platformy Azure. W Eksploratorze programu VS Code wybierz i kliknij prawym przyciskiem myszy plik deployment.template.json , a następnie wybierz pozycję Kompiluj i wypychaj rozwiązanie usługi IoT Edge.
Jeśli rozszerzenie Python i Python nie są zainstalowane, zostaną one zainstalowane podczas kompilowania i wypychania rozwiązania. Spowodowałoby to jednak dłuższy czas kompilacji.
Po zakończeniu tego kroku moduł zostanie wyświetlony w rejestrze kontenerów.
Aby utworzyć manifest wdrożenia, kliknij prawym przyciskiem myszy deployment.template.json, a następnie wybierz polecenie Generuj manifest wdrożenia usługi IoT Edge.
Powiadomienie informuje o ścieżce, w której został wygenerowany manifest wdrożenia. Manifest jest plikiem
deployment.amd64.json
wygenerowany w folderze config .Wybierz plik deployment.amd64.json w folderze config, a następnie wybierz pozycję Utwórz wdrożenie dla pojedynczego urządzenia. Nie używaj pliku deployment.template.json .
W oknie Dane wyjściowe powinien zostać wyświetlony komunikat informujący o pomyślnym wdrożeniu.
Monitorowanie modułu
W palecie poleceń programu VS Code wybierz i uruchom polecenie Azure IoT Hub: wybierz centrum IoT Hub.
Wybierz subskrypcję i centrum IoT Hub zawierające urządzenie usługi IoT Edge, które chcesz skonfigurować. W takim przypadku wybierz subskrypcję używaną do wdrożenia urządzenia Azure Stack Edge Pro i wybierz urządzenie usługi IoT Edge utworzone dla urządzenia Azure Stack Edge Pro. Dzieje się tak podczas konfigurowania zasobów obliczeniowych za pośrednictwem witryny Azure Portal we wcześniejszych krokach.
W eksploratorze programu VS Code rozwiń sekcję Azure IoT Hub. W obszarze Urządzenia powinno zostać wyświetlone urządzenie usługi IoT Edge odpowiadające urządzeniu Azure Stack Edge Pro.
Wybierz to urządzenie, kliknij prawym przyciskiem myszy i wybierz polecenie Rozpocznij monitorowanie wbudowanego punktu końcowego zdarzeń.
Przejdź do pozycji Moduły urządzeń > i powinien zostać wyświetlony moduł gpu uruchomiony.
Terminal programu VS Code powinien również wyświetlać zdarzenia usługi IoT Hub jako dane wyjściowe monitorowania urządzenia Azure Stack Edge Pro.
Widać, że czas potrzebny na wykonanie tego samego zestawu operacji (5000 iteracji kształtu) przez procesor GPU jest znacznie mniejszy niż w przypadku procesora CPU.
Następne kroki
- Dowiedz się więcej o sposobie konfigurowania procesora GPU do korzystania z modułu.