SChernykh
f6c50b5393
Fix RandomX crash when compiled with fortify_source
2024-03-20 21:24:02 +01:00
SChernykh
5dcbab7e3a
RandomX: optimized program generation
2023-05-21 17:44:20 +02:00
SChernykh
7fc45dfb2d
RandomX: added MSR mod for Zen 4
...
+0.8% faster on Ryzen 9 7950X
2022-10-01 18:33:04 +02:00
SChernykh
93c07e1d34
RandomX: optimized CFROUND elimination more
2022-09-16 14:11:27 +02:00
SChernykh
f0e7de8c71
RandomX: optimized CFROUND elimination
2022-09-15 19:57:34 +02:00
SChernykh
63e21dfe63
RandomX: added Blake2 AVX2 version
...
+0.1% speedup on AMD Zen2/Zen3 and Intel CPUs which support AVX2.
2022-08-25 20:39:54 +02:00
Tony Butler
582d17bb84
Fixup RandomX naming consistency
2021-09-16 08:24:37 -06:00
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
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
xmrig
5999dccd57
Merge pull request #2058 from SChernykh/dev
...
RandomX JIT x86: remove unnecessary instructions
2021-01-24 13:59:56 +07:00
SChernykh
78922a0772
RandomX JIT x86: remove unnecessary instructions
...
Adopted from https://github.com/tevador/RandomX/pull/201
2021-01-23 22:28:50 +01:00
XMRig
b9d813c403
Move Ryzen related fixes to RxFix class.
2021-01-23 00:27:56 +07:00
SChernykh
f62f4e6108
RandomX x86 JIT: remove redundant CFROUND
2021-01-07 16:20:00 +01:00
SChernykh
ac46d6f8de
Fix GCC warning
2020-12-19 19:50:52 +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
SChernykh
414588d701
Fix alignment for Linux
2020-12-14 18:32:25 +01:00
SChernykh
f89f6a8abf
Fix: secure JIT and huge pages are incompatible on Windows
2020-12-14 18:22:58 +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
cafd868773
Fixed errors found by static analysis
2020-12-08 12:16:59 +01:00
XMRig
c8ee6f7db8
Move Profiler and more cleanup.
2020-12-04 09:23:40 +07:00
SChernykh
f16d1837f8
Optimized JIT compiler
...
More branch-free code
2020-11-29 14:05:50 +01:00
SChernykh
c10ec90b60
Make single thread bench cheat-resistant
...
Each hash is dependent on the previous hash to make multi-threaded cheating impossible.
2020-11-15 20:38:27 +01:00
SChernykh
6b7b3511ce
Also fix RelWithDebIfno build in Visual Studio
2020-10-27 14:25:43 +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
8d1168385a
RandomX: returned old soft AES impl and auto-select between the two
2020-09-15 20:48:27 +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
5926dee354
RandomX JIT: optimized address mask calculation
2020-08-12 16:45:16 +02:00
XMRig
c18478a6b4
Small cleanups.
2020-05-03 13:38:34 +07:00
SChernykh
bfd017d064
Refactored CFROUND
2020-04-21 15:44:04 +02:00
SChernykh
abb3340cc7
RandomX JIT refactoring
...
- Smaller memory footprint
- A bit faster overall
2020-04-09 14:24:54 +02:00
XMRig
616c52f266
#1572 Fix compile warning.
2020-03-01 11:59:53 +07: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
9f1753cc4f
Optimized CFROUND
2020-01-22 20:11:00 +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
73722ce186
JIT compiler: removed unnecessary memcpy from generateProgram()
2020-01-13 18:00:41 +01:00
SChernykh
eb20dfbc94
JIT compiler tweaks
2020-01-06 13:57:48 +01:00
SChernykh
c9f90e6770
Refactor Ryzen fix to fix compilation issues
2019-12-31 11:55:07 +02:00
XMRig
ac4086b273
Fix build.
2019-12-28 02:00:08 +07:00