03-28-2019 03:33 AM
Hi. Running an nndiffuse process on WV3 data. Is there any way to check whether the GPU is being utilised? My CPU is 100% with eml 32bit taking up all available CPU and GPU is sitting on zero in the performance monitor.
I've an i7, 16bit RAM with GeForce GTX 1050 and Intel HD 630. I've prioritised the GeForce in Configure OpenCL in IMAGINE. Both of these and the CPU have OpenCL with cl_khr_fp64 as an extension.
Ah, on opening session log to find out how long the process had been running, I see this:
smprocess(54788): INFO com.hexgeo.smsdk.libcompute.PotentialComputeOp - Not able to run on an OpenCL compute device. No compute resources are available
Solved! Go to Solution.
03-28-2019 06:49 AM
Have you checked the Configure OpenCL dialog (File > Configuration > Configure OpenCL) to see if any devices are listed? If they aren't (and you are sure your device supports 64-bit floating point calculations) then you probably need to update your drivers.
03-28-2019 07:19 AM
Yup, looks about right to me. I'm just updating the drivers anyway but seems like it should be OK.
How can I be sure my device does support 64-bit FP calcs?
03-28-2019 09:12 AM - edited 03-28-2019 12:38 PM
It needs to have the extension highlighted in the screenshot above (fp64).
Try promoting one of the other drivers to the top of the list to see if it gets picked up instead. Although the software is supposed to try everything on the list before falling back to CPU, so I suspect it's the drivers. The last time this sort of thing happened to me was becuase Windows had updated itself and so I needed new OpenCL drivers that were compatible with the Windows update.
03-28-2019 12:35 PM - edited 03-28-2019 12:47 PM
Yep. Did you process just a small area? NNDiffuse is highly dependent on the data distribution you give it and does not (always) work well with smaller subsets. It seems to work best on entire satellite images.
Also, is that screenshot of a Preview? it's possible that Preview, because it's only processing the displayed extent (and scale) suffers the same symptom. Try outputting the whole sharpened image to a file and see if it looks better.
03-28-2019 02:55 PM
Hiya. Nope, that is a whole WV3 tile as supplied - 4105 by 7450 MS and 16420 by 29801 Pan.
Histograms of input/output don't look that outrageous. And it's only the trees that are looking really weird. However, the tile next door (same acquisition date) has gone a bit more crazy. That's 7080 by 7605 in MS.
03-29-2019 09:33 AM
It does appear to be an unfortunate side effect of the NNDiffuse algorithm. The blue wavelengths seem to sometimes be "boosted". So I've seen it happen most often with 8-band WorldView-2 / -3 data. But it doesn't always happen.
04-09-2019 01:04 PM
I forgot to mention - the NNDiffuse works perfectly if you have atmospherically corrected the data prior to performing the NNDiffuse. Something about having the correct relative balance between band wavelengths makes NNDiffuse work much more effectively. Leaving the data as raw DN values is what causes the "bluing".
So for something like WorldView-2 and -3 data (whcih suffers most from the effect because it has both CB and B wavelengths) you can easily add the Rapid Atmospheric operator to the front end of the model.
Sorry for the confusion.