XMRig
d0a632f557
Optimize CnHash storage.
2021-08-10 14:54:35 +07:00
XMRig
661dc515ab
namespace cleanup.
2021-08-09 23:51:07 +07:00
SChernykh
0842e6b9d2
ZeroMQ support for solo mining
...
Gets new blocks from daemon immediately without polling, saving ~0.5 seconds on average when daemon gets new block from the network. Also saves some CPU cycles because it doesn't need to poll daemon every second.
Testing: add "daemon-zmq-port": 28083 to xmrig's pool config in config.json and run ./monerod --testnet --zmq-pub tcp://127.0.0.1:28083
2021-07-15 11:13:14 +02:00
SChernykh
ebe299902c
Proxy miner signature support (WIP)
2021-06-17 16:58:18 +02:00
SChernykh
7bfb801ce2
Cryptonote tools WIP
2021-06-15 00:28:32 +02:00
SChernykh
b5f1a1feae
RandomX: fix broken light mode mining
...
It broke after #2395
2021-05-22 13:49:22 +02:00
SChernykh
94fecb5e92
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
ff82ca57f2
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
d443dd86f1
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
9b1f020a8b
Enabled IMUL_RCP optimization for light mode mining
...
Better fix for #2377
2021-05-17 11:26:40 +02:00
SChernykh
29cb416107
Fixed broken light mode mining on x86
2021-05-15 21:41:39 +02:00
SChernykh
dbda2e9ccd
Update sse2neon.h
2021-05-03 18:08:59 +02:00
SChernykh
b7adb34c37
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
3477f9fbc1
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
69186f2470
Optimized cn/upx for Zen3
...
0.9% faster
2021-04-19 12:29:44 +02:00
SChernykh
730d4a6cee
Fix dvision by zero check in percent()
2021-04-19 12:05:07 +02:00
SChernykh
54bc91d5e3
Fixed rounding mode after running cn/upx
2021-04-19 12:02:57 +02:00
SChernykh
16fe462cad
Optimized cn/upx2 for Ryzen CPUs
2021-04-17 18:18:26 +02:00
SChernykh
ed456b02cf
Update CnHash.cpp
2021-04-17 15:06:31 +02:00
SChernykh
da7f5826cb
Added support for Uplexa (cn/upx2 algorithm)
2021-04-17 14:53:42 +02:00
SChernykh
1741354498
Fixed cn-heavy for GCC-8
2021-04-04 10:18:27 +02:00
SChernykh
59c85eaf6a
Fixed compilation for ARM
2021-04-03 17:50:52 +02:00
xmrig
864233c110
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
ec608bbd05
Don't use RandomX JIT if WITH_ASM=OFF
...
Because RandomX JIT use asm code
2021-04-02 10:05:46 +02:00
esrrhs
ec2793bcc9
remove useless v4_random_math_init if algo is not cn/r
2021-04-02 14:59:09 +08:00
SChernykh
dc70893e6b
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
bcfd9edaa5
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
2876f17f65
Fix vld1q_u8_x4
compilation error with GCC 10.2
2021-03-12 16:26:02 +01:00
TheGreatMcPain
ba3299b61b
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
e8a99809b6
Fixed crash when GPU mining cn-heavy on Zen3 system
2021-02-18 14:49:37 +01:00
SChernykh
dc1443f3b8
Cryptonight: add prefetching to interleaved mode
2021-02-07 23:29:54 +01:00
SChernykh
8af8df25aa
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
21abbe4e84
Fix compile error in Termux
2021-02-03 19:05:05 +01:00
XMRig
2c8d8ee2ab
Fixed macOS build and compile warning.
2021-02-02 13:53:45 +07:00
SChernykh
346892e170
Update jit_compiler_a64.cpp
2021-02-01 22:52:02 +01:00
SChernykh
db03573804
ARM JIT: added missing cache flush
2021-02-01 22:42:35 +01:00
SChernykh
e74573f81f
Fixed code allocation for ARM
2021-02-01 22:36:11 +01:00
xmrig
0e70974d7d
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
4108428872
Fixed crashes on ARM
2021-02-01 17:07:45 +01:00
XMRig
09624c4f9b
Added support for flexible huge page sizes on Linux.
2021-01-31 23:38:57 +07:00
xmrig
5999dccd57
Merge pull request #2058 from SChernykh/dev
...
RandomX JIT x86: remove unnecessary instructions
2021-01-24 13:59:56 +07:00
SChernykh
78922a0772
RandomX JIT x86: remove unnecessary instructions
...
Adopted from https://github.com/tevador/RandomX/pull/201
2021-01-23 22:28:50 +01:00
XMRig
672f6df6c1
Fixed Cache QoS restore on exit where it not supported.
2021-01-24 02:23:27 +07:00
XMRig
9dae559b73
Added RxMsr class.
2021-01-23 23:23:39 +07:00
XMRig
b9d813c403
Move Ryzen related fixes to RxFix class.
2021-01-23 00:27:56 +07:00
XMRig
c48e2e6af8
Added new class Msr.
2021-01-22 23:50:25 +07:00
XMRig
3730bcd434
Merge branch 'master' into feature-msr2
2021-01-22 16:55:57 +07:00
XMRig
ea367da064
#2043 Fix compile warning.
2021-01-17 17:48:35 +07:00
Richard Mitsuk Lavitt
590252bd5e
fixed grammar in a couple of awkward error messages
2021-01-15 14:33:38 -06:00
SChernykh
f62f4e6108
RandomX x86 JIT: remove redundant CFROUND
2021-01-07 16:20:00 +01:00
SChernykh
ac46d6f8de
Fix GCC warning
2020-12-19 19:50:52 +01:00
SChernykh
5efd00abec
Another dataset AVX2 init speedup (+3.8% faster on Zen3)
2020-12-19 19:46:31 +01:00
SChernykh
633aaccd9c
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
410313d933
Auto-detect the fastest code for dataset init
2020-12-19 13:59:28 +01:00
SChernykh
515a85e66c
Dataset initialization with AVX2 (WIP)
2020-12-18 14:53:54 +01:00
XMRig
6b21a51a2f
Huge pages not supported by macOS ARM.
2020-12-16 01:59:20 +07:00
XMRig
6b331b6945
Reduce JIT memory for ARM.
2020-12-15 02:52:38 +07:00
SChernykh
414588d701
Fix alignment for Linux
2020-12-14 18:32:25 +01:00
SChernykh
f89f6a8abf
Fix: secure JIT and huge pages are incompatible on Windows
2020-12-14 18:22:58 +01:00
XMRig
87fafcf91b
Fixed JIT on macOS.
2020-12-12 22:40:48 +07:00
XMRig
2966b80ba1
Fixed macOS build.
2020-12-12 22:15:15 +07:00
XMRig
179f09081f
Alternative secure JIT for macOS.
2020-12-12 21:32:36 +07:00
XMRig
775867fc3e
Fixed secure JIT on Linux and code cleanup.
2020-12-12 19:18:47 +07:00
XMRig
497863441a
Remove duplicated code.
2020-12-12 12:39:11 +07:00
XMRig
ec62ded279
Added generic secure JIT support for RandomX.
2020-12-11 23:17:54 +07:00
SChernykh
0da3390d09
More static analysis fixes
2020-12-08 16:05:58 +01:00
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
XMRig
63bd45c397
Added Cvt class.
2020-12-02 16:31:45 +07:00
SChernykh
d557fe7f39
Fix RandomX init when switching to other algo and back
2020-11-29 22:02:48 +01: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
SChernykh
9a1e867da2
Fixed MSR mod names in JSON API
2020-11-14 19:55:43 +01:00
XMRig
3b6cfd9c4f
#1937 Print path to existing WinRing0 service without verbose option.
2020-11-12 23:32:49 +07:00
cohcho
eb36d2beef
MemoryPool: fix alignment modification
2020-11-10 16:49:10 +00:00
cohcho
a64ff6b7c7
CompiledVm: define default constructor
2020-11-09 16:29:42 +00:00
SChernykh
c8c0abdb00
Separate MSR mod for Zen/Zen2 and Zen3
...
Another +0.5% speedup for Zen2
2020-11-08 19:40:44 +01:00
xmrig
5df1686810
Merge pull request #1932 from SChernykh/dev
...
New MSR mod for Ryzen
2020-11-07 13:09:21 +07:00
SChernykh
1e3e8ff8ee
Update RxConfig.cpp
2020-11-06 22:59:18 +01:00
SChernykh
d4750239ea
New MSR mod for Ryzen
...
+3.5% on Zen2, +1-2% on Zen3
2020-11-06 22:56:09 +01:00
XMRig
51690ebad6
#1918 Fixed check for 1GB huge pages on ARM Linux.
2020-11-02 21:26:35 +07:00
SChernykh
f1a24b7ddd
Fix compilation on ARMv8 with GCC 9.3.0
2020-11-02 13:50:10 +01:00
XMRig
905713f1ca
Merge branch 'feature-bench-submit' into dev
2020-10-30 23:25:09 +07: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
XMRig
4914fefb1f
Added "msr" field for CPU backend.
2020-10-25 16:36:37 +07:00
cohcho
99b58580e9
MSR: supress kernel module warning
2020-10-23 13:09:13 +00:00
XMRig
87b4d97798
New Async wrapper.
2020-10-21 08:09:44 +07:00
XMRig
36b1523194
Code cleanup.
2020-10-16 19:35:36 +07:00
xmrig
9fcc542676
Merge pull request #1889 from cohcho/fix_uv_issue
...
uv: fix performance issue
2020-10-13 22:35:29 +07:00
SChernykh
4f7186cb0e
Added argon2/chukwav2 algorithm
...
New Turtlecoin algorithm. Source: https://github.com/turtlecoin/turtlecoin/blob/development/src/crypto/hash.h#L57
2020-10-12 08:26:57 +02:00
cohcho
65fa1d9bf3
uv: fix performance issue
...
unix implementation of uv_async_t has been wasting cpu cycles for nothing since 1.29.0 release
implement efficient callback scheduling for linux
2020-10-12 04:09:09 +00: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
1f55c6eb02
Merge pull request #1877 from SChernykh/dev
...
Fix FreeBSD compilation
2020-10-07 23:03:07 +07:00
SChernykh
c2bdae70fe
Fix FreeBSD compilation
2020-10-07 18:00:36 +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