Puget Systems print logo

https://www.pugetsystems.com

Read this article at https://www.pugetsystems.com/guides/1085
Article Thumbnail

Pix4D GPU Comparison: GeForce, Titan, and Quadro

Written on January 5, 2018 by William George
Share:

Introduction

Pix4D is an advanced photogrammetry application, suited to wide range of uses, with a focus on handling images captured by drone cameras. Processing of those images into point clouds and 3D meshes / textures is mostly done on the CPU, but some steps can utilize NVIDIA graphics cards to boost performance. Having already found which current processor is the best for Pix4D, we are now examining how much of an impact different video cards can make on Pix4D performance.

Specifically, we will look at the total processing time for various 3D Model and 3D Map projects when using high-end GeForce, Titan, and Quadro series graphics cards.

Test Hardware

The platform we tested Pix4D on is Intel's X299 chipset with the top-end Core i9 7980XE processor. Since Pix4D uses CUDA, only NVIDIA graphics cards will help speed up calculations - so we tested a spread of high-end GeForce, Titan, and Quadro series cards. All configurations included the same 64GB of memory, which was more than twice the amount our largest image set needed, and Samsung 960 Pro SSD. The chart below shows more details, including a list of the GPUs we tested and links to pages for the various components:

We also tested dual GPUs, with a pair of GTX 1080 Ti cards. Those results will be covered below and will explain why we only tested one such configuration.

Methodology

In order to be able to run multiple image sets and multiple iterations, we put together an AutoIt script that runs Pix4D from the command line. Because of the automation we used, all steps were performed back-to-back with no editing in-between to clean up point clouds. That means these results may not perfectly match up with what you'd see when using Pix4D in the desktop mode, but it removes any chance of human error altering results between runs. We did still observe variances of up to 15% on total processing time with individual hardware configurations, so we ran each test 2-4 times and selected the lowest overall result for inclusion in the charts below.

As mentioned above, we tested several different image sets: 3 each in both 3D Model and 3D Map modes. These are the most demanding of the processing methods in Pix4D, hence our focus on them over the various other options available. No settings were altered from the defaults. Descriptions of the image sets we used, and what processing mode they were used with, are available below.

Image Sets

Here is information about the image sets we used, broken down by project type (3D Model vs 3D Map) and listed in order of complexity:

3D Models
Eagle Chessboard Climber

44 Images from Pix4D website 78 Images taken in-house 300 Images taken in-house
3D Maps
Village Quarry City

37 Images from Sensefly website 127 Images from Pix4D website 2691 Images provided by Pix4D

GeForce Results

Without further ado, here are the results for total processing time on each of the six image sets - first on GeForce cards:

As you can see, there is not a huge difference in processing time. In terms of raw graphics performance, the GTX 1080 Ti should be twice as fast as the 1060 - but in Pix4D that only translates into a 1-5% reduction in overall processing time. Part of this is because not every step utilizes the GPU, and even when it is used the CPU is still the dominant factor in calculation times. Still, with large enough image sets the GTX 1080 Ti could save half an hour or more. With smaller projects, measured in minutes instead of hours, it becomes much less noticeable.

Titan and Quadro Results

Since there wasn't a huge difference between mid-range and high-end GeForce cards, there wasn't a high expectation going into Titan and Quadro testing - but that still didn't prepare us for the actual results we saw. Here is how these video cards stacked up to the GTX 1080 Ti when processing our Chessboard image set:

Quadro and Titan Cards Performing Very Poorly in Pix4D

Yes, you are reading that right: all four of the Titan and Quadro cards we tested took 5 times longer to process these images! When we found this, we stopped the full tests that were planned; they would have taken many days per card at this rate. We did do one full run on a Quadro GP100, though, just to get baseline data for the poor performance of these cards. Here is how it compared to the GTX 1080 Ti, in percentage rather than raw times:

Quadro GP100 Poor Performance Compared to GTX 1080 Ti in Pix4D

Using the GP100 caused processing to take from 3 to 11 times longer than with the GTX 1080 Ti. Given their similar performance with the Chessboard image set, this should hold true for other high-end Quadro cards and the Titan series as well.

What could be causing this massive slowdown? It isn't entirely clear, but it seems - from monitoring GPU usage and listening to the fan speed on cards during processing - that these cards are simply not running under any substantial load. Presumably, then, the calculations they should be doing are running very slowly, in turn holding up the overall processing of image sets within Pix4D.

After searching online to see if anyone else had run into this, we found a thread on the Pix4D support pages about the very same thing. There, a solution had been given for Quadro cards: go into the NVIDIA Control Panel, to the Manage 3D Settings section, and select "3D App - Game Development" from the drop-down menu. Once that change is applied, Quadro cards suddenly work great. We tested this with both the Quadro GP100 and P6000, with these results (presented in the same format as the previous GP100 vs GTX 1080 Ti chart):

Quadro GP100 and P6000 Performance Fixed in Pix4D

That is much better! However, the performance is still not better than a GTX 1080 Ti - so there is no reason to get a high-end Quadro like this, which costs several times more than cards in the GeForce series. Still, if you already have a Quadro and are suffering from poor performance in Pix4D this should help. Unfortunately, there is no equivalent setting to this for Titan cards that we have been able to find - so it is best to avoid using those cards for this application, at least until either NVIDIA or Pix4D find and implement a solution.

Dual GPU Results

If Quadro and Titan cards are not worth the added cost, what about doubling up on GeForce cards? We tossed a second GTX 1080 Ti into the mix to see how that stacked up:

Dual GTX 1080 Ti Graphics Cards in Pix4D

