> For the complete documentation index, see [llms.txt](https://online-xmr.gitbook.io/xmronline/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://online-xmr.gitbook.io/xmronline/jin-jie/suan-fa-alog/randomx-rx-0.md).

# RandomX（rx/0）

这个“RandomX”在门罗在线中显示为“rx/0”（简略显示）。

Randomx算法要求cpu每1个线程分配 16 K的一级缓存，256 K的二级缓存，2 M的三级缓存。

这里可以看出，主要是L3三级缓存大小，而cpu的L3三级缓存不够的话，就无法100%跑满。

当然cpu还有其他算法，各种算法对cpu缓存要求不同。

经观察发现，对于英特尔的一些发烧级平台cpu，由于cpu指令集存在avx512，实际能跑多少线程并不是简单的三级缓存除以2。

这里以i9-10980xe为例，三级缓存≈24.8M，理论只能跑12个线程，但实际上是可以跑满18个线程的，因为存在avx512指令集，实际运行时调用的就是avx512指令集。

总结发现，这些cpu就看L2二级缓存，有多少，就能跑多少线程，比如18M就跑18个线程。
