Ricorrendo a un'unità di elaborazione grafica (GPU) si possono migliorare notevolmente i tempi di elaborazione per i modelli di apprendimento automatico. ArcGIS Notebook Server può utilizzare le GPU NVIDIA sul computer host, dopo aver eseguito alcuni passaggi necessari.
Una volta installato e configurato ArcGIS Notebook Server, seguire questi passaggi utilizzando lo stesso computer.
- Installare gli opportuni driver NVIDIA sul computer. Per informazioni più dettagliate, consultare il sito Web di NVIDIA.
- Installare il runtime nvidia-docker 2.0 sul computer affinché i contenitori dei notebook possano avvalersi delle GPU. Consultare la sezione Repository NVIDIA-Docker su GitHub per i download e la documentazione relativi al sistema operativo specifico.
- Eseguire questo comando per confermare che gli elementi NVIDIA siano installati correttamente:
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
- Estendere il runtime notebook esistente in un Dockerfile per impostare le seguenti variabili di ambiente, abilitando NVIDIA Container Runtime per contenitori con accelerazione GPU.
È anche possibile decidere di installare altri moduli Python che possono sfruttare il supporto della GPU. Per creare un Dockerfile, seguire i passaggi illustrati nella sezione Estendere il runtime e gli appunti.# Specify the existing notebook runtime imageId as FROM FROM <imageID> # Use RUN to issue a command to install # Declare environment variables with ENV #RUN conda install <your_preferred_gpu_package> ENV NVIDIA_VISIBLE_DEVICES all ENV NVIDIA_DRIVER_CAPABILITIES compute,utility ENV NVIDIA_REQUIRE_CUDA "cuda>=9.2"
Seguire questi passaggi per verificare l'imageId di un runtime notebook esistente. Accedere alla Administrator Directory di ArcGIS Notebook Server presso https://notebookserver.domain.com:11443/arcgis/admin e navigare in notebook > runtime", selezionare il runtime che verrà utilizzato come base del runtime abilitato per GPU e verificare la proprietà dell'ID immagine.
- Accedere all’Administrator Directory di ArcGIS Notebook Server su https://notebookserver.domain.com:11443/arcgis/admin.
- Fare clic su notebook > runtime.
- Selezionare il runtime che verrà utilizzato come base del runtime abilitato per GPU e verificare la proprietà dell'ID immagine.
- Costruire la propria immagine personalizzata del contenitore con la seguente sintassi di comando:
Non dimenticare di inserire il punto alla fine del comando.docker build -t myGpuRuntime:v1.0 -f <path_to_Dockerfile> .
Dopo aver creato l'immagine, un messaggio indicherà il valore di imageId abbreviato della nuova immagine.
- Ottenere l'imageId completo del nuovo contenitore.
docker inspect <imageId>
- Accedere all’Administrator Directory di ArcGIS Notebook Server su https://notebookserver.domain.com:11443/arcgis/admin. Passare a notebook > runtime e selezionare il runtime scelto nel passaggio 4, poi fare clic su modifica.
- Aggiornare il runtime per utilizzare la nuova immagine personalizzata. Sostituire il valore di imageId esistente con il valore dell'immagine ottenuto nel passaggio 6.
- Impostare il valore di dockerRuntime su nvidia. Salvare le modifiche.
- Verificare di aver configurato correttamente ArcGIS Notebook Server affinché usi le GPU NVIDIA. Come membro del portale con il privilegio Crea e modifica notebook o il privilegio Notebook avanzati, se si sceglie il runtime avanzato nel passaggio 4, aprire un nuovo notebook. Copia quanto segue in una cella ed eseguirla.
Come output si otterrà True, perché il pacchetto torch.cuda richiede l'esecuzione delle GPU.import torch torch.cuda.is_available()
- Eseguire il seguente comando in una nuova cella per visualizzare la configurazione della GPU del computer:
!nvidia-smi
Se si desidera rimuovere dal sito ArcGIS Notebook Server l'opzione di utilizzo della GPU, eseguire l'operazione Ripristina i runtime predefiniti nell'Administrator Directory. Questa opzione è disponibile all'URL https://notebookserver.domain.com:11443/arcgis/admin/notebooks/runtimes/restore.