Skip to content

Xmrig Dev Branch 1/4/2019#4

Open
setuidroot wants to merge 1867 commits into
setuidroot:masterfrom
xmrig:dev
Open

Xmrig Dev Branch 1/4/2019#4
setuidroot wants to merge 1867 commits into
setuidroot:masterfrom
xmrig:dev

Conversation

@setuidroot
Copy link
Copy Markdown
Owner

No description provided.

xmrig and others added 30 commits March 20, 2024 00:24
Fix RandomX crash when compiled with fortify_source
RandomX: check pointer sizes during JIT initialization
No buffer overflow, better fix for `_FORTIFY_SOURCE`
RandomX: correct memcpy size for JIT initialization
xmrig and others added 30 commits February 15, 2026 20:54
RandomX v2: don't update dataset when switching to/from it
Fixed initial dataset prefetch for RandomX v2
Fix OpenCL address-space mismatch in keccak_f800_round
Don't reset nonce during donation rounds (possible fix for #3669)
Fixed clang arm64 builds
Fix arm64 builds (attempt number 2)
ARM64 JIT: Optimize Group E register conversion
Update FCMP++ block template layout
And a couple small improvements in the main loop.
RandomX: 2.5% faster dataset init on RISC-V
- optimized F/E register loading
- aligned asm code
- optimized emitAddImmediate for small negative values
- v2: optimized CFROUND
- v2: optimized AES in the main loop
ARM64 RandomX JIT optimizations
- ARM64: optimized emitMovImmediate/emitMemLoad
- ARM64: disabled 32-bit literal preloading (it was slower)
- Android and Linux: added MADV_COLLAPSE support to memory allocation
ARM64 RandomX optimizations
Two Apple-silicon-targeted tweaks to the aarch64 RandomX JIT:

- Early dataset prefetch: when readReg2/readReg3 are finalized well before
  the end of the program body, emit the next iteration's dataset-line prefetch
  early to hide more DRAM latency on the serial scalar chain.
- Non-temporal dataset loads: each 64-byte dataset line is read once and never
  reused, so ldp -> ldnp avoids evicting the hot scratchpad, and the prefetch
  hint moves pldl2strm -> pldl1strm to match the longer lead time.

Measured ~8% hashrate gain on Apple M4 base over dev (7eadfdc).
ARM64 RandomX JIT: dataset prefetch + non-temporal loads (+~8% on M4 base)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.