Pix4D Computer hardware community benchmark

Wow. very impressive. Nice setup.

how many unclei is recommended for the processor? I hear something about that with 12 pix4d docent work properly

Pix4D Version 4.5.6
Date: 2020-05-28
Time: 10:43:07
CPU: AMD Ryzen 9 3900X 12-Core Processor
GPU: NVIDIA GeForce GTX 1070
Project Name: Eagle Model
Image Count: 44
Step 1 done in 103.6 seconds
Step 2 done in 194 seconds
Step 3 not applicable (project is not a map)
Completed in 297.6 seconds

Pix4D Version 4.5.6
Date: 2020-05-28
Time: 10:43:27
CPU: AMD Ryzen 9 3900X 12-Core Processor
GPU: NVIDIA GeForce GTX 1070
Project Name: Building Map
Image Count: 36
Step 1 done in 117.9 seconds
Step 2 done in 200.9 seconds
Step 3 done in 244.6 seconds
Completed in 563.4 seconds

Hi,

here are my results from extended benchmark from:

Benchmark Started at 14:04 on 05-28-2020
Pix4D Version Installed: Pix4Dmapper 4.5.6
CPU: AMD Ryzen 9 3900X 12-Core Processor
GPU: NVIDIA GeForce GTX 1070
RAM: DDR4 Crucial Ballistix 2x16GB
Hard disk: Samsung SSD 970 EVO Plus 1TB

Project: Park Map
Image count: 810
Step 1 - Initial Processing: 2515
Step 2 - Point Cloud and Mesh: 3104
Step 3 - DSM, Orthomosaic and Index: 3576
Total: 9195 seconds

Project: School Model
Image count: 278
Step 1 - Initial Processing: 563
Step 2 - Point Cloud and Mesh: 1035
Total: 1598 seconds
Benchmark Completed at 17:08

Attribution to Puget Systems, https://www.pugetsystems.com/

Hi guys, I’ve emailed the Pix4D support guys directly but they don’t seem to be able to give me a direct answer and keep referring me to their help documentation and recommended system specs which don’t really tell me what I want to know.

Does anyone here have any information on how well the software scales on hardware. In other words, is there a point at which you get diminishing returns on CPU thread/core count and amount of RAM? ie. If I use a Ryzen Threadripper and 64 GB RAM, will I get significantly better performance say if I ran a dual socket Epyc with 128 cores and 256 threads and 1 TB RAM or am I wasting money on hardware like that because the software won’t scale properly past a certain point.

I don’t seem to be able to get an answer out of of the Pix4D team directly about this - I’m not sure why this is so difficult for them to answer though.

Any thoughts/opinions would be appreciated. I just want to avoid a scenario where I budget for hardware that cannot be fully utilized to it’s full potential if a more modest spend would be far better.

Hi Derek. I don’t see any support requests from your user account. Do you have a ticket number I can reference? Have you reviewed the Hardware and Pix4D article linked below? This explains why its difficult to give a single recommendation for optimal hardware as there are multiple factors that determine what will work best in a given use case.

Derek, Puget Systems has done extensive benchmarking with Threadripper processors. Based on their testing, cores and clock speed are both important. For smaller projects with lower resolution images, the 32-core threadripper was the fastest. However, the largest dataset they tested was 810 18mp images. That’s only 14.5 gigapixels. I sent William George (Puget Systems) a larger dataset to analyze (1,974 42mp images - 82.9 gigapixels). In this instance the 64 core TR was faster than the 32 core (502 minutes to 521 minutes). I suspect this gap will increase as the total pixels increase.

Regarding the Epyc, I have a new server based on a 3.0 ghz dual Epyc 16-core. I created a Windows 10 virtual machine to run P4D and assigned 30 of the 32 cores and 128gb of memory. I ran the Puget benchmark and my virtual workstation is significantly slower than the 32 core TR. But it still performs very well.

If I had to speculate, the only way a dual 64 core Epyc would make sense is if you have a massive dataset to process. Over 10,000 42mp images. Perhaps you may want to consider the new Threadripper Pro. It’s a Threadripper with support for more memory and PCIe lanes. Slower clock speed than Threadripper, but faster than Epyc. Might be the sweet spot for large Pix4D projects.

