Support Website Contact Support Blog

Why is Pix4D Mapper very poor at processing times with multi processor support?

hi

I have been experimenting running Pix4D mapper with the exact same project and settings on a few different PC setup’s. One makes use of a single 12 core AMD Ryzen at 3.7GHz per core. Another makes use of a single 32 core AMD Threadripper overclocked to 4Ghz per core and lastly a server running 46 cores with each core at 3GHz (this setup makes use of 4 x 12 core CPU’s).

The 12 core and 32 core were also tested with an Nvidia 3080Ti graphics card with GPU support enabled. The processing times for the 12 and 32 core were very surprising. The 32 core system took 6 minutes longer to process all 3 stages compared to the 12 core setup. Both had GPU support enabled. Checking process manager in Windows and it appears only the first core is being fully utilised on each setup. The other 31 cores are mostly idling despite the process options set to allow all 32 cores. The 48 core setup took the longest at nearly triple the time to process the exact same dataset using the exact same settings.

Is Pix4D poor at handling multi-processor CPU’s or is the software not written efficiently?. It’s a shame as in theory if all 32 cores were utilised it should in theory reduce processing time by nearly 60% compared to a 12 core equivalent.

Based on the above it means even if you had a 128 core CPU - which is coming soon from AMD btw!! then there is simply no point as you just invest in a 12 core AMD Ryzen CPU instead.

Different parts of the processing are multithreaded more than others. For example DSM generation will use 100% of all cores.

checking the PDF and the DSM only saved a few minutes comparing 32 core to 16 cores. it does beggar belief why all of the process isn’t done using 100% all cores especially the initial processing. Overall processing times weren’t exactly flattering if you intend to spend out thousands in hardware so a heads up on this one. On the plus side the video animation encoding with a 3080 Ti graphics card literally flies in processing.

Hi pix4d24,
We have teamed up with a 3rd party company to assess our software against several different types of hardware configurations. I would suggest visiting our friends a Puget Systems to see what they recommend.

How large is your project? What is the resolution of the camera? As your projects get larger, more cores will make a larger difference. I have processed over 11,000 42mp images in a single project. More cores makes a significant difference.