When is GPU utilized? When not

My PC:
CPU: i9-9900k
GPU: NVidia 1080 (8gb)
Ram: 72gb DDR4
SSD: Gen 4 western digital NVME 1TB
Windows 10 pro
ODM windows installed version (purchased)

I’ve made a few models now, and it would take quite some time, completely expected this. But my GPU always seemed to kick in and contribute, greatly decreasing time to finish.

I started a new process last week with less pictures of equal qualities and obviously some much more aggressive setting (cause why not). Which I totally expected to take much longer.

But there is almost no GPU usage and the processor will be pegged at close to 100%.

The main difference, I think, is that I chose BRUTEFORCE this time instead of the balanced option. Does this option exclude GPU utilization?

Does GPU utilization occur at different times for different settings?

Follow up question:
During this time (I’ll have it run ~18 hours a day) I’ll “cancel” the processing until bed. But “resume” it at that point.

Does this actually “Resume” the process or am I starting from fresh?

I see in logs that it sees certain files already exist, but it doesn’t seem to be making much progress.

Ps.
I’m making this post at lunch. If you want more info on setting or logs please just say so. I just wanted to get the discussion started while I had time and I was thinking about it.

Thanks in advance to any info people provide! This program is so damn cool and priced great!

How are you measuring GPU usage?

Task Manager doesn’t really show an accurate representation of your GPU usage. (Or RAM, but that’s a separate matter.) If you really want to see what your GPU is doing at any given time, you want to get something else. GPU-Z is nice and lightweight. MSI Afterburner / EVGA Precision should also give you plenty of information about what’s going on in the GPU as well.

I’ll run it again tonight with the same settings and observe what GPUz is saying. (Initially its reporting average of ~2% but intermittently jumps to as much as 5%…which seems extremely low).

These are the settings I have:
3d-tiles: true
auto-boundary: true
debug: true
dem-euclidean-map: true
dsm: true, dtm: true
feature-quality: ultra
mesh-octree-depth: 12
mesh-size: 3000000
min-num-features: 50000
pc-geometric: true
pc-quality: ultra
pc-rectify: true
rerun-from: odm_postprocess
rolling-shutter: true
split-overlap: 75000
use-3dmesh: true
verbose: true

As far as video card utilization goes, I believe it’s only going to be used during feature matching and creation of the depth maps for the dense cloud. Anything outside of that will, I think, be done by the CPU. (I could be wrong, though.)

The speed of the GPU also can affect how much utilization is shown. When feature matching is happening, for instance- with my old GPU (1080ti) I’d see a spike to 100% for each frame as it was processed. My new card (3080ti) goes through the individual frames so quickly that the spike doesn’t even have time to get past 2-3%. Whole different world when doing the depth maps, though- that’s still solid blocks of 100% utilization.

As for stop / start… you probably shouldn’t be doing that. “Resume” is not exactly like starting up again after pausing. It’s going to go back to the beginning of a major section of the process, rather than picking up again right where you left off. Depending on the size of your project (and it sounds like it’s a rather large one) you might find that you’ll never be able to finish. If, for instance, the multi-view stereo section takes 28 hours to burn through entirely, and you spend 18 hours then stop it, then restart it the next day? It’s not going to just be 10 more hours. You’re going to re-start that 28-hour clock over again. And if you’re just doing 18 hours at a time, you’ll never actually finish.

2 Likes

That is very good information, what I was looking for regarding the process and what hardware works when.

1 Like

I’m not sure about that, last night I had a project fail on me due to running out of memory, so I rejigged my paging file, and then hit resume processing, and it continued to the end, and reading the task output it found all the bits that it had done, checked they were ok and carried on from there

Not from the exact same spot, though, I’d be willing to bet.

If you hit the pulldown menu for the restart button, there’s several landmarks in there for major sections of the process. Every time I’ve had to restart–whether because I stopped it or crashed or whatever–it restarted from the beginning of whatever major section it was in the middle of at the time.

1 Like

Yeah, I pulled that down and right at the very top was continue processing, so I picked that, it’s doing another job at the moment bite when that’s done I’ll see if I can copy the section of the task output I mentioned in my previous comment

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.