Table of Contents
TL;DR: It is not worth disabling SMT on AMD Ryzen 5000 Series CPUs |
RealityCapture performance with SMT enabled and disabled on the Ryzen 9 5950X and 5900X is very close – with different projects we tested favoring one setting or the other, but never by more than 9% (and usually far less). Because there is no clear, significant benefit one way or the other it probably makes sense for most users to just leave SMT enabled. There is a clear-cut winner for the lower core count Ryzen 7 5800X, though: it always performed better with SMT turned on. |
Introduction
AMD's Simultaneous Multithreading (often shortened to SMT) and Intel's Hyperthreading (HT) are similar 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 speeds stagnating or even go down as the number of cores in a CPU goes up).
In the past we have found that RealityCapture can perform better on high core count processors when SMT is turned off. With the release of AMD's Ryzen 5000 Series processors in late 2020, those became some of the fastest chips available for RealityCapture – and the top-end models in that family sit right on the edge of where we found disabling SMT to be helpful in our older tests. So does turning SMT off help or hinder these new Ryzen CPUs?
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 system we used for our testing:
Test Platform | |
CPU | AMD Ryzen 9 5950X AMD Ryzen 9 5900X AMD Ryzen 7 5800X |
CPU Cooler | Noctua NH-U12S |
Motherboard | Gigabyte X570 AORUS ULTRA |
RAM | 4x DDR4-3200 16GB (64GB total) |
Video Card | NVIDIA GeForce RTX 3080 10GB |
Hard Drive | Samsung 960 Pro 1TB |
Software | Windows 10 Pro 64-bit RealityCapture 1.1.0.12901 |
Test Methodology
For benchmarking photogrammetry applications we now have four image sets that we own the rights to, covering both smaller and larger size model and map projects. All of these image sets are available under the Creative Commons BY-ND license in our public RealityCapture 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 here.
- Rock Model – 45 photos at 20 megapixels each
- School Map – 51 photos at 18 megapixels each
- School Model – 278 photos at 18 megapixels each
- Park Map – 758 photos at 18 megapixels each
Benchmark Results
The focus of this article is on these AMD processors' performance in RealityCapture with 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 SMT on shown in blue and then off shown in green. These charts reflect 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 SMT impacted performance in different processing steps, here is a full table of the results:
Analysis & Conclusion
In three of the four image sets we tested, turning Simultaneous Multithreading off reduced processing times very slightly in RealityCapture with both AMD Ryzen 9 processors (the 12 and 16 core models). However, there was a performance penalty in the other project, the School Model, which was big enough to offset all those gains. In all cases, though, the differences never exceeded 9% – and more often were in the 1 to 3% range. That is a small enough variance that it is probably not worth disabling SMT on these processors.
From the detailed results table, we can see that with SMT turned off these two CPUs gained performance during Align Images and (on maps) Ortho Projection. They were slower during the Calculate Model and Colorize steps, though, which explains why the larger School Model (which doesn't include making an orthomosaic) took longer overall with SMT disabled.
Looking at the Ryzen 7 5800X, with only 8 cores, it showed a much more clear-cut pattern: in all four tests, leaving SMT enabled resulted in faster processing. This largely fits with what we found when we looked at HT and SMT performance previously, where an 8-core Intel processor also tended to favor these multi-threading settings being turned on.
Should you disable SMT when using RealityCapture on AMD Ryzen?
No – RealityCapture performance with SMT enabled and disabled on the Ryzen 9 5950X and 5900X is very close, with different projects we tested favoring one setting or the other, but never by more than 9% (and usually far less). Because there is no clear, significant benefit one way or the other it probably makes sense for most users to just leave SMT enabled.
There is a clear-cut winner for the lower core count Ryzen 7 5800X, though: it always performed better with SMT turned on.
As always, please keep in mind that these results are strictly for photogrammetry in RealityCapture. If you have performance concerns for other applications in your workflow, we highly recommend checking out our Hardware Articles (you can filter by software or other categories) for the latest information on how a wide range of programs perform with various GPUs, CPUs, and other hardware.
Puget Systems offers a range of powerful and reliable systems that are tailor-made for your unique workflow.