SChernykh
ff82ca57f2
RandomX: rewrote dataset read code
...
Unified code for AMD and Intel
1% faster on Intel
0.15% faster on AMD Ryzen
2021-05-20 12:45:42 +02:00
SChernykh
d443dd86f1
RandomX: added BMI2 version for scratchpad prefetch
...
Saves 1 instruction and 1 byte in the main loop.
2021-05-19 17:52:16 +02:00
SChernykh
9b1f020a8b
Enabled IMUL_RCP optimization for light mode mining
...
Better fix for #2377
2021-05-17 11:26:40 +02:00
SChernykh
59c85eaf6a
Fixed compilation for ARM
2021-04-03 17:50:52 +02:00
SChernykh
ec608bbd05
Don't use RandomX JIT if WITH_ASM=OFF
...
Because RandomX JIT use asm code
2021-04-02 10:05:46 +02:00
SChernykh
633aaccd9c
Added config option for AVX2 dataset init
...
-1 = Auto detect
0 = Always disabled
1 = Enabled if AVX2 is supported
2020-12-19 16:18:49 +01:00
XMRig
6b331b6945
Reduce JIT memory for ARM.
2020-12-15 02:52:38 +07:00
XMRig
c8ee6f7db8
Move Profiler and more cleanup.
2020-12-04 09:23:40 +07:00
SChernykh
44dcded866
RandomX: added huge-pages-jit
config parameter
...
Set to false by default, gives 0.2% boost on Ryzen 7 3700X with 16 threads, but hashrate might be unstable on Ryzen between launches. Use with caution.
2020-10-07 17:42:55 +02:00
SChernykh
ebf259fa7c
RandomX: removed rx/loki
...
Loki forks to PoS on October 9th.
2020-10-02 17:02:52 +02:00
SChernykh
1e26e58660
Fix for ARM compilation
2020-09-23 11:44:08 +02:00
SChernykh
9768bf65d1
RandomX improved performance of GCC compiled binaries
...
JIT compilator was slower compared to MSVC compiled binary. Up to +0.1% speedup on rx/wow in Linux.
2020-09-22 13:48:11 +02:00
SChernykh
c7476e076b
RandomX refactoring, moved more stuff to compile time
...
Small x86 JIT compiler speedup.
2020-09-18 20:51:25 +02:00
SChernykh
a05393727c
RandomX: added performance profiler (for developers)
...
Also optimized Blake2b SSE4.1 code size to avoid code cache pollution.
2020-09-12 23:07:52 +02:00
SChernykh
a84b45b1bb
RandomX: added parameter for scratchpad prefetch mode
...
`scratchpad_prefetch_mode` can have 4 values:
0: off
1: use `prefetcht0` instruction (default, same as previous XMRig versions)
2: use `prefetchnta` instruction (faster on Coffee Lake and a few other CPUs)
3: use `mov` instruction
2020-09-04 16:16:07 +02:00
XMRig
72c8404d18
Fix compile warnings.
2020-08-24 10:04:46 +07:00
XMRig
00b4ae9c36
Fixed compile warning and updated build.uv.sh.
2020-08-16 16:03:27 +07:00
SChernykh
5926dee354
RandomX JIT: optimized address mask calculation
2020-08-12 16:45:16 +02:00
SChernykh
5bc89fdc8b
Fixed RandomX initialization for VS debug builds
2020-07-21 10:10:07 +02:00
SChernykh
92810ad761
Fixed VM destruction
2020-04-08 08:31:53 +02:00
SChernykh
39bd3ca1da
Fix off-by-one error
2020-04-07 18:53:08 +02:00
SChernykh
4d0edde66d
Fixed pool lock
2020-04-07 18:48:02 +02:00
SChernykh
69cbfd682a
Use node number instead of affinity
2020-04-07 18:46:22 +02:00
SChernykh
6ae37a9519
Pooled allocation of RandomX VMs
...
+0.5% speedup on Zen2 when the whole L3 cache is used (16 threads on 3700X/3800X, 32 threads on 3950X).
2020-04-07 18:31:35 +02:00
kevacoin
0528ccd01e
Added Keva.
2020-03-04 16:23:33 -08:00
SChernykh
131085be80
Optimized CFROUND
...
Shorter version using BMI2 instructionns
2020-02-21 19:00:58 +01:00
SChernykh
0caeb41bff
Tuned JIT compiler
...
0.3-0.4% speedup depending on CPU.
2020-02-20 20:59:22 +01:00
SChernykh
d342968211
Added support for BMI2 instructions
2020-01-21 19:44:56 +01:00
XMRig
dbb721cb5e
Removed "rx/v" algorithm.
2019-12-26 22:34:19 +07:00
XMRig
22eca8e0d5
Fixed memory allocation checks.
2019-12-25 04:39:21 +07:00
Tony Butler
45412a2ace
Add MoneroV (rx/v) algorithm [based on MoneroOcean/master]
2019-12-18 16:17:22 -07:00
SChernykh
4da37baf8c
RandomSFX (Safex Cash variant) support
2019-12-16 19:36:29 +01:00
XMRig
d32df84ca5
Memory allocation refactoring.
2019-12-08 23:17:39 +07:00
SChernykh
d0df824599
Optimized dataset read for Ryzen CPUs
...
Removed register dependency in dataset read, +0.8% speedup on average.
2019-12-08 16:14:02 +01:00
SChernykh
1fbbae1e4a
Added 1GB hugepages support for Linux
2019-12-05 19:39:47 +01:00
SChernykh
84d7eb05f3
RandomX fixes
...
Intel JCC erratum fix and various other improvements, see more here: https://www.phoronix.com/scan.php?page=article&item=intel-jcc-microcode&num=1
2019-12-01 08:46:35 +01:00
SChernykh
e3f726796b
Use XMRIG_ARMv8 macro
2019-11-15 16:12:26 +01:00
SChernykh
3953568a0e
Fix for 32-bit ARM compilation
2019-11-15 16:00:48 +01:00
SChernykh
2b29a4c20f
RandomX (Arqma variant) support
2019-10-08 19:00:19 +02:00
SChernykh
38f4f4f695
Added JIT compiler for RandomX on ARMv8
2019-09-21 10:10:52 +02:00
SChernykh
2322e3bcf7
RandomX: optimized loading from scratchpad
...
Prefetches scratchpad data as soon as possible to calculate data address for the next load.
Up to ~1.4% speedup on Ryzen 7 3700X @ 4.1 GHz, RAM 3200 MHz 14-14-14-28 with optimized sub-timings:
Variant|Before H/S|After H/S
-------|----------|---------
rx/0|8663|8777
rx/wow|9867|10009
rx/loki|8652|8731
2019-09-11 19:10:01 +02:00
SChernykh
21a56c9cbf
Updated RandomX
2019-08-27 16:12:13 +02:00
XMRig
043989e8ee
Resolved conflict between argon2 implementations.
2019-08-16 03:18:35 +07:00
XMRig
4f49533e98
Fixed warnings.
2019-07-17 05:33:13 +07:00
XMRig
20313cbc56
Implemented unified cryptonight and RandomX scratchpad memory.
2019-07-17 04:33:11 +07:00
SChernykh
6eb9d0963b
Integrated RandomX, added RandomXL (Loki)
2019-07-01 20:11:51 +02:00