Non son sicuro questa sia la sezione adatta, in caso chiedo ai moderatori di spostare il post nella sezione giusta.
Chi usa PixInsight ed i recenti tool che sfruttano le reti neuronali (Starnet++ ed i tool di RC StarXterminator e BlueXterminator) avra' notato che processare un'immagine di dimensini medio grandi richiede un tempo molto lungo anche con computer relativamente recenti. Per le mie immagini fatte con una IMX455 (62 megapixel) ad esempio rimuovere le stelle con StarXterminator mi richiede almeno 5/6 minuti di tempo CPU.
Pero' ho scoperto in rete che se si ha un PC con scheda NVIDIA esiste la possibilita' di modificare le impostazioni di PI per usare la potenza della GPU (i processori CUDA di Nvidia) e ridurre notevolmente il tempo di elaborazione. Nel mio caso con un laptop che usa Win 10 a 64bit, un intel i7-11800H e un RTX3060 il tempo di elaborazione e' sceso da diversi minuti a meno di 30 secondi con aumento della velocità di oltre 10/12 volte!
La procedure per modificare le impostazioni e' piuttosto laboriosa ed i due siti che spiegano come fare (
qui e
qui) riportano i passaggi a mio parere in maniera un po' confusa. Per chi vuole cimentarsi riporto qui sotto i diversi passi per far funzionare il tutto.
AGGIORNATO 28 DICEMBRE (semplificato)1) Innanzitutto, vanno scaricati tutti i file necessari:
-
nVidia CUDA 11.8 -
nVidia cuDNN v8.7.0 per CUDA 11.x (è necessario prima registrarsi
al sito nVidia dev per poterlo scaricare, alternativamente, per un periodo limitato, scaricate la copia contenente solo i file necessari
dalla mia cartella dropbox facendo attenzione che son quasi 700 MB di file)
-
libtensorflow-gpu 2.9.0 -
ZLIB DLL (se si utilizza Chrome, fare clic con il pulsante destro del mouse sul collegamento e selezionare 'Salva collegamento con nome...' per scaricare).
2) Installazione personalizzata del toolkit nVidia CUDA
lancia il file di istallazione di nVidia CUDA 11.8 (cuda_11.8.0_windows_network.exe) e deseleziona tutto tranne CUDA > Runtime > Libraries* (*deselezionare pure la 'Demo Suite' in 'Libraries' perché tanto non serve).
3) Aggiunta / modifica librerie
- Apri con 7zip o similari il file cudnn-windows-x86_64-8.7.0.84_cuda11-archive.zip scaricato (o la versione ridotta sul mio mirror) e copia la cartella 'bin' nelle cartelle corrispondenti in 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\V11.8\bin'
- Apri il file zlib123dllx64.zip scaricato e copia 'zlibwapi.dll' dalla cartella 'dll_x64' in 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin'
- Apri l'archivio libtensorflow-gpu-windows-x86_64-2.7.0.zip scaricato e copia tensorflow.dll dalla cartella 'lib' in 'C:\Program Files\PixInsight\bin', sovrascrivendo i file esistenti
4) Aggiornamento impostare le variabili globali ('environment')
*istruzioni per windows in inglese, in italiano ovviamente modificate il corrispondente valore
Cerca 'environment' nella barra di ricerca di Windows e seleziona 'Edit the system environment variables'.
Nella finestra 'System Properties' /tab 'advance' cliccare su 'Environment Variables' e nella nuova finestra che si attiva:
- In 'System variables' (nella parte inferiore della finestra) inserire la seguente nuova variabile (cliccare il pulsante 'new'):
nome -> TF_FORCE_GPU_ALLOW_GROWTH valore -> TRUE
- Sempre in 'System variables' (nella parte inferiore della finestra) verificare se queste variabili son presenti (altrimenti vanno aggiunte sempre con il pulsante 'new'):
nome -> CUDA_PATH valore -> C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
nome -> CUDA_PATH_V11_8 valore -> C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
- Sempre in 'System variables' (nella parte inferiore della finestra) edita la variabile d'ambiente PATH e aggiungi i seguenti indirizzi:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
Fate un reboot di windows.
Un po' complicato e dispendioso in termini di tempo, ma assolutamente consigliabile se usate i programmi menzionati all'inizio in quanto farà risparmiare un sacco di tempo di calcolo!
Ciao
Marco