4

So I am attempting to orthorectify some images very large images. The process can take several hours so currently I am relying on using 8 threads to perform the speed up. However, the GPU does not appear to be in use at all according to nvidia-smi. I am very confused why this is the case:

Here is the script I am using:

#! /bin/sh

CUR_DIR="$(cd $(dirname ${BASH_SOURCE[0]}); pwd)"
export LD_LIBRARY_PATH="$CUR_DIR/../lib"
$CUR_DIR/gdalwarp -overwrite -rpc -to RPC_DEM="$1" -wo USE_OPENCL=TRUE   "$2" "$3"

I am attempting to orthorectify a large NITF which have I stored into an RPC model:

I have copied the different bands from GDAL info to see if I need to change the -wt or -ot to speed up the computation. I have recompiled GDAL with Nvidia's OPENCL and am running that recompiled version.

Why does GDALWARP not use the GPU in this case?

Band 1 Block=128x128 Type=UInt16, ColorInterp=Blue
  Mask Flags: PER_DATASET ALPHA 
Band 2 Block=128x128 Type=UInt16, ColorInterp=Green
  Mask Flags: PER_DATASET ALPHA 
Band 3 Block=128x128 Type=UInt16, ColorInterp=Red
  Mask Flags: PER_DATASET ALPHA 
Band 4 Block=128x128 Type=UInt16, ColorInterp=Alpha
4

Unfortunately, it turns out at this time, GDAL does NOT support OPENCL speed up on orthorectification. In fact, the only speedup I have been able to find is that compiling with OpenCL does speed up resampling slightly. This would be a good feature for GDAL to implement at a future date.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.