SChernykh
5d0bf95011
RandomX: optimized program generation
2023-05-21 17:44:20 +02:00
SChernykh
5e680fa82a
RandomX: added MSR mod for Zen 4
...
+0.8% faster on Ryzen 9 7950X
2022-10-01 18:33:04 +02:00
SChernykh
029bc5926a
RandomX: optimized CFROUND elimination more
2022-09-16 14:11:27 +02:00
SChernykh
5c39146ebe
RandomX: optimized CFROUND elimination
2022-09-15 19:57:34 +02:00
SChernykh
f329375360
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
0e25666db9
Fixup RandomX naming consistency
2021-09-16 08:24:37 -06:00
SChernykh
5898413858
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
5bd0c4be25
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
ac1e88882c
Enabled IMUL_RCP optimization for light mode mining
...
Better fix for #2377
2021-05-17 11:26:40 +02:00
SChernykh
3c9bb68880
Fixed broken light mode mining on x86
2021-05-15 21:41:39 +02:00
SChernykh
dcbd0bf8c4
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
0da777bfe3
Merge pull request #2058 from SChernykh/dev
...
RandomX JIT x86: remove unnecessary instructions
2021-01-24 13:59:56 +07:00
SChernykh
787aad0d62
RandomX JIT x86: remove unnecessary instructions
...
Adopted from https://github.com/tevador/RandomX/pull/201
2021-01-23 22:28:50 +01:00
XMRig
8a64a827f7
Move Ryzen related fixes to RxFix class.
2021-01-23 00:27:56 +07:00
SChernykh
fac3902ae1
RandomX x86 JIT: remove redundant CFROUND
2021-01-07 16:20:00 +01:00
SChernykh
90760db1c9
Fix GCC warning
2020-12-19 19:50:52 +01:00
SChernykh
0319b5b622
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
eae3a62345
Auto-detect the fastest code for dataset init
2020-12-19 13:59:28 +01:00
SChernykh
aaf1ed1c99
Dataset initialization with AVX2 (WIP)
2020-12-18 14:53:54 +01:00
SChernykh
b89d432b7d
Fix alignment for Linux
2020-12-14 18:32:25 +01:00
SChernykh
e3dc83e383
Fix: secure JIT and huge pages are incompatible on Windows
2020-12-14 18:22:58 +01:00
XMRig
25a9fb2ab4
Fixed secure JIT on Linux and code cleanup.
2020-12-12 19:18:47 +07:00
XMRig
84443a4e8b
Added generic secure JIT support for RandomX.
2020-12-11 23:17:54 +07:00
SChernykh
83d152f557
More static analysis fixes
2020-12-08 16:05:58 +01:00
SChernykh
d5f84a813d
Fixed errors found by static analysis
2020-12-08 12:16:59 +01:00
XMRig
4569eea6f6
Move Profiler and more cleanup.
2020-12-04 09:23:40 +07:00
SChernykh
dfc4f40026
Optimized JIT compiler
...
More branch-free code
2020-11-29 14:05:50 +01:00
SChernykh
76c406ce63
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
21022fe226
Also fix RelWithDebIfno build in Visual Studio
2020-10-27 14:25:43 +01:00
SChernykh
d822ffef36
Fixed Debug build in Visual Studio
2020-10-27 14:08:36 +01:00
SChernykh
1865d31d0c
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
b8d604bec4
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
1e38eb3f4f
RandomX refactoring, moved more stuff to compile time
...
Small x86 JIT compiler speedup.
2020-09-18 20:51:25 +02:00
SChernykh
3ef7c9b5e6
RandomX: returned old soft AES impl and auto-select between the two
2020-09-15 20:48:27 +02:00
SChernykh
f126fa112e
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
07d9abc90e
RandomX JIT: optimized address mask calculation
2020-08-12 16:45:16 +02:00
XMRig
3eaa27e0ff
Small cleanups.
2020-05-03 13:38:34 +07:00
SChernykh
9a6baa375d
Refactored CFROUND
2020-04-21 15:44:04 +02:00
SChernykh
fe96036607
RandomX JIT refactoring
...
- Smaller memory footprint
- A bit faster overall
2020-04-09 14:24:54 +02:00
XMRig
7144fb01bf
#1572 Fix compile warning.
2020-03-01 11:59:53 +07:00
SChernykh
c6e9e2308d
Optimized CFROUND
...
Shorter version using BMI2 instructionns
2020-02-21 19:00:58 +01:00
SChernykh
c7b4a89832
Tuned JIT compiler
...
0.3-0.4% speedup depending on CPU.
2020-02-20 20:59:22 +01:00
SChernykh
209d7e3223
Optimized CFROUND
2020-01-22 20:11:00 +01:00
SChernykh
eaaf157997
Added support for BMI2 instructions
2020-01-21 19:44:56 +01:00
SChernykh
efdbda40f0
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
716df54ac0
JIT compiler: removed unnecessary memcpy from generateProgram()
2020-01-13 18:00:41 +01:00
SChernykh
a976379f19
JIT compiler tweaks
2020-01-06 13:57:48 +01:00
SChernykh
07e36a6cf0
Refactor Ryzen fix to fix compilation issues
2019-12-31 11:55:07 +02:00
XMRig
82d4a1b3c9
Fix build.
2019-12-28 02:00:08 +07:00
SChernykh
a1f223dcb0
Fix for 1st-gen Ryzen crashes
2019-12-27 12:40:38 +02:00