GDAL supporta l'elaborazione parallela?


11

Vorrei accelerare il processo corrispondente a questo comando:

gdalwarp -t_srs EPSG:4326 -overwrite input.ntf output.tif

Esiste un modo per utilizzare l'elaborazione parallela in GDAL? Semi-offtopic: in caso contrario, mi consiglia una soluzione non GDAL per accelerare un processo simile a gdalwarp?

Ecco le pagine Web che ho visto:

Modifica: ho posto questa domanda perché pensavo di vedere la mia CPU% rimanere al di sotto del 100% durante l'elaborazione di gdalwarp. Tuttavia, a un secondo sguardo, ha raggiunto il 555,5%.


3
Hai letto di -multi nel documento gdal.org/gdalwarp.html ?
user30184,

-multireso ancora più veloce. La percentuale massima di CPU che ho visto è stata del 700% anziché del 555%. Il processo ha richiesto 22 secondi anziché 32 secondi.
Matt Kleinsmith

Risposte:


10

, GDAL supporta l'elaborazione parallela e questo supporto si applica a gdalwarp per impostazione predefinita.

Utilizzare l'opzione -multi con gdalwarp per abilitare il multithreading, anziché solo più core.

Dettagli:

Senza -multi: 33.849s e la CPU ha raggiunto il 555%. (più core)

Con -multi: 23.377s e la CPU ha raggiunto il 700%. (più core e più thread)

Dimensione raster: 34721 x 20453, Sistema operativo: Ubuntu 16.04, # Numero di core: 6, # Discussioni: 12


Attestazione: user30184 ha menzionato l' -multiopzione in un commento.

Documentazione: gdalwarp


2
Vedi la documentazione migliorata (di trac.osgeo.org/gdal/changeset/38196 ) di gdalwarp -multi: Use multithreaded warping implementation. Two threads will be used to process chunks of image and perform input/output operation simultaneously. Note that computation is not multithreaded itself. To do that, you can use the -wo NUM_THREADS=val/ALL_CPUS option, which can be combined with -multi. Vedi anche gdal.org/…
user30184
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.