It is clear that Pix4D is not able to utilize multiple GPUs at the same time. There is a small benefit (1-2%) to having a second card, likely from Pix4D being able to run on the secondary card - which isn't being used for graphics output. We have seen similar benefits when GPU-accelerated code runs on secondary video cards in some other applications, but it certainly isn't worth the many hundreds of dollars it would cost to get such a small bump in speed. So that lesson is easily learned: just one good video card is all Pix4D needs.

Conclusion

The advice for selecting a graphics card for Pix4D ends up being pretty simple:

  • Just one good video card is all you need, dual GPUs doesn't help enough to be worth the price
  • GeForce cards from the mid-range (GTX 1060) on up all perform well, with the faster cards saving up to 5% total processing time
  • Quadro cards are okay too, as long as you adjust the 3D Settings within the NVIDIA Control Panel... but they aren't worth the added price for Pix4D alone
  • Titan cards are - at least currently - much slower, and should be avoided

It is worth noting that this article focused on the impact of the video card on Pix4D processing time. The video card is also used to view and manipulate point clouds and 3D models after processing, but there was not an easy way to test that. In the process of using and learning Pix4D, though, we found anecdotally that the GTX 1060 and up handled displaying small and mid-size projects just fine. The GTX 1080 Ti felt a little smoother with really large projects like our massive City image data set. As such, the GTX 1080 Ti is our top recommendation - but for those on a budget, or working with only smaller projects, anything from the GTX 1060 on up will do well.

Workstations for Pix4D

Intel Workstation

For Pix4D Map Projects

Configure

AMD Workstation

For Large Model Projects

Configure

Tags: Pix4D, GPU, Performance, NVIDIA, GeForce, Titan, Titan Xp, Titan V, 1060, 1070, 1080 Ti, Quadro, P6000, GP100, Pascal, Volta, photogrammetry
Heng Zhou

It makes no sense to compare GeForce vs Quadro in terms of running time; this criteria makes sense only in interactive applications like games. In professional graphics design scenario, people care more than speed. Take a look at these functions: anti-aliasing, logic operations, overlay plane, clipping, memory management optimization, two-sided lighting, quad-buffered stereo. Are they available in GeForce? Not to mention requirements of reliability and productivity in mission-critical situation which may easily be underestimated when evaluating Quadro.

Posted on 2018-05-24 18:29:40

In some applications you are correct, that features of the Quadro series - or certification with a given software application - trump raw performance. However, in the case of Pix4D, I am not aware of any of those Quadro features coming into play in any meaningful way. If someone is also using another application where the Quadro cards *are* worthwhile, then the point of this article is that a Quadro card can give you roughly the same performance as a GeForce... as long as you make sure to tweak the driver settings, as noted. For those who do *not* specifically need a Quadro for other applications, though, this article demonstrates that a GeForce card will give you just as good of performance for a much lower price.

As far as reliability goes, the data we've recorded from GeForce and Quadro sales doesn't show a huge difference. In just the last year, in fact, we've had a smaller percentage of GeForce cards fail in the field than Quadro - but again, its not a big difference. They are both very reliable cards in our experience :)

Posted on 2018-05-24 18:36:21
David from Madrid, Spain

Comment moved to the right place!

Posted on 2018-10-10 17:56:03
David from Madrid, Spain

This test was long due and awaited for, Ive been using Pix4D for 3 years now with aerial fotosets from a Sony A6000 (sets as big as 4500 images), I have desperately looked for reliable information on which processor or GPU to use but nothing helped and in many cases it confused me. This test is quite clear and has shown me Ive got the complete wrong set up in my PC. Looking at your results I could be processing 10 times faster with the right components, Thank you very much!

Posted on 2018-10-10 14:55:05

We are going to be posting some new Pix4D articles in the near future, so you might want to hang on a little longer if you are considering upgrading your system. I've also come to question a couple of the image sets we used - I don't think the City image set, in particular, was being processed properly... but I don't have firm evidence, as I didn't keep the resulting project files around during the benchmarking for this article.

Posted on 2018-10-10 16:14:56
David from Madrid, Spain

This is a very interesting comment because Quadro is exactly what the guys at Pix4D are recommending, but I havent seen the big difference in results myself. In my experience picture size is the biggest factor/limitation; I was considering moving to a full frame Sony A7 but then I would have to spend 10kUSD on a pc machine that can handel just a few hundred images at 50mb each. The jobs Im doing are getting bigger and bigger, at least 100-200 hectars and after doing an oblique and a nadir flight Im left with close to 1000 fotos. Clients are also becoming more promiscuous in a sense that if you dont provide results within 48 hours they go somewhere else. Professionaly you never only do 1 run with Pix4D, after MTPs, GCPs, corrections, etc I run the same project at least 5-6 times before Im satisfied with the results; if your PC takes 10 hours to do a run, thats a week before you can provide results.
So as you can see it doesnt matter if you spend 100kUSD on a UAV, payload, etc, if your PC is a bottle neck then you are not competitive.
I will wait then as you suggest because I cannot affor to get it wrong again.

Posted on 2018-10-10 17:58:14
piathadani

davidfrommadridspain wrote

Posted on 2019-01-01 10:15:01

It looks like your comment may have been cut off. Can you reply again, or edit the original reply?

Posted on 2019-01-02 17:30:49
piathadani

ugh - it looks like someone spoofed an account for me (or maybe I created one at some point and they hacked it.) I don't use disqus. I'll delete this comment (and all the others with my name on them....ugh) as soon as I figure out how lol

Posted on 2019-01-22 15:28:06