Page 1 of 6

RAM speed and engine strength

Posted: Wed May 03, 2017 2:27 am
by schack
Is there any correlation between RAM speed and increased (even marginally) engine strength?

I ask because I'm using a Ryzen 1700 right now, and there are problems with getting RAM to run at rated speeds. I can't get my 2666 dimms to run at anything other than 2133 (on an ASUS Prime B350-Plus mobo).

Just wondering if I can stop worrying that I'm not extracting the maximum speed / strength from this new setup. :)

Re: RAM speed and engine strength

Posted: Wed May 03, 2017 3:54 am
by mjlef
Yes, memory speed effects playing strength. This is due to slowdowns on accessing the large Hash table chess programs use. CPUs have on chip caches with faster access times, but large hash tables will not all fit into these caches, requiring quite slow memory fetches form main memory. When I reduced Komodo's 16 byte Hash entry size to 12 bytes, I got several percent speedup in nodes per second. Where a CPU can do an instruction in a clock cycle or two involving on chip operations (so a couple of billion operations a second), external access, especially access from another NUMA node can take 100 clock cycles or more, depending on the hardware.

Re: RAM speed and engine strength

Posted: Wed May 03, 2017 6:13 am
by MikeB
schack wrote:Is there any correlation between RAM speed and increased (even marginally) engine strength?

I ask because I'm using a Ryzen 1700 right now, and there are problems with getting RAM to run at rated speeds. I can't get my 2666 dimms to run at anything other than 2133 (on an ASUS Prime B350-Plus mobo).

Just wondering if I can stop worrying that I'm not extracting the maximum speed / strength from this new setup. :)
The difference in Ram Speed between 2666 and 2133 is not significant. As an example the Cinebench score between 2666 and 3000 was only 0.6 Percent increase. Even if you assume 100% increase would result in a 100 ELO gain, a 0.6% gain would be worth slightly less than 1 ELO (1.007^100~2) . So you 're talking about 1 ELO difference. You may sleep well at night

Re: RAM speed and engine strength

Posted: Wed May 03, 2017 11:08 am
by Zenmastur
mjlef wrote:... Where a CPU can do an instruction in a clock cycle or two involving on chip operations (so a couple of billion operations a second), external access, especially access from another NUMA node can take 100 clock cycles or more, depending on the hardware.
On a large TT TLB misses are VERY expensive. IIRC they actual can be the limiting factor on nps. I don't remember the exact figures but I think a TLB miss can cost 600+ cycles. When using a large TT most TT probes will produce a TLB miss. Even at 10,000,000 nps this causes problems an becomes a limiting factor to node processing.

I get about 5% increase in NPS by going from 2133 to 2666 or 2800. But these figures will vary depending on how well your system is tuned and what the latency of the ram is. In some cases it's actually better to run a lower clock frequency on the ram if this allows the ram to be run at lower latencies.

So, I somewhat disagree with Mike, but this is dependent on your particular application/engine, system, other applications running and how well your system is tuned.

Regards,

Forrest

Re: RAM speed and engine strength

Posted: Wed May 03, 2017 1:46 pm
by shrapnel
schack wrote:Is there any correlation between RAM speed and increased (even marginally) engine strength?
Oh yes ! RAM speed makes one helluva difference, ESPECIALLY in case of Ryzen Processors !...even more so than actually simply overclocking the Processor.
Something about multiplying the Ryzen CPU output with half the RAM speed or something like that (too technical for me).
Check out this link
http://www.overclock.net/t/1624139/offi ... z-club/880
You'll have to do some digging as I'm not too sure which Page it is on....
Building (DIY) a Ryzen 1800X Rig from scratch as a second System.
Will post results when its up and running.

Re: RAM speed and engine strength

