Commit Graph
142 Commits
Author SHA1 Message Date
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
SChernykh 0b8f89890c Fixed compilation for ARM 2021-04-03 17:50:52 +02:00
SChernykh 2ef064da60 Don't use RandomX JIT if WITH_ASM=OFF
Because RandomX JIT use asm code
2021-04-02 10:05:46 +02:00
SChernykh 771fb40eca Update jit_compiler_a64.cpp 2021-02-01 22:52:02 +01:00
SChernykh e92767eed5 ARM JIT: added missing cache flush 2021-02-01 22:42:35 +01:00
SChernykh 826e540f15 Fixed code allocation for ARM 2021-02-01 22:36:11 +01:00
SChernykh e3828a13f9 Fixed crashes on ARM 2021-02-01 17:07:45 +01: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
XMRig 647af97d75 #2043 Fix compile warning. 2021-01-17 17:48:35 +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 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