Distribuire un modulo IoT abilitato per GPU nel dispositivo Azure Stack Edge Pro GPU
SI APPLICA A:Azure Stack Edge Pro - GPU
Azure Stack Edge Pro 2
Azure Stack Edge Pro R
Nota
È consigliabile distribuire la versione più recente di IoT Edge in una macchina virtuale Linux. IoT Edge gestito in Azure Stack Edge usa una versione precedente del runtime di IoT Edge che non dispone delle funzionalità e delle patch più recenti. Per istruzioni, vedere Come distribuire una macchina virtuale Ubuntu. Per altre informazioni su altre distribuzioni Linux supportate che possono eseguire IoT Edge, vedere Sistemi supportati di Azure IoT Edge - Motori di contenitori.
Questo articolo descrive come distribuire un modulo IoT Edge abilitato per GPU nel dispositivo Azure Stack Edge Pro GPU.
In questo articolo vengono illustrate le operazioni seguenti:
- Preparare Azure Stack Edge Pro per eseguire un modulo GPU.
- Scaricare e installare il codice di esempio da un repository Git.
- Compilare la soluzione e generare un manifesto della distribuzione.
- Distribuire la soluzione nel dispositivo Azure Stack Edge Pro.
- Monitorare l'output del modulo.
Informazioni sul modulo di esempio
Il modulo di esempio GPU in questo articolo include il codice di esempio pyTorch e TensorFlow per la CPU rispetto alla GPU.
Prerequisiti
Prima di iniziare, verifica di disporre di:
- Si ha accesso a un dispositivo Azure Stack Edge Pro abilitato per la GPU a 1 nodo. Questo dispositivo viene attivato con una risorsa in Azure. Vedi Attivare il dispositivo.
- Il calcolo è stato configurato in questo dispositivo. Seguire la procedura descritta in Esercitazione: Configurare il calcolo nel dispositivo Azure Stack Edge Pro.
- Un Registro Azure Container (ACR). Passare al pannello Chiavi di accesso e prendere nota del server di accesso del Registro Azure Container, del nome utente e della password. Per altre informazioni, vedere Avvio rapido: Creare un registro contenitori privato usando il portale di Azure.
- Le risorse di sviluppo seguenti in un client Windows:
- Interfaccia della riga di comando di Azure 2.0 o versione successiva
- Docker CE. È possibile che sia necessario creare un account per scaricare e installare il software.
- Visual Studio Code
- Azure IoT Edge: estensione per Visual Studio Code.
- Estensione Python per Visual Studio Code
- Python 3
- Pip per l'installazione di pacchetti Python (in genere inclusi nell'installazione di Python)
Scaricare il codice di esempio
Passare agli esempi di Modelli di Edge intelligente di Azure in Azure. Clonare o scaricare il file ZIP per il codice.
Estrarre i file dal file ZIP. È anche possibile clonare gli esempi.
git clone https://github.com/Azure-Samples/azure-intelligent-edge-patterns.git
Compilare e distribuire il modulo
Aprire la cartella GpuReferenceModules in Visual Studio Code.
Aprire deployment.template.json e identificare i parametri a cui fa riferimento per il registro contenitori. Nel file seguente vengono usati CONTAINER_REGISTRY_Uedizione Standard RNAME, CONTAINER_REGISTRY_PASSWORD e 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" } } } },
Creare un nuovo file. Compilare i valori per i parametri del registro contenitori (usare quelli identificati nel passaggio precedente) come indicato di seguito:
CONTAINER_REGISTRY_NAME=<YourContainerRegistryName> CONTAINER_REGISTRY_USERNAME=<YourContainerRegistryUserName> CONTAINER_REGISTRY_PASSWORD=<YourContainerRegistryPassword>
Di seguito è riportato un file con estensione env di esempio:
Salvare il file con estensione env nella cartella SampleSolution .
Per accedere a Docker, immettere il comando seguente nel terminale integrato di Visual Studio Code.
docker login -u <CONTAINER_REGISTRY_USERNAME> -p <CONTAINER_REGISTRY_PASSWORD> <CONTAINER_REGISTRY_NAME>
Passare alla sezione Chiavi di accesso del registro contenitori nel portale di Azure. Copiare e usare il nome del Registro di sistema, la password e il server di accesso.
Dopo aver specificato le credenziali, l'accesso ha esito positivo.
Eseguire il push dell'immagine nel registro Azure Container. In Esplora risorse di VS Code selezionare e fare clic con il pulsante destro del mouse sul file deployment.template.json e quindi scegliere Compila e push della soluzione IoT Edge.
Se l'estensione Python e Python non sono installate, queste verranno installate durante la compilazione e il push della soluzione. Ciò comporta tuttavia tempi di compilazione più lunghi.
Al termine di questo passaggio, il modulo viene visualizzato nel registro contenitori.
Per creare un manifesto della distribuzione, fare clic con il pulsante destro del mouse sul file deployment.template.json e quindi scegliere Genera manifesto della distribuzione IoT Edge.
La notifica informa il percorso in cui è stato generato il manifesto della distribuzione. Il manifesto è il
deployment.amd64.json
file generato nella cartella config .Selezionare il file deployment.amd64.json nella cartella config e quindi scegliere Crea distribuzione per singolo dispositivo. Non usare il file deployment.template.json .
Nella finestra Output dovrebbe essere visualizzato un messaggio che indica che la distribuzione è riuscita.
Monitorare il modulo
Nel riquadro comandi di VS Code eseguire Azure IoT Hub: Select IoT Hub (Hub IoT di Azure: Seleziona l'hub IoT).
Scegliere la sottoscrizione e l'hub IoT che contiene il dispositivo IoT Edge che si vuole configurare. In questo caso, selezionare la sottoscrizione usata per distribuire il dispositivo Azure Stack Edge Pro e selezionare il dispositivo IoT Edge creato per il dispositivo Azure Stack Edge Pro. Ciò si verifica quando si configura il calcolo tramite il portale di Azure nei passaggi precedenti.
Nello strumento di esplorazione di VS Code espandere la sezione hub IoT di Azure. In Dispositivi dovrebbe essere visualizzato il dispositivo IoT Edge corrispondente al dispositivo Azure Stack Edge Pro.
Selezionare il dispositivo, fare clic con il pulsante destro del mouse e scegliere Avvia monitoraggio endpoint evento predefinito.
Passare a Dispositivi > Moduli e dovrebbe essere visualizzato il modulo GPU in esecuzione.
Il terminale di VS Code dovrebbe anche mostrare gli eventi hub IoT come output di monitoraggio per il dispositivo Azure Stack Edge Pro.
È possibile notare che il tempo impiegato per eseguire lo stesso set di operazioni (5000 iterazioni della trasformazione forma) da GPU è molto inferiore a quello della CPU.
Passaggi successivi
- Altre informazioni su come configurare la GPU per l'uso di un modulo.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per