Table of Contents
TL;DR: Disabling HT/SMT reduces performance in Pix4Dmapper |
Pix4D performed the best with Hyperthreading and Simultaneous Multithreading turned on across all systems we tested. These features are enabled by default on most systems, so no special configuration is necessary. Other photogrammetry programs may behave differently, so if you use additional software check our other articles about HT and SMT for more information. |
Introduction
Intel's Hyperthreading (often shortened to HT) and AMD's similar Simultaneous Multithreading (SMT) are features found on many mid-range and almost all high-end processors and enabled by default. These technologies work by duplicating a portion of each CPU core's pipeline, allowing a second software thread to be ready and waiting to execute commands as soon as the core finishes processing the thread it is actively working on. That doubles the number of "cores" the operating system sees, and in some applications can lead to a substantial increase in performance. However, in certain situations, it can also reduce performance – especially if a program struggles to use lots of cores effectively (shown by processing times stagnating or even go down as the number of cores in a CPU goes up).
In past articles we have observed that some photogrammetry applications seem to perform better with lower core count processors, so we wanted to look at whether HT and SMT could be negatively impacting performance in these programs. In this article, we are focusing on Pix4D. If you would prefer to skip over our test setup and various benchmark results, feel free to jump straight to the Conclusion.
Puget Systems offers a range of powerful and reliable systems that are tailor-made for your unique workflow.
Test Setup
Listed below are the specifications of the systems we will be using for our testing:
AMD Ryzen Test Platform | |
CPU | AMD Ryzen 9 3950X |
CPU Cooler | Noctua NH-U12S |
Motherboard | Gigabyte X570 AORUS ULTRA |
RAM | 4x DDR4-2933 16GB (64GB total) |
Intel 9th Gen Test Platform | |
CPU | Intel Core i9 9900K |
CPU Cooler | Noctua NH-U12S |
Motherboard | Gigabyte Z390 Designare |
RAM | 4x DDR4-2666 16GB (64GB total) |
AMD Threadripper 3rd Gen Test Platform | |
CPU | AMD TR 3970X |
CPU Cooler | Noctua NH-U14S TR4-SP3 |
Motherboard | Gigabyte TRX40 AORUS PRO WIFI |
RAM | 4x DDR4-2933 16GB (64GB total) |
Intel X-10000 Series Test Platform | |
CPU | Intel Core i9 10980XE ($979) |
CPU Cooler | Noctua NH-U12DX i4 |
Motherboard | Gigabyte X299 Designare EX |
RAM | 4x DDR4-2933 16GB (64GB total) |
Shared PC Hardware/Software | |
Video Card | NVIDIA GeForce RTX 2080 Ti 11GB |
Hard Drive | Samsung 960 Pro 1TB |
Software | Windows 10 Pro 64-bit (version 1909) Pix4Dmapper 4.5.6 Puget Systems Pix4D Benchmark |
Test Methodology
For benchmarking photogrammetry applications we now have four image sets that we own the rights to, covering both smaller and larger size models and map projects. All of these image sets are available in our public Pix4D benchmarks, split up to allow quick or extended tests, which you can download and run if you want to compare your system's performance to what we measured for this article.
- Rock Model – 82 photos at 20 megapixels each
- School Map – 51 photos at 18 megapixels each
- School Model – 278 photos at 18 megapixels each
- Park Map – 810 photos at 18 megapixels each
Benchmark Results
The focus of this article is on each processor's performance in Pix4D with Hyperthreading or SMT enabled versus disabled, rather than comparing one processor to another, so the graphs are set up to reflect that. There are two results for each CPU, with HT/SMT on shown in blue and then off shown in red. These charts are showing the total processing time for each image set, in seconds, so smaller numbers and shorter lines indicate better performance. Scroll through the gallery below to see an overview of the results:
For those who want to dig into how HT and SMT impacted performance in different processing steps, here is a full table of the results:
Analysis & Conclusion
In all but one of our tests, having Hyperthreading or Simultaneous Multithreading turned on resulted in the best performance. The only place where disabling those off helped was with the smallest image set on the Threadripper 3970X, and the modest gain there was more than offset by losing performance with all three larger image sets. Other photogrammetry programs may behave differently with these features, but in the case of Pix4D it is clear that leaving HT and SMT enabled is the way to go.
Should Hyperthreading or SMT be turned on or off when running Pix4D?
For this application, it is clear that having Hyperthreading or Simultaneous Multithreading enabled will give you the best performance.
Puget Systems offers a range of powerful and reliable systems that are tailor-made for your unique workflow.