Commit Graph

132 Commits

Author SHA1 Message Date
cohcho
7b98814d02 uv: fix performance issue
unix implementation of uv_async_t has been wasting cpu cycles for nothing since 1.29.0 release
implement efficient callback scheduling for linux
2020-10-12 04:09:09 +00: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
SChernykh
6a25fa75c7 RandomX: allocate 2 MB pages for generated code, if possible
+0.2% boost on Ryzen 7 3700X
2020-10-07 10:35:10 +02:00
cohcho
e6e4519d96 RxVm: fix randomx_create_vm call
randomx_create_vm requires either cache or dataset, but not both
2020-10-06 19:45:43 +00:00
xmrig
3f85d142d9 Merge pull request #1864 from cohcho/soft_aes_optimization2
soft_aes: fix previous optimization
2020-10-05 12:20:41 +07:00
cohcho
a5f4548b27 soft_aes: fix previous optimization
Previously removed unrolled variant is faster on some CPUs
Some CPUs are faster with added unrolled variant
The best variant depends on number of threads on some CPUs
2020-10-04 14:47:58 +00:00
SChernykh
d5dd4ce89f RandomX: removed rx/loki
Loki forks to PoS on October 9th.
2020-10-02 17:02:52 +02:00
XMRig
92835b608f Renamed WITH_SSE to WITH_SSE4_1 and make it work on all platforms. 2020-10-01 11:00:08 +07:00
SChernykh
3ef7c9b5e6 RandomX: returned old soft AES impl and auto-select between the two 2020-09-15 20:48:27 +02: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
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
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
42576e91dc Fix compile warning. 2020-08-23 14:22:08 +07: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
XMRig
b2b54cbe82 Cleanup 2020-07-22 21:27:40 +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
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
XMRig
306dfe8d6a Use long tags. 2020-05-28 20:32:41 +07: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
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
SChernykh
ea14d937f8 Activate MSR mod only for RandomX algorithms 2020-03-09 19:10:26 +01:00
XMRig
ed44b0c009 Move files. 2020-03-09 01:22:34 +07:00
kevacoin
b02cc24ae1 Added Keva. 2020-03-04 16:23:33 -08:00
XMRig
5eed25d4aa Update year. 2020-02-01 20:24:00 +07:00
SChernykh
fda20ff798 Removed MSR mod for Bulldozer
It turned out to be useless: https://www.reddit.com/r/MoneroMining/comments/et7s7w/psa_amd_opteronfxa6a8a10_owners_needed_to_test/
2020-01-27 09:39:39 +01:00
SChernykh
efdbda40f0 Optimizations for AMD Bulldozer
- Added support for XOP instructions
- Enabled Ryzen code for Bulldozer because it's faster there too
2020-01-15 13:04:26 +01:00
SChernykh
aac5ce39a4 MSR preset for Bulldozer CPUs
Also fixed verbose output for MSR presets with masks.
2020-01-14 19:27:34 +01:00
SChernykh
b4b2a19b33 Update MSR preset for Intel
As per https://github.com/xmrig/xmrig/issues/1433#issuecomment-572126184
2020-01-09 08:10:36 +01:00
SChernykh
07e36a6cf0 Refactor Ryzen fix to fix compilation issues 2019-12-31 11:55:07 +02:00
XMRig
82d4a1b3c9 Fix build. 2019-12-28 02:00:08 +07:00
XMRig
cbcf033ebe Code style cleanup. 2019-12-28 01:45:54 +07:00
SChernykh
a1f223dcb0 Fix for 1st-gen Ryzen crashes 2019-12-27 12:40:38 +02:00
XMRig
a46c4f02e8 Removed "rx/v" algorithm. 2019-12-26 22:34:19 +07:00
XMRig
e7c4b1d0c2 Fixed memory allocation checks. 2019-12-25 04:39:21 +07:00
XMRig
a5d13c4e64 Allow use old CUDA plugin. 2019-12-20 21:10:13 +07:00
XMRig
f2f610f0f5 Fix OpenCL. 2019-12-20 04:05:09 +07:00
Tony Butler
4c4b29d45c Add MoneroV (rx/v) algorithm [based on MoneroOcean/master] 2019-12-18 16:17:22 -07:00
XMRig
66a4586559 Fixed MsrItem serialization. 2019-12-19 03:49:32 +07:00
XMRig
80688c52ec Allow number value for "wrmsr" option only for Intel. 2019-12-19 03:28:05 +07:00
XMRig
ddcc9852f7 Use MsrItem::kNoMask. 2019-12-19 03:20:48 +07:00
SChernykh
fc3c995ec2 Added bit masks for MSR registers 2019-12-17 23:55:22 +01:00