SChernykh
4fbff43988
RandomX ARMv8: optimized dataset read
...
Break dependency from readReg2 and readReg3. It should run faster on superscalar and out-of-order CPUs i.e. Apple M1.
2021-05-20 21:24:28 +02:00
SChernykh
5898413858
RandomX: rewrote dataset read code
...
Unified code for AMD and Intel
1% faster on Intel
0.15% faster on AMD Ryzen
2021-05-20 12:45:42 +02:00
SChernykh
5bd0c4be25
RandomX: added BMI2 version for scratchpad prefetch
...
Saves 1 instruction and 1 byte in the main loop.
2021-05-19 17:52:16 +02:00
SChernykh
ac1e88882c
Enabled IMUL_RCP optimization for light mode mining
...
Better fix for #2377
2021-05-17 11:26:40 +02:00
SChernykh
3c9bb68880
Fixed broken light mode mining on x86
2021-05-15 21:41:39 +02:00
SChernykh
112405390a
Update sse2neon.h
2021-05-03 18:08:59 +02:00
SChernykh
48d777c0f1
Fixed Zen3 asm for cn/upx2
...
- Invalid rounding mode was used which caused rejected shares sometimes
- Also optimized CN implode/explode functions a bit.
2021-04-21 13:22:25 +02:00
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
775afaeaa1
Optimized cn/upx for Zen3
...
0.9% faster
2021-04-19 12:29:44 +02:00
SChernykh
a2ece91122
Fix dvision by zero check in percent()
2021-04-19 12:05:07 +02:00
SChernykh
e3ca348fe5
Fixed rounding mode after running cn/upx
2021-04-19 12:02:57 +02:00
SChernykh
c4845d15c2
Optimized cn/upx2 for Ryzen CPUs
2021-04-17 18:18:26 +02:00
SChernykh
41969df701
Update CnHash.cpp
2021-04-17 15:06:31 +02:00
SChernykh
b3d14f51b9
Added support for Uplexa (cn/upx2 algorithm)
2021-04-17 14:53:42 +02:00
SChernykh
97525616d6
Fixed cn-heavy for GCC-8
2021-04-04 10:18:27 +02:00
SChernykh
0b8f89890c
Fixed compilation for ARM
2021-04-03 17:50:52 +02:00
xmrig
28b9f07a3c
Merge pull request #2228 from esrrhs/dev
...
remove useless v4_random_math_init if algo is not cn/r
2021-04-02 15:49:53 +07: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
esrrhs
43a586ce7a
remove useless v4_random_math_init if algo is not cn/r
2021-04-02 14:59:09 +08:00
SChernykh
f6232d0753
Optimize cn-heavy in GCC builds
...
+0.7% in GCC builds, but GCC is still slower than MSVC on cn-heavy.
2021-03-28 16:12:09 +02:00
SChernykh
f4a43bb4b0
Optimized cn-heavy
...
- Remove unnecessary type conversion when doing `idx0 = d ^ q;`
- Saves 1 CPU cycle in the main loop
- 0.2% speedup on Ryzen 5 5600X, results on other CPUs may vary
2021-03-27 22:21:01 +01:00
SChernykh
4b270047fe
Fix vld1q_u8_x4 compilation error with GCC 10.2
2021-03-12 16:26:02 +01:00
TheGreatMcPain
97908e081f
Update sse2neon.h to the latest master. Fixes build on armv7.
...
A few days after this header was introduced. Upstream updated it with
armv7 versions of `_mm_aesenc_si128` which allows xmrig to build
on armv7.
2021-03-02 01:33:25 -06:00
SChernykh
83ccef753a
Fixed crash when GPU mining cn-heavy on Zen3 system
2021-02-18 14:49:37 +01:00
SChernykh
f36b4e36b1
Cryptonight: add prefetching to interleaved mode
2021-02-07 23:29:54 +01:00
SChernykh
3e9755c8c8
Optimized cn-heavy for Zen3
...
- Uses scratchpad interleaving to access only the closest L3 slice from each CPU core.
- Also activates MSR mod for cn-heavy because CPU prefetchers get confused with interleaving
- 7-8% speedup on Zen3
2021-02-07 22:05:11 +01:00
SChernykh
3f8732e593
Fix compile error in Termux
2021-02-03 19:05:05 +01:00
XMRig
465dc7edad
Fixed macOS build and compile warning.
2021-02-02 13:53:45 +07: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
xmrig
8a40921ab9
Merge pull request #2076 from xmrig/feature-flexible-hugepages
...
Added support for flexible huge page sizes on Linux.
2021-02-02 04:07:41 +07:00
SChernykh
e3828a13f9
Fixed crashes on ARM
2021-02-01 17:07:45 +01:00
XMRig
c92f9df8ab
Added support for flexible huge page sizes on Linux.
2021-01-31 23:38:57 +07: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
0444103fba
Fixed Cache QoS restore on exit where it not supported.
2021-01-24 02:23:27 +07:00
XMRig
61d5f1aacb
Added RxMsr class.
2021-01-23 23:23:39 +07:00
XMRig
8a64a827f7
Move Ryzen related fixes to RxFix class.
2021-01-23 00:27:56 +07:00
XMRig
0273ea7140
Added new class Msr.
2021-01-22 23:50:25 +07:00
XMRig
5c7d9447ed
Merge branch 'master' into feature-msr2
2021-01-22 16:55:57 +07:00
XMRig
647af97d75
#2043 Fix compile warning.
2021-01-17 17:48:35 +07:00
Richard Mitsuk Lavitt
a8cbc72fd1
fixed grammar in a couple of awkward error messages
2021-01-15 14:33:38 -06: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
f169227ebd
Huge pages not supported by macOS ARM.
2020-12-16 01:59:20 +07:00