Also keep in mind that Pix4Dmatic is the product meant for large datasets. Thanks for sharing Andrew. Really interesting.

Good point. In my limited beta testing, Pix4DMatic was about 20% faster than the equivalent of Step 1 and point cloud generation of Step 2 in Pix4DMapper. That dataset was 7,248 42mp images.

However, Pix4DMatic is still limited to point cloud generation only, at the moment. You need Pix4DMapper for ortho and dsm generation.

1 Like

Stay tuned :wink:

Hi there,

Didn’t create a support ticket as I was dealing with some of the sales people who unfortunately kept referring me to the same articles which I have already looked at yes (to answer your question).

What I am trying to understand is probably more something your development (or lead developer for the system architecture) to answer.

So let’s deal with a few assumptions:

  • I have already looked at the “official” minimum and recommended system specs.
  • I am well versed in hardware so I need not be considered lacking in my understanding of system architectures WRT hardware.

What I am trying to ascertain is:

  • How does the software handle multi-core processors and threads – ie. Does it stop scaling past a certain point or is it designed to use as many CPU cores as you have available?
  • In other words, will there come a point where having 256 CPU threads makes no difference and you may as well stop at 64 threads seeing as you will no longer get a benefit of anything more than 64 threads.- Same for RAM
  • Same for GPU compute.
  • Ie. Is it a waste to get a Quadro RTX where the software will no longer use anything more than what a GTX 1080 can provide for example.

I understand that this may be a bit of a moving target because as you have new releases coming out you obviously upgrade the core to handle/support newer generation hardware etc.

But right now, I’m trying to understand from a hardware budgeting point of view – do I just throw as much money as I want at hardware and will Pix4D Mapper scale on that hardware or do I consider something that might be a realistic “upper limit” after which I only get diminishing returns (based on current builds available of the software).

Thanks

Hi Derek. As a general rule we do not discuss the under the hood functionality of our algorithms. However I do think that most of the questions you are asking are addressed especially with the information published by Puget Systems. I would recommend you review all the available information on their site as these questions are fairly directly addressed from their empirical testing.

Based on the testing performed by Puget Systems, P4DMapper definately scales to at least 64 cores / 128 threads. But since not every step in the process is multithreaded, the scaling is not linear. Single threaded processes obviously need higher clock speeds, which is why the 3970x performs as good or better than the 3990x in many tests.

This article from Puget is old, but clearly Pix4D doesn’t need a high-end video card for processing. Any of the current model RTX cards with cuda cores yielded similar results. We’ll have to wait and see how the new nVidia Ampere cards perform.

Considering a dual 64 core Epyc w/ 256gb of memory starts at almost $25,000, I personally think it would be very difficult to justify for Pix4D. Unless you’re constantly processing huge datasets, or have money to burn, I would stick to the Threadripper or Threadripper Pro. But if you do get a dual 64 core Epyc, I hope you share benchmarking results!

1 Like

Hi Andrew,

Thanks! That is actually a useful answer
 appreciate the time you took to respond.

That will definitely help me make a more informed decision about hardware going forward!

Kr

Derek

Hello all. Are the benchmark tests optimized for Pix4DMapper 4.6.4?

Here are our results for the Standard test (1.32 GB):

Benchmark Started at 16:31 on 04-14-2021
Pix4D Version Installed: Pix4Dmapper 4.6.4
CPU: AMD Ryzen 9 3900X 12-Core Processor
GPU: NVIDIA GeForce RTX 2070

Project: Rock Model
Step 1 - Initial Processing: 63
Step 2 - Point Cloud and Mesh: 166
Total: 229 seconds - 03min 49sec

Project: School Map
Step 1 - Initial Processing: 169
Step 2 - Point Cloud and Mesh: 276
Step 3 - DSM, Orthomosaic and Index: 317
Total: 762 seconds - 12min 42sec
Benchmark Completed at 16:52

Hi, Based on this even though GPU is not as critical as CPU would you recommend a 4090 over an A5500?

I have an A5500 that came with my workstation but am considering selling for a 4090 as I occasionally game as well.

If you game I would definitely sell the A5500 and get a 4090.