AMD SMT is a technology implemented into its processors, but it isn’t a technology exclusive to AMD CPUs. It’s also available on Intel CPUs under a different moniker, Hyperthreading, and has revolutionised the CPU space since its conception back in 1968 by IBM. But what does SMT mean? And what is SMT?
SMT stands for Simultaneous Multithreading and was first properly adopted for modern CPU use back in 2002 by Intel, with the Northwood-based Intel Pentium 4 under the name Hyper-threading. AMD however was a little late to the party, developing its first processor with SMT support in 2017 with the Ryzen 7 1700. AMD had multithreading support earlier but this came in the form of CMT (cluster-based multithreading) on its Bulldozer series CPUs.
What does SMT mean?
SMT stands for Simultaneous Multithreading. It’s the technology that allows a CPU core to process two tasks (threads) simultaneously. And it is crucial to the swift operation of modern-day CPUs. SMT is AMD’s brand of multithreading, Hyperthreading is Intel’s.
They are effectively the same technology, for the most part, just different names.
What is SMT?
SMT (Simultaneous Multithreading) is a way to utilize parts of the CPU that would be completely inactive otherwise. How SMT works is complicated – put basically, the feature allows each CPU core to perform an additional instruction while waiting for an instruction to finish in another thread. This is where we get the ‘simultaneous’ from in Simultaneous Multithreading. The CPU is now able to utilize parts of itself that would be otherwise doing nothing at that particular moment.
How does it work?
SMT’s operation is complex in nature and can be difficult to grasp, but SMT is one single processor core configured to be able to handle two instructions simultaneously. Essentially making one core into two separate cores.
When SMT is operational, the operating system sees the processor as having double the cores. Operating systems see this accumulation of cores and threads as Logical Processors. They are not all the same, however, despite being seen as such. In reality, all these extra threads only provide about a 50%-60% performance improvement in a best-case scenario, where a specific application can split the load on the CPU up evenly and this is rarely the case. Some examples of applications that can benefit from SMT are applications that handle video encoding or video rendering, where frames or specific portions of an image can all be rendered in their own thread.
The use of simultaneous multithreading is situational, however, as the CPU is only likely to use one core to run more than one instruction at a time if all cores are already occupied. Physical cores have priority over resources and threads sometimes suffer as a result of being slightly slower than a physical core.
How does SMT affect gaming? Well, it all starts during development, and a game developer has to code a game specifically with the use of simultaneous multithreading in mind.
A game developer might split up various portions of a game to be handled by various threads, such as AI, background loading and sound processing, with the FPS being limited to the process that happens to take the longest to complete. Graphics drivers and other GPU and hardware related software will be running in the background also. A higher core and thread count can ensure the software or game you’re playing won’t have to battle for precious system resources and CPU cycles.
Most older games aren’t designed with SMT in mind as this requires them to be coded explicitly to utilize simultaneous multithreading and add specific support to split tasks among the CPUs cores and threads. However, a lot of games are steadily moving towards SMT support as higher core and thread count AMD processors based on SMT technology become more commonplace.
Does SMT make a difference?
The short answer to this is, yes. CPUs with more cores and more threads are better for multitasking and workstation tasks such as mass rendering or encoding, and CPUs with higher single-core performance are favoured for applications such as games and simple web browsing for now, but that is currently changing with developments including specific SMT support becoming more frequent.
Hyperthreading vs SMT which is better?
It’s a trick question but essentially they’re both the same thing. They are both brand-specific ways to describe simultaneous multithreading, Hyperthreading is Intel’s brand and SMT is AMD Ryzen specific.
SMT describes Simultaneous Multithreading and is a technology adopted by both AMD and Intel in all of their modern desktop CPUs. In Intel CPUs, this technology is named Hyperthreading but refers to the same technology.
SMT is a technology that allows a CPU to run two instructions (threads) simultaneously per core, effectively doubling the number of CPU cores. The performance however does not double as virtualised cores share resources with physical cores making threads slightly slower, as a result. This performance uplift is measured between 50% – 60%.