GDAL是否支持并行处理?


11

我想加快与此命令相对应的过程:

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

有没有办法在GDAL中使用并行处理?半场论题:如果不是,您是否建议使用非GDAL解决方案来加快类似galwarp的过程?

这是我浏览过的网页:

编辑:我问了这个问题,因为我认为处理gdalwarp时我的CPU%保持在100%以下。但是,再看一看,它达到了555.5%。


3
您是否在文件gdal.org/gdalwarp.html中阅读了有关-multi的信息?
user30184年

-multi使它变得更快。我看到的最大CPU%是700%,而不是555%。该过程花费了22秒而不是32秒。
马特·克莱因史密斯

Answers:


10

是的,GDAL支持并行处理,并且默认情况下,此支持适用于gdalwarp。

与gdalwarp一起使用-multi选项以启用多线程,而不是仅使用多个内核。

细节:

不使用-multi:33.849s,CPU达到555%。(多核)

使用-multi:23.377s,CPU达到700%。(多核和多线程)

栅格大小:34721 x 20453,操作系统:Ubuntu 16.04,#核心:6,#线程:12


信誉:user30184-multi在评论中提到了该选项。

说明文件:gdalwarp


2
请参阅gdalwarp的改进文档(通过trac.osgeo.org/gdal/changeset/38196-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。另请参见gdal.org/...
user30184
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.