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
cohcho
a64ff6b7c7
CompiledVm: define default constructor
2020-11-09 16:29:42 +00: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
4bac3e7695
Fix 32-bit compilation
2020-10-07 18:19:35 +02:00
xmrig
59bd6d4187
Merge pull request #1878 from SChernykh/dev
...
Fixed ARM compilation
2020-10-07 23:11:39 +07:00
SChernykh
166c011d37
Fixed ARM compilation
2020-10-07 18:09:42 +02:00
xmrig
1289942567
Merge pull request #1876 from SChernykh/dev
...
RandomX: added `huge-pages-jit` config parameter
2020-10-07 22:48:57 +07: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
cohcho
a705ab775b
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
116fb3d3f9
Merge pull request #1864 from cohcho/soft_aes_optimization2
...
soft_aes: fix previous optimization
2020-10-05 12:20:41 +07:00
cohcho
5f0f2506e8
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
ebf259fa7c
RandomX: removed rx/loki
...
Loki forks to PoS on October 9th.
2020-10-02 17:02:52 +02:00
XMRig
d45bb24a32
Renamed WITH_SSE to WITH_SSE4_1 and make it work on all platforms.
2020-10-01 11:00:08 +07:00
SChernykh
7b4f768114
RandomX: optimized soft AES code
...
Unrolled loop was 5-10% slower depending on CPU.
2020-09-29 21:22:11 +02:00
xmrig
dfab81e9fa
Merge pull request #1858 from SChernykh/dev
...
RandomX: removed duplicate constants in Blake2b
2020-09-27 16:51:03 +07:00
SChernykh
3025c265e8
RandomX: removed duplicate constatns in Blake2b
2020-09-27 11:50:08 +02:00
xmrig
ee603ab9e2
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
84f8a0dc54
RandomX: isolate SSE4.1 code to fix crashes on old CPUs
2020-09-27 11:46:32 +02:00
cohcho
9be3b69109
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
1e26e58660
Fix for ARM compilation
2020-09-23 11:44:08 +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
891a46382e
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
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
4a9db89527
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
a84b45b1bb
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
72c8404d18
Fix compile warnings.
2020-08-24 10:04:46 +07:00
XMRig
3e4bf8cd6c
Fix compile warning
2020-08-17 06:08:14 +07:00
XMRig
00b4ae9c36
Fixed compile warning and updated build.uv.sh.
2020-08-16 16:03:27 +07:00
SChernykh
5926dee354
RandomX JIT: optimized address mask calculation
2020-08-12 16:45:16 +02:00
SChernykh
5bc89fdc8b
Fixed RandomX initialization for VS debug builds
2020-07-21 10:10:07 +02:00
SChernykh
3d740e81a2
RandomX: tweaked Ryzen code
...
Very small speedup
2020-07-05 16:06:59 +02:00
XMRig
b34e3e1a7b
Remove unused code.
2020-05-04 02:07:38 +07:00
SChernykh
80d944bf82
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
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
SChernykh
92810ad761
Fixed VM destruction
2020-04-08 08:31:53 +02:00
SChernykh
39bd3ca1da
Fix off-by-one error
2020-04-07 18:53:08 +02:00
SChernykh
4d0edde66d
Fixed pool lock
2020-04-07 18:48:02 +02:00
SChernykh
69cbfd682a
Use node number instead of affinity
2020-04-07 18:46:22 +02:00
SChernykh
6ae37a9519
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
0528ccd01e
Added Keva.
2020-03-04 16:23:33 -08: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