What is “Threadripper”?
“Threadripper” (code-name ZP aka “Zeppelin”) is simply a combination of inter-connected Ryzen dies (“nodes”) on a single socket (TR4) that in effect provide a SMP system-on-a-single-socket – without the expense of multiple sockets, cooling solutions, etc. It also allows additional memory channels (4 in total) to be provided – thus equaling Intel’s HEDT solution.
It is worth noting that up to 4 dies/nodes can be provided on the socket – thus up to 32C/64T – can be enabled in the server (“EPYC”) designs – while current HEDT systems only use 2 – but AMD may release versions with more dies later on. The large socket allows for 4 DDR4 memory channels greatly increasing bandwidth over Ryzen, just as with Intel.
In this article we test CPU Cache and Memory performance; please see our other articles on:
- AMD Threadripper 1950X Review and Benchmarks – CPU 16-core Performance
- NUMA performance improvement for AMD ThreadRipper in Sandra SP2
Hardware Specifications
We are comparing the 2nd-from-the-top Ryzen (1700X) with previous generation competing architectures (i7 Skylake 4C and i7 Haswell-E 6C) with a view to upgrading to a mid-range high performance design. Another article compares the top-of-the-range Ryzen (1800X) with the latest generation competing architectures (i7 Kabylake 4C and i7 Broadwell-E 8C) with a view to upgrading to the top-of-the-range design.
CPU Specifications | AMD Threadripper 1950X | Intel 9700X (SKL-X) | AMD Ryzen 1700X | Intel 6700K (SKL) | Comments | |
TLB 4kB pages |
64 full-way 1536 8-way |
64 8-way 1536 6-way |
64 full-way 1536 8-way |
64 8-way 1536 6-way |
TR/Ryzen has comparatively “better” TLBs 8-way vs 6-way and full-way vs 8-way. | |
TLB 2MB pages |
64 full-way 1536 2-way |
8 full-way 1536 6-way |
64 full-way 1536 2-way |
8 full-way 1536 6-way |
Nothing much changes for 2MB pages with TR/Ryzen leading the pack again. | |
Memory Controller Speed (MHz) | 600-1200 | 800-3300 | 600-1200 | 800-4000 | TR/Ryzen’s memory controller runs at memory clock (MCLK) base rate thus depends on memory installed. Intel’s UNC (uncore) runs between min and max CPU clock thus perhaps faster. | |
Memory Speed (Mhz) Max |
2400 / 2666 | 2533 / 2400 | 2400 / 2666 | 2533 / 2400 | TR/Ryzen supports up to 2666MHz memory but is happier running at 2400; SKL/X supports only up to 2400 officially but happily runs at 3200MHz a big advantage. | |
Memory Channels / Width |
4 / 256-bit | 4 / 256-bit | 2 / 128-bit | 2 / 128-bit | Both TR and SKL-X enjoy 256-bit memory channels. | |
Memory Timing (clocks) |
14-16-16-32 7-54-18-9 2T | 16-18-18-36 5-54-21-10 2T | 14-16-16-32 7-54-18-9 2T | 16-18-18-36 5-54-21-10 2T | Despite faster memory, TR/Ryzen can run lower timings than HSW-E and SKL reducing its overall latencies. |
Core Topology and Testing
As discussed in the previous article, cores on TR/Ryzen are grouped in blocks (CCX or compute units) each with its own 8MB L3 cache – but connected via a 256-bit bus running at memory controller clock. This is better than older designs like Intel Core 2 Quad or Pentium D which were effectively 2 CPU dies on the same socket – but not as good as a unified design where all cores are part of the same unit.
Running algorithms that require data to be shared between threads – e.g. producer/consumer – scheduling those threads on the same CCX would ensure lower latencies and higher bandwidth which we will test with presently.
In addition, Threadripper is a NUMA SMP design – with the other nodes effectively different CPUs; thus sharing data between cores on different nodes is equivalent to different CPUs in a SMP system.
We have thus modified Sandra’s ‘CPU Multi-Core Efficiency Benchmark‘ to report the latencies of each producer/consumer unit combination (e.g. same core, same CCX, different CCX) as well as providing different matching algorithms when selecting the producer/consumer units: best match (lowest latency), worst match (highest latency) thus allowing us to test inter-CCX bandwidth also. We hope users and reviewers alike will find the new features useful!
Native Performance
We are testing native arithmetic, SIMD and cryptography performance using the highest performing instruction sets (AVX2, AVX, etc.). TR (like Ryzen) supports all modern instruction sets including AVX2, FMA3 and even more.
Results Interpretation: Higher values (GOPS, MB/s, etc.) mean better performance.
Environment: Windows 10 x64, latest AMD and Intel drivers. Turbo / Dynamic Overclocking was enabled on both configurations.
Threadripper’s core, memory and cache bandwidths are great, in many cases much higher than its Intel rivals partly due to more cores and more caches (16 vs 10); overall latencies are also fine for caches and memory – except the crucial ‘in-page random access’ data latencies which are far higher – about 3 times – TLB issues? We’ve been here before with Bulldozer which could not be easily fixed – but if AMD does manage it this time Ryzen’s performance will literally fly!
Still, despite this issue we’ve seen in the previous article that TR’s CPU performance is very strong thus it may not be such a big problem.
SiSoftware Official Ranker Scores
Final Thoughts / Conclusions
TR’s memory performance is not the clean-sweep we’ve seen in CPU testing but it is competitive with Intel’s designs,and especially against older designs. The bandwidths are all competitive and especially the memory controllers seem to be more efficient – but latencies are a bit of a problem which AMD may have to improve in future designs.
Overall we’d still recommend TR over Intel CPUs unless you want absolutely tried and tested design which have already been patched by microcode and firmware/BIOS updates.
Pingback: AMD Threadripper Review & Benchmarks – CPU 16-core Performance – SiSoftware
Pingback: Sandra Platinum (2017) SP1 – SiSoftware
Pingback: SiSoftware Sandra Platinum (2017) Released! – SiSoftware