¿GDAL admite el procesamiento paralelo?


11

Me gustaría acelerar el proceso correspondiente a este comando:

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

¿Hay alguna manera de usar el procesamiento paralelo en GDAL? Semi-offtopic: si no, ¿recomienda una solución que no sea GDAL para acelerar un proceso similar a gdalwarp?

Aquí están las páginas web que he visto:

Editar: hice esta pregunta porque pensé que vi que mi% de CPU se mantuvo por debajo del 100% al procesar gdalwarp. Sin embargo, en una segunda mirada, alcanzó el 555.5%.


3
¿Leyó acerca de -multi en el documento gdal.org/gdalwarp.html ?
user30184

-multilo hizo aún más rápido. El% de CPU máximo que vi fue del 700% en lugar del 555%. El proceso tomó 22 segundos en lugar de 32 segundos.
Matt Kleinsmith

Respuestas:


10

, GDAL admite el procesamiento en paralelo, y esta compatibilidad se aplica a gdalwarp de forma predeterminada.

Use la opción -multi con gdalwarp para habilitar multihilo, en lugar de solo múltiples núcleos.

Detalles:

Sin -multi: 33.849s, y la CPU alcanzó el 555%. (múltiples núcleos)

Con -multi: 23.377s, y la CPU alcanzó el 700%. (múltiples núcleos y múltiples hilos)

Tamaño de ráster: 34721 x 20453, SO: Ubuntu 16.04, # Núcleos: 6, # Hilos: 12


Crédito: user30184 mencionó la -multiopción en un comentario.

Documentación: gdalwarp


2
Consulte la documentación mejorada (por trac.osgeo.org/gdal/changeset/38196 ) de 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. Ver también gdal.org/…
user30184
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.