Commit Graph

130 Commits

Author SHA1 Message Date
SChernykh
90760db1c9 Fix GCC warning 2020-12-19 19:50:52 +01:00
SChernykh
7d92d57059 Another dataset AVX2 init speedup (+3.8% faster on Zen3) 2020-12-19 19:46:31 +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
XMRig
e706936763 Reduce JIT memory for ARM. 2020-12-15 02:52:38 +07: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
ef691ee323 Alternative secure JIT for macOS. 2020-12-12 21:32:36 +07:00
XMRig
25a9fb2ab4 Fixed secure JIT on Linux and code cleanup. 2020-12-12 19:18:47 +07:00
XMRig
df3831d6f6 Remove duplicated code. 2020-12-12 12:39:11 +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
cohcho
f556a69e7f CompiledVm: define default constructor 2020-11-09 16:29:42 +00: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
c370d54e74 Fix 32-bit compilation 2020-10-07 18:19:35 +02:00
xmrig
592a715d2f Merge pull request #1878 from SChernykh/dev
Fixed ARM compilation
2020-10-07 23:11:39 +07:00
SChernykh
7464c4df7c Fixed ARM compilation 2020-10-07 18:09:42 +02:00
xmrig
10e3b91c41 Merge pull request #1876 from SChernykh/dev
RandomX: added `huge-pages-jit` config parameter
2020-10-07 22:48:57 +07: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
cohcho
e2184317af RandomX: align args
tempHash/output must be 16-byte aligned for randomx_calculate_hash{,_first,_next}
2020-10-07 14:47:18 +00:00
xmrig
3f85d142d9 Merge pull request #1864 from cohcho/soft_aes_optimization2
soft_aes: fix previous optimization
2020-10-05 12:20:41 +07:00
cohcho
a5f4548b27 soft_aes: fix previous optimization
Previously removed unrolled variant is faster on some CPUs
Some CPUs are faster with added unrolled variant
The best variant depends on number of threads on some CPUs
2020-10-04 14:47:58 +00:00
SChernykh
d5dd4ce89f RandomX: removed rx/loki
Loki forks to PoS on October 9th.
2020-10-02 17:02:52 +02:00
XMRig
92835b608f Renamed WITH_SSE to WITH_SSE4_1 and make it work on all platforms. 2020-10-01 11:00:08 +07:00
SChernykh
d498274ca9 RandomX: optimized soft AES code
Unrolled loop was 5-10% slower depending on CPU.
2020-09-29 21:22:11 +02:00
xmrig
c0c0e61f5e Merge pull request #1858 from SChernykh/dev
RandomX: removed duplicate constants in Blake2b
2020-09-27 16:51:03 +07:00
SChernykh
fbb8e955aa RandomX: removed duplicate constatns in Blake2b 2020-09-27 11:50:08 +02:00
xmrig
a860d88378 Merge pull request #1857 from SChernykh/dev
RandomX: isolate SSE4.1 code to fix crashes on old CPUs
2020-09-27 16:47:56 +07:00
SChernykh
36592c2fe0 RandomX: isolate SSE4.1 code to fix crashes on old CPUs 2020-09-27 11:46:32 +02:00
cohcho
37a47652b9 soft_aes: fix previous optimization
the best order of hash/fill/prefetch depends on hw/soft AES
only hw AES is faster after previous optimization
2020-09-25 15:26:19 +00:00
SChernykh
c4a083aa8c Fix for ARM compilation 2020-09-23 11:44:08 +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
60faba76e8 RandomX: AES improvements
- A bit faster hardware AES code when compiled with MSVC
- More reliable software AES benchmark
2020-09-21 17:51:08 +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
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