SChernykh
f6c50b5393
Fix RandomX crash when compiled with fortify_source
2024-03-20 21:24:02 +01:00
SChernykh
93c07e1d34
RandomX: optimized CFROUND elimination more
2022-09-16 14:11:27 +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
29cb416107
Fixed broken light mode mining on x86
2021-05-15 21:41:39 +02:00
SChernykh
3477f9fbc1
RandomX: optimized IMUL_RCP instruction
...
+0.4% on AMD Zen2
+0.3% on AMD Zen3
+0.1% on Intel SandyBridge
+0.3% on rx/wow on Intel SandyBridge
2021-04-19 17:43:58 +02:00
SChernykh
f62f4e6108
RandomX x86 JIT: remove redundant CFROUND
2021-01-07 16:20:00 +01: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
SChernykh
410313d933
Auto-detect the fastest code for dataset init
2020-12-19 13:59:28 +01:00
SChernykh
515a85e66c
Dataset initialization with AVX2 (WIP)
2020-12-18 14:53:54 +01:00
XMRig
775867fc3e
Fixed secure JIT on Linux and code cleanup.
2020-12-12 19:18:47 +07:00
XMRig
ec62ded279
Added generic secure JIT support for RandomX.
2020-12-11 23:17:54 +07:00
SChernykh
0da3390d09
More static analysis fixes
2020-12-08 16:05:58 +01:00
SChernykh
50bdaba526
Fixed Debug build in Visual Studio
2020-10-27 14:08:36 +01: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
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
abb3340cc7
RandomX JIT refactoring
...
- Smaller memory footprint
- A bit faster overall
2020-04-09 14:24:54 +02: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
SChernykh
f80177cbd3
Optimizations for AMD Bulldozer
...
- Added support for XOP instructions
- Enabled Ryzen code for Bulldozer because it's faster there too
2020-01-15 13:04:26 +01:00
SChernykh
c9f90e6770
Refactor Ryzen fix to fix compilation issues
2019-12-31 11:55:07 +02:00
SChernykh
7459677fd5
Add vzeroupper for processors with AVX
...
To avoid false dependencies on upper 128 bits of YMM registers.
2019-12-18 09:12:25 +01:00
SChernykh
763691fa4b
More optimizations for Ryzen
2019-12-09 20:29:05 +01: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
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
10f9b29e03
Refactored JIT compiler for x86, small RandomX speedup
2019-10-05 21:40:21 +02:00
XMRig
6f5d175d12
Fix compile warning, mostly struct/class inconsistency.
2019-09-13 18:21:05 +07: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
8b84d7650b
Optimized RandomX JIT compiler
...
Hashrate improved by 0.5-1.5% depending on RandomX version and CPU.
2019-08-27 20:18:56 +02:00
XMRig
043989e8ee
Resolved conflict between argon2 implementations.
2019-08-16 03:18:35 +07:00
SChernykh
6eb9d0963b
Integrated RandomX, added RandomXL (Loki)
2019-07-01 20:11:51 +02:00