Commit Graph

200 Commits

Author SHA1 Message Date
XMRig
943c14c7b0 Hardcode L2 cache size for Apple M1. 2020-12-13 20:09:29 +07:00
XMRig
8f8a48843b Update user agent for macOS and fix compile warnings 2020-12-13 13:57:12 +07:00
XMRig
84443a4e8b Added generic secure JIT support for RandomX. 2020-12-11 23:17:54 +07: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
XMRig
b814c1c12f Removed libcpuid support. 2020-12-06 21:51:24 +07:00
XMRig
03c10c8592 Restore Hashrate class interface. 2020-12-05 11:09:25 +07:00
XMRig
9a120b979b Added GpuWorker class. 2020-12-04 22:25:28 +07:00
XMRig
569907775a Cleanup 2020-12-04 19:52:53 +07:00
XMRig
4569eea6f6 Move Profiler and more cleanup. 2020-12-04 09:23:40 +07:00
XMRig
7958cf9426 Cleanup 2020-12-03 19:45:16 +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
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
6ec6dd7885 Added warning about libcpuid deprecation. 2020-11-15 04:23:59 +07:00
XMRig
3ec7cd1d17 Add static_assert 2020-11-15 04:13:40 +07:00
SChernykh
bdb6fe7d05 Fixed MSR mod names in JSON API 2020-11-14 19:55:43 +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
XMRig
856686a529 #1918 Fixed check for 1GB huge pages on ARM Linux. 2020-11-02 21:26:35 +07:00
XMRig
7f5c1f40a4 Added vendor to ARM CPUs name and added "arch" field. 2020-11-01 12:06:35 +07: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
XMRig
572616f3d2 Code cleanup. 2020-10-16 19:35:36 +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
xmrig
10e3b91c41 Merge pull request #1876 from SChernykh/dev
RandomX: added `huge-pages-jit` config parameter
2020-10-07 22:48:57 +07:00
SChernykh
1865d31d0c 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
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
1e38eb3f4f RandomX refactoring, moved more stuff to compile time
Small x86 JIT compiler speedup.
2020-09-18 20:51:25 +02:00
SChernykh
9a53285c5f RandomX: added SSE4.1-optimized Blake2b
+0.15% on `rx/0`
+0.3% on `rx/wow`
2020-09-10 14:28:40 +02:00
XMRig
25d8c2f2f3 Always use all available threads on ARM. 2020-08-16 17:36:38 +07:00
XMRig
0f7ae874e0 Added ARM CPU name detection based on lscpu code. 2020-08-16 15:47:29 +07: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
XMRig
b2b54cbe82 Cleanup 2020-07-22 21:27:40 +07:00
SChernykh
5af50b854c RandomX: added cache QoS support
False by default. If set to true, all non-mining CPU cores will not have access to L3 cache.
2020-07-13 17:23:18 +02:00
XMRig
7c624feb3f #1742 Fixed crash when use HTTP API. 2020-06-23 16:17:06 +07:00
SChernykh
3292679e66 KawPow: fixed crash on old CPUs
- Use `popcnt` instruction only when it's supported
2020-06-10 21:49:43 +02:00
XMRig
e72a3ccb52 Merge branch 'dev' into evo 2020-06-10 00:58:29 +07:00