Return to Level1Techs.com

Memory advice for 3rd Gen Threadripper

I would like some advice on choosing memory for the 3970x. Here’s the tldr questions; I’ll provide more info below for nuanced answers, and thanks in advance for any time you are able to give me:

  1. Does CAS latency greatly affect CPU performance like frequency does (i.e. CAS 16 vs CAS 17 running at 3600 MHz)?
  2. Do the secondary timings greatly affect CPU performance like frequency (i.e. is there much difference between 3600 MHz 16-16-16-36 or 3600 MHz 16-19-19-39)
  3. Will there be a significant difference between 3200 MHz vs 3600 MHz? The only ‘speed’ task I will be doing with this pc is windows gaming in a VM via gpu passthru; (1440p gaming). (btw - NO I am not buying a thread ripper just to do gaming :slight_smile: ; I plan on having a lot of VMs running on one machine, windows gaming is the only VM that would probably care about the difference in CPU performance).
  4. I’m looking to do 128GB of memory, if I buy 2 kits of the same 4x16 (say 3600 MHz 16-16-16-36) will I potentially have problems (vs if I had bought one 8 x 16 kit); i.e. how concerned do I need to be that the memory won’t “match” well since it’s not all one kit.

The specifics of the build are:

  • 3970x threadripper
  • Asus Zenith II Extreme Alpha MB
  • Be Quiet Dark Rock Pro TR4 air cooler
  • Corsair 1500W titanium power supply (bought when first came out so first revision)
  • Either 8 x 16 GB @ 3600 Ram or 4 x 32 @ 3200
  • I plan on running Fedora with VMs for hackintosh, windows, pfsense, NAS, Snort or some such intrusion detection, OpenVPN or Wireguard, etc.

It was mostly important for gen 1 and 2. Gen 3 the memory is less important due to the better cache solutions.

At 1. The difference at best (for a 20 year old CPU architectures-assuming support for DDR4 :slight_smile:) is literally 17/16 ~ 5%. Currently due to the caching mechanism maybe some synthetic benchmark will be better/worse 1%

At 2. Not really - I do not even care much about secondary numbers any more. That is the reason why shops list only one number now.

At 3. The difference at best (for a 20 year old CPU architectures-assuming support for DDR4 :slight_smile:) is literally 3600/3200 ~ 12.5%.
However, unlike latency, there is a little more to it. The Zen CPUs have chip-lets (consists of cores) connected together by infiniti-fabric. And if I remember correctly for Zen 2 the CPU keeps clock for infiniti-fabric link to the memory clock up to the 3600Mhz (that link in clocks do not involve the clock for cores in any way). So actually having 3600 makes CPU little more faster. But only for some specific cases/operations.
On the other hand, current generations of CPUs have 3 levels of cache. And the main reason for a cache is to make any memory access as much as possible done with cache (and actually each level of cache does it for slower level of caches), and not with memory - whenever possible.
So maybe in some benchmarks you would see a difference ~5%.

At 4. I never buy single kit covering all 8 DIMM slots. I try to have at least 2 kits. So when I have issue with one of the kits I still should have the other one working (unless I’m very unlucky). For my current setup I bought 4 separate 32GB dimms (one for each channel). I do not recommend buying 8x separate dimms - although I might actually do it my self.
The rule of thumb is: have the same clocks and latencies (all the numbers this time). Although I’m not sure if it is still really technically required across all channels.

Either 8 x 16 GB @ 3600 Ram or 4 x 32 @ 3200

I personally decided that I want to have 4x32GB sticks (I will double layter if needed), CL16. And for the MHz I let my wallet decide and I went for 3200. I was not not even considering more than 3600.

In general 8 slot motherboards or 4 channel CPUs take a heavier load when all slots are occupied. This load, affects possible OC for both CPU and RAM. I remember that it was more issue for Intel’s x79/x99 platforms. For 3gen Threadripers, the official RAM speed is 3200MHz - it is similar with Intel.

2 Likes

WIth what you have listed memory wont matter that much just shoot for something around 3600 and you’ll be fine, even if you go ECC 2666 OCed to 3200 is still plenty good. Worrying about small sub 5% gains are not worth it.

1 Like

I can’t afford Threadripper 3 yet, but I am doing my research early. 'Cause it’s fun. So I’m glad to have found this topic.

I do have a couple questions.

First, is this LTT video applicable to Threadripper 3? https://www.youtube.com/watch?v=iHJ16hD4ysk It was made before TR3 came out, but it is talking about Zen 2 cores. So I’d think it’d be applicable, but I’m not that much of a hardware guy, so I’m not sure.

If it is applicable, has anyone experimented with low speed, high density, ram and overclocking the infinity fabric? Around 4:14 in the video it looks like you can get DDR-3200 performance from DDR-2133 ram if you crank the infinity fabric.

That seems like a good way to be able to afford more RAM than you otherwise would.

I dont think you could ever get as much gain from Infinity fabric compared to Ram speed. Doubt you could double the fabric compared to easily doubling ram speed.

High memory frequency improves minimum and maximum FPS in games more than low memory latency. Increasing speed and loosening timings on the same memory improves frame times. However you can maximize both speed and latency with manual tuning. On Threadripper you are probably capped at 3733 MHz anyway, so you only have the option of tuning timings. Everything including second and third timings results in increased memory bandwidth.

Finally, it makes no difference in 99% of applications outside of games and benchmarks. If you have to think twice, it’s not worth it. Just tune whatever memory you have. There seems to be only one B-Die bin for Threadripper - 3600 C16 - and they’re all priced the same. The rest are not B-Die and can’t be tuned as tightly. 128GB of B-Die costs as much as your CPU - absolute waste of money for maybe 5% performance increase in games.

1 Like

I’m running a 3960X with 24vCPU and 32GB of ram to a win10 VM and getting pretty dang close to bare metal performance in games like CSGO and COD. This is without thread pinning and a ton of tuning, it’s crazy. Compared to the 1950X build I’m coming from a TON of memory issues are ironed out. Only problem is usb passthrough, but I added a pcie card for the win10vm.

Keep in mind, this is with a 16vCPU k8s cluster than runs plex/pihole/nginx/&much more. Host/Hypervisor is Pop_OS 19.10 that is also running a lot in the background.

So - ram wise I’m running the new Ballistix RGB modules 16GBx2 @ 3200mhz with two kits. The Ballistix Sport LT is supposed to be amazing for Ryzen an clock to 3600 CL16 easily with some hitting 3733 - there’s a reddit thread I need to dig up on it.

Get 3200CL16 of the flavor you like, lock in the profile and you’ll be set for 90% of your performance.

Just started building out a new network diagram, here’s the build description:

1 Like

I believe @wendell said the sweet spot for 3rd-gen Threadripper is 3600 because that’s the highest speed at which the Infinity Fabric remains 1:1 with memory clock. I’ve seen scattered reports of chips that can push the IF up to 1900 (maybe Steve at Gamer’s Nexus had one?), but that seems to depend on the particular example. I’ve had a good experience running a 3960x with 64gb (4x16gb G.Skill) at 3600 using XMP for several months.

A quick search didn’t turn up any memory benchmarks for third-gen Threadripper, but here is a set for first-gen. Differences across 3200 and 3600 are pretty small (~5-7%).

1 Like