Commit Graph

91 Commits

Author SHA1 Message Date
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
9a53285c5f RandomX: added SSE4.1-optimized Blake2b
+0.15% on `rx/0`
+0.3% on `rx/wow`
2020-09-10 14:28:40 +02:00
SChernykh
f26d4274fc 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
e254283089 Fix compile warnings. 2020-08-24 10:04:46 +07:00
XMRig
3baf926bb7 Fix compile warning 2020-08-17 06:08:14 +07:00
XMRig
e5e5b48216 Fixed compile warning and updated build.uv.sh. 2020-08-16 16:03:27 +07:00
SChernykh
07d9abc90e RandomX JIT: optimized address mask calculation 2020-08-12 16:45:16 +02:00
SChernykh
51370682f3 Fixed RandomX initialization for VS debug builds 2020-07-21 10:10:07 +02:00
SChernykh
08d71d5144 RandomX: tweaked Ryzen code
Very small speedup
2020-07-05 16:06:59 +02:00
XMRig
90e32fd481 Remove unused code. 2020-05-04 02:07:38 +07:00
SChernykh
b8a706948a Optimized RandomX dataset initialization
- Use single Argon2 implemenation
- Auto-select the fastest Argon2 implementation for RandomX
2020-05-03 20:44:59 +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
SChernykh
3d5a35885e Fixed VM destruction 2020-04-08 08:31:53 +02:00
SChernykh
73cb010b5d Fix off-by-one error 2020-04-07 18:53:08 +02:00
SChernykh
9bd78a9603 Fixed pool lock 2020-04-07 18:48:02 +02:00
SChernykh
5449dfbc91 Use node number instead of affinity 2020-04-07 18:46:22 +02:00
SChernykh
e5d43089df 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
b02cc24ae1 Added Keva. 2020-03-04 16:23:33 -08: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
6f66a0375f Fixed 32-bit compilation 2020-02-21 16:08:23 +01:00
SChernykh
c7b4a89832 Tuned JIT compiler
0.3-0.4% speedup depending on CPU.
2020-02-20 20:59:22 +01:00
SChernykh
e7c3bb7ba6 Crash fix for Bullodzer CPUs 2020-02-02 17:16:59 +01:00
SChernykh
94ff5d1e49 Fix compile error 2020-01-24 14:09:07 +01:00
SChernykh
0ce4ac9a90 Fix crash on Linux 2020-01-24 13:34:12 +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
XMRig
a46c4f02e8 Removed "rx/v" algorithm. 2019-12-26 22:34:19 +07:00
XMRig
e7c4b1d0c2 Fixed memory allocation checks. 2019-12-25 04:39:21 +07:00
Tony Butler
4c4b29d45c Add MoneroV (rx/v) algorithm [based on MoneroOcean/master] 2019-12-18 16:17:22 -07:00
SChernykh
18ceec0022 Fixed crash with GCC compiler 2019-12-18 17:32:57 +01:00
SChernykh
3bb6b332db Fixed AVX detection 2019-12-18 12:20:21 +01:00
SChernykh
5492d9270f Update jit_compiler_x86_static.S 2019-12-18 09:13:21 +01:00
SChernykh
4237ed6fad 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
9b5ccb55a5 RandomSFX (Safex Cash variant) support 2019-12-16 19:36:29 +01:00
SChernykh
9629001fe4 Update jit_compiler_x86_static.S 2019-12-09 20:30:37 +01:00
SChernykh
7e724aa70d More optimizations for Ryzen 2019-12-09 20:29:05 +01:00
XMRig
280618a9eb Memory allocation refactoring. 2019-12-08 23:17:39 +07:00
SChernykh
08eef1bf9a Fix GCC compilation 2019-12-08 16:51:37 +01:00
SChernykh
8a1679ec89 Fixed indentation 2019-12-08 16:20:46 +01:00