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