Commit Graph

460 Commits

Author SHA1 Message Date
SChernykh
c4a083aa8c Fix for ARM compilation 2020-09-23 11:44:08 +02:00
SChernykh
b8d604bec4 RandomX improved performance of GCC compiled binaries
JIT compilator was slower compared to MSVC compiled binary. Up to +0.1% speedup on rx/wow in Linux.
2020-09-22 13:48:11 +02:00
SChernykh
60faba76e8 RandomX: AES improvements
- A bit faster hardware AES code when compiled with MSVC
- More reliable software AES benchmark
2020-09-21 17:51:08 +02: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
3ef7c9b5e6 RandomX: returned old soft AES impl and auto-select between the two 2020-09-15 20:48:27 +02:00
cohcho
3068b7adbe reserve at most 1 bit for wrapping detection 2020-09-13 18:42:16 +00:00
SChernykh
f126fa112e RandomX: added performance profiler (for developers)
Also optimized Blake2b SSE4.1 code size to avoid code cache pollution.
2020-09-12 23:07:52 +02:00
xmrig
09bffdfb47 Merge pull request #1827 from cohcho/nonce_iteration_without_tests
nonce iteration optimization
2020-09-10 19:33:23 +07: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
cohcho
b183af0953 fix nonce mask 2020-09-09 19:39:52 +00:00
cohcho
5cf1494401 nonce iteration optimization
efficient and correct nonce iteration without duplicates
2020-09-09 10:03:37 +00:00
SChernykh
f26d4274fc RandomX: added parameter for scratchpad prefetch mode
`scratchpad_prefetch_mode` can have 4 values:
0: off
1: use `prefetcht0` instruction (default, same as previous XMRig versions)
2: use `prefetchnta` instruction (faster on Coffee Lake and a few other CPUs)
3: use `mov` instruction
2020-09-04 16:16:07 +02:00
XMRig
e254283089 Fix compile warnings. 2020-08-24 10:04:46 +07:00
XMRig
42576e91dc Fix compile warning. 2020-08-23 14:22:08 +07:00
XMRig
3baf926bb7 Fix compile warning 2020-08-17 06:08:14 +07:00
XMRig
e5e5b48216 Fixed compile warning and updated build.uv.sh. 2020-08-16 16:03:27 +07:00
SChernykh
07d9abc90e RandomX JIT: optimized address mask calculation 2020-08-12 16:45:16 +02:00
XMRig
d3ddb76962 Fixed RandomX cache initialization if 1GB pages fails to allocate on a first NUMA node. 2020-08-01 12:30:02 +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
SChernykh
5aae95eddc Force 2 MB pages size in allocateLargePagesMemory() on Linux 2020-07-31 09:55:49 +02:00
XMRig
b2b54cbe82 Cleanup 2020-07-22 21:27:40 +07:00
SChernykh
51370682f3 Fixed RandomX initialization for VS debug builds 2020-07-21 10:10:07 +02:00
XMRig
3526c1335d Added command line options --cache-qos (--randomx-cache-qos) and --argon2-impl (--cpu-argon2-impl). 2020-07-20 09:17:59 +07:00
XMRig
da244e7acf Fixed build without MSR support. 2020-07-16 05:15:35 +07:00
SChernykh
e8dbb8ca9f Removed cache QoS warning at exit on unsupported CPUs 2020-07-13 20:43:49 +02:00
SChernykh
a3f4d91ad7 Cache QoS: fix for seting MSR 2020-07-13 20:30:44 +02: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
Jim Huang
3343e373e8 Adopt new SSE2NEON and reduce ARM-specific changes
This patch updated SSE2NEON [1], which contains more functions
provided by Intel intrinsics, only implemented with NEON-based
counterparts to produce the exact semantics of the intrinsics.
Consequently, ARM-specific changes against CryptoNight_arm can
be reduced as well.

[1] https://github.com/DLTcollab/sse2neon/
2020-07-11 01:55:11 +08:00
SChernykh
08d71d5144 RandomX: tweaked Ryzen code
Very small speedup
2020-07-05 16:06:59 +02:00
SChernykh
038629c093 Print error message when MSR mod fails
Make sure user knows that hashrate is worse than it could be.
2020-06-26 19:54:06 +02:00
SChernykh
683ca745a8 KawPow: optimized CPU share verification
- 2 times faster CPU share verification (11 -> 5 ms)
- 1.5 times faster light cache initialization
2020-06-26 12:31:26 +02: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
a4032b9f4f Merge branch 'dev' into evo 2020-06-07 21:25:31 +07:00
SChernykh
63dd56831e Fixed GCC 10.1 issues
- Fixed uninitialized `state->x` warning
- Fixed broken code with `-O3` or `-Ofast`
2020-06-07 16:23:17 +02:00
XMRig
6fde2cc703 Merge branch 'dev' into evo 2020-06-07 20:15:12 +07:00
Matt Smith
6a0f170269 Stop linker from making stack executable
Add .note.GNU-stack section to end of AstroBWT ASM.

Signed-off-by: Matt Smith <matt@offtopica.uk>
2020-06-07 13:57:37 +01:00
SChernykh
2ab164caf2 Conceal (CCX) support 2020-06-07 01:01:45 +02:00
XMRig
a5442dbcb2 Merge branch 'evo' of https://github.com/SChernykh/xmrig into pr1713 2020-06-05 19:17:01 +07:00
SChernykh
9fd7f42e95 Reduced memory for KawPow 2020-06-05 14:01:49 +02:00
SChernykh
ee4c5712e9 Merge remote-tracking branch 'upstream/evo' into evo 2020-05-28 22:06:10 +02:00
SChernykh
2f1940ca58 Fixed hashrate and diff display for KawPow 2020-05-28 22:03:28 +02:00
XMRig
311e6a1e39 Log cleanup. 2020-05-29 02:11:29 +07: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
b81a80c26e Merge branch 'dev' 2020-05-23 11:08:53 +07:00
Bohan Yu
134a6f2321 Change cases of Windows include file and link library
When cross-compiling on case sensitive systems, such as Linux, there will be an Error.
2020-05-13 21:00:52 +08:00
XMRig
b6dbd4f431 Removed unnecessary check. 2020-05-09 01:36:57 +07:00
XMRig
d5096b0547 Fix build. 2020-05-09 01:26:05 +07:00
XMRig
e81a7ad64a Removed code duplicate. 2020-05-09 01:13:46 +07:00
XMRig
317dc19ce8 Code cleanup. 2020-05-05 01:55:00 +07:00