Commit Graph

68 Commits

Author SHA1 Message Date
XMRig
22f68bda8d Code cleanup based on Clang-Tidy. 2021-08-25 18:45:15 +07:00
SChernykh
872ff363dd Fix: don't send miner signature during regular mining 2021-07-01 19:31:55 +02:00
SChernykh
7ef8a295e5 Update signing algorithm 2021-06-21 23:49:13 +02:00
SChernykh
abba1abc10 Added support for solo mining with miner signatures (Wownero) 2021-06-16 18:07:36 +02:00
SChernykh
b3d14f51b9 Added support for Uplexa (cn/upx2 algorithm) 2021-04-17 14:53:42 +02: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
83ccef753a Fixed crash when GPU mining cn-heavy on Zen3 system 2021-02-18 14:49:37 +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
XMRig
9a120b979b Added GpuWorker class. 2020-12-04 22:25:28 +07:00
XMRig
e3e3770382 Fixed, benchmark validation on NUMA hardware produced incorrect results in some conditions. 2020-11-25 09:35:11 +07:00
XMRig
de76bd9f11 Use static RandomX seed for benchmark. 2020-11-20 08:15:04 +07:00
XMRig
6221652024 Submit top benchmark diff. 2020-11-17 07:33:20 +07:00
XMRig
bdbc470910 Benchmark refactoring, zero delay submit and unified HTTP layer. 2020-11-16 16:22:34 +07:00
XMRig
e45bfa1ace Removed non thread safe access to config. 2020-11-16 07:58:28 +07: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
XMRig
14892cf040 Removed m_bench field from Job class. 2020-10-16 20:29:11 +07:00
XMRig
ebaf8ccec4 Added CMake option WITH_BENCHMARK. 2020-10-16 02:18:07 +07:00
SChernykh
a046437d5f Added benchmark and stress test
Easy to use and zero configuration embedded benchmark/stress test.
2020-10-14 19:45:05 +02:00
xmrig
0656390ce1 Merge pull request #1890 from SChernykh/dev
Added argon2/chukwav2 algorithm
2020-10-13 14:54:34 +07:00
SChernykh
f8a0aa06c8 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
e29ffe7668 CPU: use raw counter 2020-10-10 13:28:14 +00:00
SChernykh
2af99c3d83 More precise hashrate calculation
- Use only steady timestamp counters to guarantee correctness
- CPU backend: directly measure total hashrate using raw hash counters from each thread; update data more often on ARM CPUs because they're slower
- GPU backends: directly measure total hashrate too, but use interpolator with 4 second lag to fix variance from batches of hashes

Total hashrate is now measured directly (realtime for CPU, 4 seconds lag for GPU), so it might differ a bit from the sum of all thread hashrates because data points are taken at different moments in time.

Overhead is reduced a lot since it doesn't have to go through all threads to calculate max total hashrate on every timer tick (2 times a second).
2020-10-10 11:18:01 +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
SChernykh
3d78f30171 Try to allocate scratchpad from dataset's 1 GB huge pages, if normal huge pages are not available 2020-07-31 13:37:22 +02:00
SChernykh
2ab164caf2 Conceal (CCX) support 2020-06-07 01:01:45 +02:00
SChernykh
f24da62db0 KawPow WIP 2020-05-27 16:19:57 +02:00
SChernykh
c43a848415 Fix code style 2020-04-09 14:31:42 +02:00
SChernykh
fe96036607 RandomX JIT refactoring
- Smaller memory footprint
- A bit faster overall
2020-04-09 14:24:54 +02:00
SChernykh
5449dfbc91 Use node number instead of affinity 2020-04-07 18:46:22 +02:00
SChernykh
e5d43089df Pooled allocation of RandomX VMs
+0.5% speedup on Zen2 when the whole L3 cache is used (16 threads on 3700X/3800X, 32 threads on 3950X).
2020-04-07 18:31:35 +02:00
XMRig
2b80ccd135 Added command line option --astrobwt-avx2 2020-03-12 00:04:07 +07:00
SChernykh
838bd14948 AVX2 optimized code for AstroBWT
Added "astrobwt-avx2" parameter in config.json, it's turned off ("false") by default.

4-5% speedup on CPUs with proper AVX2 support (AMD Ryzen starting with Zen2, Intel Core starting with Haswell).

There will be no speedup on the following CPUs:

- Intel Pentium/Celeron don't support AVX2
- AMD Zen/Zen+ have only half-speed AVX

GCC compiled version is faster without AVX2, MSVC compiled version is faster with AVX2
2020-03-10 22:35:14 +01:00
XMRig
675c0855df Update year. 2020-03-06 12:57:21 +07:00
SChernykh
19fc7b6f43 AstroBWT 20-50% speedup
Skips hashes with large stage 2 size. Added configurable `astrobwt-max-size` parameter, default value is 550, min 400, max 1200, optimal value ranges from 500 to 600 depending on CPU.

- Intel CPUs get 20-25% speedup
- 1st- and 2nd-gen Ryzens get 30% speedup
- 3rd-gen Ryzens get up to 50% speedup
2020-03-05 12:20:21 +01:00
SChernykh
1ccf408ba7 AstroBWT algorithm (DERO) support
To test:

- Download https://github.com/deroproject/derosuite/releases/tag/AstroBWT
- Run daemon with `--testnet` in command line

In config.json:
- "coin":"dero"
- "url":"127.0.0.1:30306"
- "daemon:"true"
2020-02-29 22:41:24 +01:00
XMRig
e00a4c9daf Fixed nicehash nonce overflow for CPU backend. 2020-02-06 17:19:08 +07:00
XMRig
d74775d702 Added "cn-pico/tlo". 2019-12-29 00:29:19 +07:00
XMRig
280618a9eb Memory allocation refactoring. 2019-12-08 23:17:39 +07:00
SChernykh
2ed2629653 Optimized dataset read for Ryzen CPUs
Removed register dependency in dataset read, +0.8% speedup on average.
2019-12-08 16:14:02 +01:00
XMRig
1797fe3e20 Added CPU option "yield". 2019-12-03 09:04:20 +07:00
SChernykh
4b0f3fab83 RandomX fixes
Intel JCC erratum fix and various other improvements, see more here: https://www.phoronix.com/scan.php?page=article&item=intel-jcc-microcode&num=1
2019-12-01 08:46:35 +01:00
XMRig
2872c4737a Display backend for shares. 2019-10-29 15:43:13 +07:00
XMRig
78d87138d5 Fixed Linux build. 2019-10-07 13:37:12 +07:00
XMRig
dd0f924bff Added initial memory pool support. 2019-10-07 12:36:40 +07:00
XMRig
5058da3f29 Fixed exit. 2019-10-05 11:24:22 +07:00
XMRig
e9b20fff81 Implemented VM mode for OpenCL RandomX. 2019-09-12 00:01:03 +07:00
XMRig
aad2f63362 Implemented verification on CPU. 2019-09-01 19:31:25 +07:00
XMRig
65f5806367 Implemented cn0 kernel launch. 2019-09-01 07:05:49 +07:00
XMRig
df5fd65a45 Merge branch 'dev' into feature-opencl 2019-08-30 16:47:51 +07:00