GDAL은 병렬 처리를 지원합니까?


11

이 명령에 해당하는 프로세스 속도를 높이고 싶습니다.

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

GDAL에서 병렬 처리를 사용하는 방법이 있습니까? 반 주제 : 그렇지 않은 경우 비달 (Gdalwarp)과 같은 프로세스 속도를 높이기 위해 비 GDAL 솔루션을 권장합니까?

내가 본 웹 페이지는 다음과 같습니다.

편집 : gdalwarp를 처리 할 때 CPU %가 100 % 미만으로 유지되는 것을 보았 기 때문에이 질문을했습니다. 그러나 다시 한 번 살펴보면 555.5 %에 도달했습니다.


3
당신은 문서에 - 다 읽어나요 gdal.org/gdalwarp.html ?
user30184

-multi더 빨랐습니다. 내가 본 최대 CPU %는 555 %가 아니라 700 %였습니다. 프로세스는 32 초가 아닌 22 초가 걸렸습니다.
Matt Kleinsmith

답변:


10

, GDAL은 병렬 처리를 지원하며이 지원은 기본적으로 gdalwarp에 적용됩니다.

다중 코어와 달리 멀티 스레딩을 활성화 하려면 gdalwarp 와 함께 -multi 옵션사용하십시오 .

세부:

-multi없이 : 33.849s, CPU는 555 %에 도달했습니다. (다중 코어)

-multi : 23.377s로 CPU가 700 %에 도달했습니다. (다중 코어 및 다중 스레드)

래스터 크기 : 34721 x 20453, OS : 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.