Commit Graph

172 Commits

Author SHA1 Message Date
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
SChernykh
e6f454f37d Fixed detection of AVX2/AVX512 2020-06-09 17:47:23 +02:00
SChernykh
2ab164caf2 Conceal (CCX) support 2020-06-07 01:01:45 +02:00
XMRig
306dfe8d6a Use long tags. 2020-05-28 20:32:41 +07:00
SChernykh
f24da62db0 KawPow WIP 2020-05-27 16:19:57 +02:00
XMRig
e81a7ad64a Removed code duplicate. 2020-05-09 01:13:46 +07:00
XMRig
46bff5bb84 Fix ARM build. 2020-05-08 23:42:53 +07:00
XMRig
99a28d8b96 Fix build. 2020-05-08 23:05:44 +07:00
XMRig
b364985789 ICpuInfo refactoring. 2020-05-08 22:25:13 +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
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
ed44b0c009 Move files. 2020-03-09 01:22:34 +07:00
XMRig
6e7d9cb5dc Added command line option --astrobwt-max-size 2020-03-08 00:13:47 +07:00
XMRig
1b9e3169c6 Added "coin": "keva" and post PR cleanup. 2020-03-07 20:38:44 +07:00
XMRig
f15908e924 Merge branch 'master' of https://github.com/kevacoin-project/xmrig into feature-rx-keva 2020-03-07 17:13:08 +07:00
XMRig
f08a0b470d Added the wizard suggestion. 2020-03-07 03:24:35 +07: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
kevacoin
b02cc24ae1 Added Keva. 2020-03-04 16:23:33 -08: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
0a60a931fc Added printHealth to IBackend interface. 2020-02-14 01:11:53 +07:00
XMRig
e00a4c9daf Fixed nicehash nonce overflow for CPU backend. 2020-02-06 17:19:08 +07:00
XMRig
5eed25d4aa Update year. 2020-02-01 20:24:00 +07:00