Commit Graph
100 Commits
Author SHA1 Message Date
SChernykh 422ef4f4d7 Fixed armv7 compilation
Fix for error `Unsupported target. Must be either ARMv7-A+NEON or ARMv8-A.`
2022-01-25 12:37:41 +01:00
SChernykh 8ee9866bdb KawPow OpenCL: build next period only when it's not in cache 2022-01-24 13:28:58 +01:00
SChernykh 41e39a956e KawPow OpenCL: use separate UV loop for building programs
Fixes #2890: uv_default_loop() can't be used there because UV loops are not thread safe.
2022-01-24 13:20:04 +01:00
SChernykh 62bf33a15c Fixed GhostRider benchmark on single-core systems
Fixes #2871
2022-01-17 19:59:21 +01:00
SChernykh 2251a157e3 Fix for short responses from some Raptoreum pools 2022-01-04 23:54:59 +01:00
SChernykh 1105f1130c RandomX: don't restart mining threads when the seed changes
It helps to not loose huge pages when the seed changes (every 2048 blocks, ~2.8 days).
2021-12-25 13:39:15 +01:00
SChernykh e45b4fb916 GhostRidere: set correct priority for helper threads
Fixes #2825
2021-12-20 12:05:17 +01:00
SChernykh 387eea3acf Fixed cn-heavy in 32-bit builds 2021-12-15 21:17:25 +00:00
SChernykh 15b2683000 Updated GhostRider documentation
Added examples for SSL port command line that don't use #1 pool.
2021-12-03 12:30:09 +01:00
SChernykh aa3765695e Fixed "READY threads X/X" display after algo switching 2021-12-03 07:44:23 +01:00
SChernykh 630f2a3a83 Compilationn fixes 2021-12-02 13:34:24 +01:00
SChernykh b5f4e2858d GhostRider benchmark: added 20 more possible rounds 2021-12-01 20:26:41 +01:00
SChernykh ad9630ca5c Updated changelog and GhostRider readme 2021-12-01 18:14:01 +01:00
SChernykh bdc3bd4a7c Compiler fix 2021-12-01 17:08:40 +01:00
SChernykh 9e325b1050 Refactored Chrono::highResolutionMSecs()
Improved precision
2021-11-30 08:11:09 +01:00
SChernykh 76b1e0aa46 Explicitly use QueryPerformanceCounter() on Windows 2021-11-29 21:58:24 +01:00
SChernykh eed6301b12 VAES crash fixes 2021-11-29 21:05:51 +01:00
SChernykh bd30b3e29f Check compiler support for VAES 2021-11-29 09:48:15 +01:00
SChernykh cf63ab248a Disable VAES in 32-bit builds 2021-11-29 09:32:00 +01:00
SChernykh 9b8be354df Added VAES support for Cryptonight variants 2021-11-28 20:49:54 +01:00
SChernykh 1c2efb38e7 More GhostRider fixes
- Fixed "difficulty is not a number" when diff is high on some pools
- Fixed GhostRider compilation when WITH_KAWPOW=OFF
2021-11-28 12:11:08 +01:00
SChernykh 29399cb7b7 GhostRider hotfixes
- Added average hashrate display
- Fixed the number of threads shown at startup
- Fixed `--threads` or `-t` command line option (but `--cpu-max-threads-hint` is recommended to use)
2021-11-27 12:27:26 +01:00
SChernykh 1d0957b9d4 Added GhostRider release notes 2021-11-25 13:19:01 +01:00
SChernykh fa83608b48 Benchmark support for GhostRider (offline only)
Command line:
```
./xmrig --bench=250K -a gr --rotation 15
```
Where `rotation` is an integer between 0 and 19 (inclusive).
2021-11-24 15:54:09 +01:00
SChernykh 213021dba0 GhostRider: fixed invalid hashes on ARMv8 2021-11-24 13:39:55 +01:00
SChernykh 74a53ade2a Optimized quad hash for Ryzens 2021-11-24 08:16:41 +01:00
SChernykh ba1606bbc1 Faster quad hash for GhostRider algos (Ryzen CPUs) 2021-11-23 22:14:46 +01:00
SChernykh 0e2532f950 Fixed broken difficulty adjustment on some Raptoreum pools 2021-11-23 18:02:58 +01:00
SChernykh 7638ac2e9b Fixed compilation error 2021-11-23 08:52:30 +01:00
SChernykh fa9b5c7b6e GhostRider algorithm (Raptoreum) support 2021-11-23 08:14:01 +01:00
SChernykh 5dbda6660b MSR mod: fix for error 183
When WinRing0 driver starts, but some other version already created "\\.\WinRing0_1_2_0", it returns error 183 ERROR_ALREADY_EXISTS - "Cannot create a file when that file already exists."
2021-11-11 10:26:38 +01:00
SChernykh a7bf92068d Fix: use cn-heavy optimization only for Vermeer CPUs
Fixes #2680
2021-11-11 07:57:05 +01:00
SChernykh 4b6ca51c5d Fix MSVC compilation error 2021-10-25 10:26:44 +02:00
SChernykh afd6d2d89a AstroBWT: fixed rare incorrect hashes 2021-10-19 19:08:56 +02:00
SChernykh bd2164dafb AstroBWT even bigger speedup 2021-10-19 17:37:45 +02:00
SChernykh 028a325ee2 AstroBWT speedup 2021-10-18 18:05:51 +02:00
SChernykh 5903205e91 Fix: AstroBWT auto-config ignored max-threads-hint 2021-09-26 12:22:58 +02:00
SChernykh acf60142a7 Added Windows taskbar icon colors
- Red when there's no connection to any pool
- Yellow when mining is paused
- No color during normal mining
2021-09-20 18:03:22 +02:00
SChernykh a73de85417 Fixed Windows 7 compatibility
Fixes #2585
2021-09-17 12:05:37 +02:00
SChernykh 61b72626d9 AstroBWT: add AVX2 Salsa20 implementation
+4.5% speedup on Ryzen 5 5600X
2021-08-29 10:35:43 +02:00
SChernykh 24fe9d6b31 Update CnHash.cpp 2021-08-13 16:03:15 +02:00
SChernykh 4fe09b5e17 Fixed Termux build 2021-08-13 12:02:03 +02:00
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