Ich möchte den diesem Befehl entsprechenden Vorgang beschleunigen:
gdalwarp -t_srs EPSG:4326 -overwrite input.ntf output.tif
Gibt es eine Möglichkeit, die Parallelverarbeitung in GDAL zu verwenden? Semi-offtopic: Wenn nicht, empfehlen Sie eine Nicht-GDAL-Lösung, um einen gdalwarp-ähnlichen Prozess zu beschleunigen?
Hier sind die Webseiten, die ich mir angesehen habe:
- Ist eine Parallelverarbeitung in GDAL und QGIS möglich?
- [gdal-dev] GDAL-Rasterverarbeitung: Paralleles Rechnen
Bearbeiten: Ich habe diese Frage gestellt, weil ich dachte, dass meine CPU% bei der Verarbeitung von gdalwarp unter 100% bleibt. Auf den zweiten Blick erreichte es jedoch 555,5%.
gdal
parallel-processing
Matt Kleinsmith
quelle
quelle
-multi
machte es noch schneller. Die maximale CPU%, die ich sah, war 700% statt 555%. Der Vorgang dauerte 22 statt 32 Sekunden.Antworten:
Ja , GDAL unterstützt die parallele Verarbeitung. Diese Unterstützung gilt standardmäßig für gdalwarp.
Verwenden Sie die Option -multi mit gdalwarp, um Multithreading zu aktivieren, im Gegensatz zu nur mehreren Kernen.
Einzelheiten:
Ohne -multi: 33,849s und die CPU erreichte 555%. (mehrere Kerne)
Mit -multi: 23.377s erreichte die CPU 700%. (mehrere Kerne und mehrere Threads)
Rastergröße: 34721 x 20453, Betriebssystem: Ubuntu 16.04, # Kerne: 6, # Threads: 12
Bildnachweis : user30184 erwähnte die
-multi
Option in einem Kommentar.Dokumentation: gdalwarp
quelle
-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
. Siehe auch gdal.org/…