RandomX and RAM
With the update of the RandomX algorithm in 2019, the mining world once again discovered something new. The algorithm was thoroughly rebuilt for the architecture of modern processors, sharing the load with the RAM. It's like in games or professional software.
As a result, mining with the processor is trendy again. You can shovel the money, and one can order an excavator for top-of-the-line systems. And all this even without the most powerful memory 😎
Fuller to the point — what affects hashes?
Here's an excerpt from the whole article to make it really short:
- Buy a set of at least 8GB, necessarily two sticks of RAM;
- Activate dual-channel mode by installing the RAM sticks correctly;
- Set the Factory frequency and timings;
- Play with the settings if you know how to do it.
But if you want a little more details, read the article further. Let's figure out what is most useful for cherished hashes and choose the correct RAM. Step by step increasing the complexity: each new subsection will be more exciting and useful!
Capacity. How much is needed?
Capacity does not affect the algorithm's performance, but you will need at least 2 GB for the fast mode. From our experience, 6 GB is the optimal minimum. But of course, it is better to have more: Windows and other services also need memory.
8GB is suitable for everyday use. You will be able to work or play comfortably.
It is essential for Ryzen Threadripper and Intel Xeon to understand NUMA nodes: how many of them the processor has for memory accesses. Each NUMA node requires 2.5G of RAM for the RandomX instructions. If there is a lack of memory for the whole processor — mining performance will decrease proportionally.
Frequency and timings. What is important and how to choose?
We put all basic information of the standard RAM on the graph without going into details in the BIOS.
Without many settings and advanced profiles, the conclusion is only one: native frequency and timings are the best options. We have framed our result. If you increase the frequency along with the timings, the performance decreases. And we failed to run the system and mining at frequencies above 3200, preserving cl14. We will meet again a little later in the text with the timings.
When buying a new kit, set the default frequencies in the BIOS. Better yet, turn on the XMP profile. The engineers already thought of everything necessary at the factory 😉
Important note! The standard value is the best value for your kit. For our memory it’s 3200MHz. For you, it can be either 2666MHz or 3600MHz — see the specifications.
Сhanneling. What is it? How do you get the capacity?
The channeling is the number of active physical paths from the CPU to the memory bank when multiple memory modules are used. To be simple: it makes your computer run faster. The standard motherboard slot layout:
Dual-channel mode is a pair of gray-colored slots separated by a DIMM3 slot. Or if you installed the RAM to every slot. If you choose any other placement, the single-channel mode will be enabled. Of course, you can always find the scheme in the motherboard’s manual to ensure you set it correctly. In our example, we highlighted the slots which will enable dual-channel mode in blue.
RandomX needs to use dual-channel memory mode, i.e., buy a kit with two memory sticks. The processor gets a noticeable boost if it simultaneously addresses two slots via the two available physical channels in parallel. Let's show graphically and remember that volume does not affect performance:
The most important to understand the difference are owners of high-end processors, Ryzen 3900X/3950X and i9-9900K/X or even more powerful. According to the RandomX spec, 6000 h/s is a blurred limit for a single channel (in reality, ~6800 h/s). Considering that all the listed processors easily overstep this bar, losing thousands of hashes because of incorrect channeling is a pity.
The four RAM slots in a typical home PC maximum support a dual-channel mode.
We do not consider pure quad-channel mode because it is a particular case, and very rare machines with this configuration participate in mining. But for your reference, the performance will be the same or even worse because the latency will increase.
The memory ranking. Have you never heard before? We'll explain!
Memory ranks are conventionally the same channeling but located on the same module. The physical connection to the processor in this variant is limited to one slot, which is natural. A couple of years ago, such modules were legitimately slower. Now they are almost identical in speed, both in games/work and in mining:
If you have a choice, we still recommend single-rank memory.
Subtimings. What are they, and how to configure them?
There are primary timings, which show delays and speeds of the read/write/transfer operations themselves, and there are subtimings. Simply, the subtimings responsible for the delays between the processes themselves. The performance determines how much memory has to wait for cycles before executing.
We asked our friends to do everything according to our instructions and put their results on the graph. Adjusting subtimings almost have the most substantial effect on hashes. Let's tweak it! Everything else is a very subtle part of the guide. We'll attach links to valuable resources at the end of the section to learn more about timings.
- Start Thaiphoon and collect information about your RAM sticks — JEDEC;
- Switch on Ryzen DRAM Calculator and put the data from step 1;
- Switching to Safe preset, write values to the piece of paper go to BIOS;
- Set timings and sub-timings, and then boot into the system;
- Launch the miner and — oh wonder! — ⚡ the gain.
For owners of Intel, there is no such great program that automatically shows the right timings — you have to search and try it yourself. Other all the algorithm is identical.
By the way, you can find the JEDEC information on popular RAM also here. So you can immediately understand what kind of kit, what chips are installed, their ranking. It's handy!
A fantastic review of all RAM timings can be found at this link. The expert from ASUS described in detail what each timing is responsible for, how they all work, and how they relate to each other. It is handy material. It will help you better understand the computer, especially the RAM.
And if you still can't configure the memory...
Or text us directly — we'll help you overclock it right 😁