Hi there,
Firstly, loving Pix4DMapper along with Pix4DMatic + Survey growing on me with each new release and feature update
I just have a couple of questions around utilisation of GPU vs CPU and memory, at various stages in the process so I can optimise my computer setup to best suit what Pix4D can leverage best, as I can’t seem to find where it bottlenecks or where I could optimise setup.
Currently, I’m running Pix4DMatic on a consumer grade PC (AMD 7800X3D, 64GB DDR5, Nvidia 4090).
Previously I’ve run on larger setups with more memory & cores, with minimal noticeable difference, hence I think this seems to be okay?
In terms of CPU.
I’m finding whilst it allocates all 8 cores (16 threads) at appears to be at 100%, the threads don’t seem to be heavy, i.e. I could still run a bunch of other things at the same time without delay / lag and not slow down the Pix4D processing job. So I’m hesitant to go back to a high core count Threadripper, as it feels it’s not entirely maxing out CPU. Although I’m thinking i could push the clock speed a bit more and it may help, but that’s all I’m thinking here would make the biggest difference? Does it leverage the X3D chip? Given the workload type, I would have thought this would be a good match of X3D, depending on how things are setup?
In terms of Memory
I’m finding memory whilst does get consumed a bit with larger processing of high image count, it doesn’t seem to be limiting in my particular situation from what I can tell. I’ve previously run it on a 128GB machine and it didn’t seem to use anymore for a similar job than the 64GB. If anything, 64GB DDR5 low latency high clock speed seems to performer better from what I can tell than 128GB slightly slower latency memory. i.e. throughput seems to be more important than capacity???
In terms of GPU
I’m currently finding the workload pushed to GPU exists, it’s very sporadic in Calibration stage, and sits around ~30% load with spikes upto ~50% at for a few seconds. The load is so light it doesn’t even spin up fans to cool and pulls only 50W more power than idle. Should this be maxing out and pushing the limits of hardware or is that normal behaviour?
In terms of SSD
Disk read / write also seems to be trivial and no workload, so that doesn’t seem to factor in.
So I’m not sure if it’s worth changing anything out before better performance. I totally appreciate that some tasks are sequential and there is only so much things can be optimised. Although it does feel like something isn’t getting utilised for whatever reason.
In terms of workflow, what should we expect at different stages for GPU & CPU usage? i.e. point cloud I would have guessed by the nature of the task being GPU compute heavy, and takes a while to complete, although doesn’t appear to do so??
My concern would be that Nvidia drivers or Windows is false reporting metrics back to Pix4D in terms of utilisation, therefore not leveraging as good as it could. Noting that Win 11isn’t known for being great at this along with false reads on certain Nvidia driver versions.
Although I’m not sure whether this is normal / expected behaviour or an environment specific issue / driver compatibility?
Any guidance around this topic of hardware & environment tweaking would be greatly be appreciated. I’m guessing I might not be alone in people wanting to optimise their setup for better Pix4D processing performance