SChernykh
3fe3453ada
Show the number of transactions in pool job
...
Useful to check if pool/proxy is working properly and can also be used to compare different pools.
2021-08-07 19:38:31 +02:00
SChernykh
f2cb28de33
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
0aff522841
Merge branch 'dev' of https://github.com/SChernykh/xmrig into dev
2021-07-05 13:57:16 +02:00
SChernykh
0348f4fd49
Updates from xmrig-proxy
2021-07-05 13:56:37 +02:00
SChernykh
872ff363dd
Fix: don't send miner signature during regular mining
2021-07-01 19:31:55 +02:00
SChernykh
82b437a25c
Correct handling of block submit responses for Dero
2021-06-24 18:06:07 +02:00
SChernykh
7ef8a295e5
Update signing algorithm
2021-06-21 23:49:13 +02:00
SChernykh
277668a078
Added profiling
2021-06-19 16:19:16 +02:00
SChernykh
da8a9185c8
Fixed GCC warnings
2021-06-19 14:54:03 +02:00
SChernykh
4d20290cf7
Fix Wownero hardfork version
2021-06-18 13:52:24 +02:00
SChernykh
7170df5d1e
Proxy miner signature support
2021-06-17 22:48:08 +02:00
SChernykh
479a40c176
Proxy miner signature support (WIP)
2021-06-17 16:58:18 +02:00
SChernykh
f94bf75c7b
More sanity checks
2021-06-17 13:18:34 +02:00
SChernykh
dbd36095d4
More error handling in DaemonClient::parseJob
2021-06-17 10:39:22 +02:00
SChernykh
4b0c331f5f
Fixed CalculateMerkleTreeHash
2021-06-17 10:26:17 +02:00
SChernykh
73ce668e76
BlockTemplate: miner tx and root hash updating
2021-06-16 23:44:05 +02:00
SChernykh
01f345ac77
Fix buffer size in generateMinerSignature
2021-06-16 18:20:11 +02:00
SChernykh
abba1abc10
Added support for solo mining with miner signatures (Wownero)
2021-06-16 18:07:36 +02:00
SChernykh
0008bb5afc
Cleanup
2021-06-16 11:47:17 +02:00
SChernykh
71b66bb8f1
Fixed random32_unbiased
2021-06-16 00:19:49 +02:00
SChernykh
9605a964c8
Secret key derivation
2021-06-16 00:10:34 +02:00
SChernykh
cacded2a7f
Added signature functions
2021-06-15 15:51:29 +02:00
SChernykh
411b2d6396
Cryptonote tools WIP
2021-06-15 00:28:32 +02:00
SChernykh
e186f85d1c
RandomX: fix broken light mode mining
...
It broke after #2395
2021-05-22 13:49:22 +02:00
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
7f4337182d
Fix AES detection on FreeBSD on ARM
2021-05-03 09:57:43 +02:00
SChernykh
984be22109
Update randomx_boost.sh
...
- Support builtin MSR, see #2283
- Added detection of AMD EPYC CPUs
2021-04-28 14:10:30 +02:00
SChernykh
1dc8da2d76
Add missing allow_writes=on to randomx_boost.sh
2021-04-25 15:31:30 +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
7d1c0dc879
Show total hashrate if compiled without OpenCL
2021-04-13 14:02:29 +02:00
SChernykh
1c826fb64d
Fixed broken "coin" setting functionality
2021-04-06 23:02:10 +02:00
SChernykh
97525616d6
Fixed cn-heavy for GCC-8
2021-04-04 10:18:27 +02:00
SChernykh
14dda33b3c
Update randomx.cmake
2021-04-03 17:59:28 +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
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
d806f16e10
Fixed use-after-free bug when exiting
2021-03-27 21:53:40 +01:00
SChernykh
4b270047fe
Fix vld1q_u8_x4 compilation error with GCC 10.2
2021-03-12 16:26:02 +01:00
SChernykh
27df18b442
Fix wrong type in Handle::deleteLater()
...
Bug found by Address Sanitizer
2021-03-10 14:55:06 +01:00
SChernykh
23d2826dc4
Fix GCC compilation
2021-03-04 10:45:39 +01:00
SChernykh
42fe175a7c
Fix crash in cn-heavy on Zen3 with manual thread count
2021-03-04 10:02:35 +01:00
SChernykh
34c2c161b5
Fixed many "new job" messages when solo mining
...
Fix for https://github.com/xmrig/xmrig/issues/2127
2021-03-01 17:46:05 +01:00
SChernykh
ca2ca9a2dd
Fixed pause logic when both pause on battery and user activity are enabled
2021-02-21 16:33:57 +01:00
SChernykh
83ccef753a
Fixed crash when GPU mining cn-heavy on Zen3 system
2021-02-18 14:49:37 +01:00
SChernykh
fdd7a1969a
Added pause-on-active option
...
Windows only for now. When set to true, pauses mining when user touches mouse or keyboard.
2021-02-14 15:32:18 +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
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
SChernykh
3e3e008761
Fix compilation error when RandomX and Argon2 are disabled
2021-01-28 14:38:28 +01:00
SChernykh
d55f365276
Added documentation for config.json CPU options
2021-01-28 13:37:27 +01: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
SChernykh
54aa76b09b
Always use cvt_bin2hex
2021-01-15 12:46:27 +01:00
SChernykh
bf32afbb05
Fixed solo mining
...
It was broken since 6.7.0
2021-01-15 11:18:36 +01:00
SChernykh
fac3902ae1
RandomX x86 JIT: remove redundant CFROUND
2021-01-07 16:20:00 +01:00
SChernykh
01d731ea5a
AstroBWT OpenCL fixes
...
- Rewrote main BWT kernel to work properly on Navi
- Fixed nonce iterations in OclWorker
- Fixed memory allocation for AstroBWT
2020-12-27 16:44:35 +01:00
SChernykh
ac77335519
Show hashrate in the benchmark finished message
2020-12-23 14:31:38 +01:00
SChernykh
50cecbb71a
Fixed broken Dero solo mining
2020-12-20 22:17:08 +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
a0db4f8924
Fixed Windows scripts
...
Change back to script's folder when started as administrator
2020-12-18 16:51:28 +01:00
SChernykh
aaf1ed1c99
Dataset initialization with AVX2 (WIP)
2020-12-18 14:53:54 +01: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
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
SChernykh
89d6eeae94
Added virtual machine detection
2020-12-06 17:34:01 +01:00
SChernykh
78dba13722
Fix RandomX init when switching to other algo and back
2020-11-29 22:02:48 +01:00
SChernykh
dfc4f40026
Optimized JIT compiler
...
More branch-free code
2020-11-29 14:05:50 +01:00
SChernykh
b3c2e60645
Example mining scripts to help new miners
2020-11-26 19:06:46 +01:00
SChernykh
17da388fd2
Added reference hashes for 1T offline benchmark
2020-11-16 00:57:00 +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
SChernykh
bdb6fe7d05
Fixed MSR mod names in JSON API
2020-11-14 19:55:43 +01:00
SChernykh
61f65be28b
Update randomx_boost.sh
2020-11-12 15:55:27 +01:00
SChernykh
1f9377b9ae
Added CPUID info to JSON report
2020-11-10 12:15:52 +01:00
SChernykh
648fa6f164
Separate MSR mod for Zen/Zen2 and Zen3
...
Another +0.5% speedup for Zen2
2020-11-08 19:40:44 +01:00
SChernykh
3fe06970b0
Update RxConfig.cpp
2020-11-06 22:59:18 +01:00
SChernykh
dc2a6ebd32
New MSR mod for Ryzen
...
+3.5% on Zen2, +1-2% on Zen3
2020-11-06 22:56:09 +01:00
SChernykh
4706136148
Fix compilation on ARMv8 with GCC 9.3.0
2020-11-02 13:50:10 +01: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
ccf13673aa
Fixed roundSize() usage in OCL/CUDA
2020-10-15 14:39:54 +02:00