Commit Graph

59 Commits

Author SHA1 Message Date
XMRig
22f68bda8d Code cleanup based on Clang-Tidy. 2021-08-25 18:45:15 +07:00
XMRig
48a43b9274 Implemented stable algorithm ids. 2021-08-11 03:46:34 +07:00
SChernykh
7d1c0dc879 Show total hashrate if compiled without OpenCL 2021-04-13 14:02:29 +02: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
03c10c8592 Restore Hashrate class interface. 2020-12-05 11:09:25 +07:00
XMRig
569907775a Cleanup 2020-12-04 19:52:53 +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
93456462df Remove benchmark size from Job class. 2020-11-17 05:28:42 +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
34a9aaf358 Added "msr" field for CPU backend. 2020-10-25 16:36:37 +07:00
XMRig
40738116b7 Implemented BenchClient. 2020-10-24 19:43:23 +07:00
XMRig
da62a0e65c Implemented static benchmark verification (--bench --seed --hash) 2020-10-24 13:53:49 +07:00
XMRig
ea7275fc28 Added Benchmark class. 2020-10-17 04:03:42 +07:00
XMRig
14892cf040 Removed m_bench field from Job class. 2020-10-16 20:29:11 +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
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
XMRig
306dfe8d6a Use long tags. 2020-05-28 20:32:41 +07:00
XMRig
e81a7ad64a Removed code duplicate. 2020-05-09 01:13:46 +07:00
SChernykh
b8a706948a Optimized RandomX dataset initialization
- Use single Argon2 implemenation
- Auto-select the fastest Argon2 implementation for RandomX
2020-05-03 20:44:59 +02:00
XMRig
2771cf3582 Add 3rdparty prefix to all rapidjson includes. 2020-04-29 14:55:04 +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
XMRig
0a60a931fc Added printHealth to IBackend interface. 2020-02-14 01:11:53 +07:00
XMRig
280618a9eb Memory allocation refactoring. 2019-12-08 23:17:39 +07:00
XMRig
a460578b5c Fixed singular form for threads. 2019-10-29 17:18:46 +07:00
XMRig
2872c4737a Display backend for shares. 2019-10-29 15:43:13 +07:00
XMRig
717e13818f Implemented RxNUMAStorage. 2019-10-05 08:24:28 +07:00
XMRig
e9d7648fdb Added global backends hashrate to "GET /2/backends" endpoint. 2019-09-20 14:15:35 +07:00
XMRig
d1d0ed7fe2 Allow partially started threads. 2019-09-17 02:22:59 +07:00
XMRig
c4b49d4213 OpenCL RandomX WIP 2019-09-11 15:48:02 +07:00
XMRig
acf6a2d2c3 * Restored all cn/1 based algorithms (cn/1, cn-lite/1, cn/rto, cn-heavy/tube) 2019-09-02 18:30:13 +07:00
XMRig
bfd749a914 Make CpuLaunchStatus more high level. 2019-08-25 16:47:25 +07:00
XMRig
c1e21618ab Improved detailed hashrate report. 2019-08-25 04:14:34 +07:00
XMRig
fe5832bfc6 Added OclWorker class. 2019-08-25 03:50:49 +07:00
XMRig
c26b823761 Implemented OclLaunchData creation. 2019-08-24 00:14:41 +07:00
XMRig
f9bdd6ae93 Merge branch 'dev' into feature-opencl 2019-08-17 23:33:48 +07:00
XMRig
e747f8b06c Added MSVC support for Argon2. 2019-08-17 04:01:53 +07:00
XMRig
9861f9eadd Added selection for optimized Argon2 implementation. 2019-08-17 01:42:03 +07:00
XMRig
8f070d7648 More flexible API handling for mining backends. 2019-08-13 02:38:10 +07:00
Jethro Grassie
3633ef7f9d fix #1108 2019-08-09 19:45:03 -04:00
XMRig
46c8202a83 #1106 Fixed hugepages field in API. 2019-08-09 01:50:31 +07:00
XMRig
990dc7dd51 uv_mutex replaced to std::mutex. 2019-08-09 01:00:21 +07:00
XMRig
d134bd24a5 Added L2 information to Algorithm. 2019-08-08 14:03:52 +07:00
XMRig
c118117abb Added class CpuThreads. 2019-08-07 16:13:23 +07:00
XMRig
e40b9deb6d Always stop mining threads in RandomX dataset change upcoming. 2019-08-02 16:44:55 +07:00
XMRig
d20cd9a069 Fixed miner freeze when switch between RandomX variants. 2019-07-28 14:42:29 +07:00
XMRig
afba358c63 Return correct hugePages count if NUMA mode used. 2019-07-27 21:31:11 +07:00
XMRig
70d9b6e793 Added support for allocate RandomX dataset on each NUMA node. 2019-07-27 19:41:59 +07:00
XMRig
b88e5ce20e Fixed dataset initialization speed on Linux if thread affinity was used. 2019-07-25 19:11:07 +07:00