Posted: Wed May 03, 2017 6:40 pm
by Leo
shrapnel wrote:
schack wrote:Is there any correlation between RAM speed and increased (even marginally) engine strength?
Oh yes ! RAM speed makes one helluva difference, ESPECIALLY in case of Ryzen Processors !...even more so than actually simply overclocking the Processor.
Something about multiplying the Ryzen CPU output with half the RAM speed or something like that (too technical for me).
Check out this link
http://www.overclock.net/t/1624139/offi ... z-club/880
You'll have to do some digging as I'm not too sure which Page it is on....
Building (DIY) a Ryzen 1800X Rig from scratch as a second System.
Will post results when its up and running.
I thought you were the die hard Intel man. Did you finally see the light?

Re: RAM speed and engine strength

Posted: Wed May 03, 2017 7:48 pm
by Cardoso
I thought you were the die hard Intel man. Did you finally see the light?
I too was hoping to update my system with an AMD Ryzen.
However there is something to worry.
I can live with the very early Ryzen's platform teething problems like some memory compatibility issues, but I'm worried about Ryzen's BMI2 low performance.
PDEP and PEXT both take 18 cycles on Ryzen, but in Kaby Lake they only take 1 cycle.
This is too much of a difference for chess engines.
Having said that, compiling without BMI2 still gives good results for Ryzen with it's 8 cores over Kaby Lake.

Alvaro

Re: RAM speed and engine strength

Posted: Wed May 03, 2017 8:42 pm
by Dann Corbit
I am waiting for Naples.
With baited breath.
Give me Naples, or give me death.

Ok, maybe not that serious.

Re: RAM speed and engine strength

Posted: Wed May 03, 2017 9:56 pm
by MikeB
MikeB wrote:
schack wrote:Is there any correlation between RAM speed and increased (even marginally) engine strength?

I ask because I'm using a Ryzen 1700 right now, and there are problems with getting RAM to run at rated speeds. I can't get my 2666 dimms to run at anything other than 2133 (on an ASUS Prime B350-Plus mobo).

Just wondering if I can stop worrying that I'm not extracting the maximum speed / strength from this new setup. :)
The difference in Ram Speed between 2666 and 2133 is not significant. As an example the Cinebench score between 2666 and 3000 was only 0.6 Percent increase. Even if you assume 100% increase would result in a 100 ELO gain, a 0.6% gain would be worth slightly less than 1 ELO (1.007^100~2) . So you 're talking about 1 ELO difference. You may sleep well at night
I would defer to Forest since he seems to be more knowledgeable than me with respect to the actuals memory cards you referring to.

Re: RAM speed and engine strength

Posted: Wed May 03, 2017 10:44 pm
by Milos
Zenmastur wrote:
mjlef wrote:... Where a CPU can do an instruction in a clock cycle or two involving on chip operations (so a couple of billion operations a second), external access, especially access from another NUMA node can take 100 clock cycles or more, depending on the hardware.
On a large TT TLB misses are VERY expensive. IIRC they actual can be the limiting factor on nps. I don't remember the exact figures but I think a TLB miss can cost 600+ cycles. When using a large TT most TT probes will produce a TLB miss. Even at 10,000,000 nps this causes problems an becomes a limiting factor to node processing.

I get about 5% increase in NPS by going from 2133 to 2666 or 2800. But these figures will vary depending on how well your system is tuned and what the latency of the ram is. In some cases it's actually better to run a lower clock frequency on the ram if this allows the ram to be run at lower latencies.
That doesn't make much sense. TLB misses should cost roughly the same in terms of latency no matter the size of TT. Most of TT probes can never be TLB misses. And why would TLB miss probability or latency depend on RAM frequency? I also doubt you could gain much by running RAM on lower frequency. Usually total latency is pretty much constant for quite some range of frequencies.
Wiki quotes 10-100 cycles for TLB miss. And if you use large or huge pages there won't be many misses. So even if you have 20% misses and like 1 clk cycle of TLB hit and 30 clk cycles for TLB miss that would produce 6 additional cpu cycles on average per each node evaluated. Assuming you have 8Mnps (2Mnps per core and 4 cores) one eval would take 500ns, while 6 additional cycles would be 6ns (assuming 4GHz frequency and 4 cores). So that would be 1.2% only. To reach 5% number you'd need at least 16 cores (but than nps per core would be smaller) or higher TLB miss rate (already 20% number is unrealistically high).