Commit Graph
100 Commits
Author SHA1 Message Date
SChernykh 3c383c59dc Fixed crash in RelWithDbgInfo MSVC build
Same problem as in https://github.com/xmrig/xmrig/pull/1784 , fixed with compiler flags this time.
2020-07-29 10:39:58 +02:00
SChernykh 8c8a46acb8 Added mining on battery setting 2020-07-22 20:21:42 +02:00
SChernykh 51370682f3 Fixed RandomX initialization for VS debug builds 2020-07-21 10:10:07 +02:00
SChernykh 3180e242a9 Cryptonight OpenCL: fix for long input data 2020-07-16 10:39:32 +02: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 08d71d5144 RandomX: tweaked Ryzen code
Very small speedup
2020-07-05 16:06:59 +02:00
SChernykh bb87e9008c KawPow: fixed more duplicate share errors 2020-07-03 21:33:44 +02:00
SChernykh 119a065424 Fix typo 2020-07-02 14:29:52 +02:00
SChernykh d2d8fd48b9 KawPow: fixed rare duplicate share errors 2020-07-02 11:36:31 +02:00
SChernykh aa48c64a05 Fixed DAG initialization on slower AMD GPUs
Display driver could reset on GPUs with screen connected.
2020-06-30 16:53:56 +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 cf1ee9b3d4 Fixed AstroBWT OpenCL compilation on some systems 2020-06-23 13:55:43 +02:00
SChernykh ccb6cce3f0 Fixed NiceHash disconnects for KawPow 2020-06-12 14:08:00 +02:00
SChernykh 5730b7fd27 Show GPU # when compute error happens 2020-06-11 19:48:53 +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
SChernykh 82e6e3df6f Merge remote-tracking branch 'upstream/evo' into evo 2020-06-10 20:55:59 +02:00
SChernykh c648e79c97 Merge remote-tracking branch 'upstream/evo' into evo 2020-06-10 08:19:36 +02:00
SChernykh e6f454f37d Fixed detection of AVX2/AVX512 2020-06-09 17:47:23 +02:00
SChernykh 4f0ff0c6b9 Disabled AVX-512F for Argon2
See #1722
2020-06-09 13:53:14 +02: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
SChernykh 230b2a4b63 Fixed GCC 10.1 issues
- Fixed uninitialized `state->x` warning
- Fixed broken code with `-O3` or `-Ofast`
2020-06-07 16:16:09 +02:00
SChernykh 2ab164caf2 Conceal (CCX) support 2020-06-07 01:01:45 +02:00
SChernykh 9fd7f42e95 Reduced memory for KawPow 2020-06-05 14:01:49 +02:00
SChernykh 25685ebab1 Print errors from KawPow DAG initialization 2020-06-05 09:33:36 +02:00
SChernykh afdf26616e KawPow: reduced stale/expired shares 2020-05-31 18:22:21 +02:00
SChernykh 3723fa777d Tuned KawPow OpenCL kernel
Removed unnecessary memory barrier.
2020-05-29 13:10:24 +02:00
SChernykh 9725e14a02 KawPow: fixed switch back from dev donate 2020-05-29 10:49:22 +02:00
SChernykh 50e1f7217e Update EthStratumClient.cpp 2020-05-29 08:39:03 +02:00
SChernykh d7c9d08614 Added listener verify callback 2020-05-29 08:36:59 +02:00
SChernykh bf45453a0f Fixed stratum login notification 2020-05-29 08:31:53 +02:00
SChernykh 474f97695e Hashrate display fixes 2020-05-28 22:23:31 +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
SChernykh 3d622ff2a9 KawPow fix for retarted AMD OpenCL compiler 2020-05-28 20:27:25 +02:00
SChernykh 7056f67726 KawPow performance fix for AMD Navi 2020-05-28 18:28:23 +02:00
SChernykh 3168919b83 KawPow: tuned work group size for OpenCL 2020-05-28 10:58:06 +02:00
SChernykh f24da62db0 KawPow WIP 2020-05-27 16:19:57 +02: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
SChernykh b2dcacc679 Improved JSON config error reporting
Show incorrect lines in config.json together with line number and position.
2020-04-29 11:08:45 +02:00
SChernykh 9a6baa375d Refactored CFROUND 2020-04-21 15:44:04 +02: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 3d5a35885e Fixed VM destruction 2020-04-08 08:31:53 +02:00
SChernykh 73cb010b5d Fix off-by-one error 2020-04-07 18:53:08 +02:00
SChernykh 9bd78a9603 Fixed pool lock 2020-04-07 18:48:02 +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 e793dd3be2 AstroBWT CUDA support 2020-04-04 11:05:44 +02:00
SChernykh 2ac0f7fa24 Fixed AstroBWT OpenCL for NVIDIA GPUs 2020-03-24 15:55:54 +01:00
SChernykh c2260215b3 AstroBWT OpenCL code 2020-03-22 22:36:21 +01:00
SChernykh f9c84ac456 Fix MacOS compilation 2020-03-11 16:35:52 +01: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
SChernykh ea14d937f8 Activate MSR mod only for RandomX algorithms 2020-03-09 19:10:26 +01:00
SChernykh c565ed93cd Fixed invalid AstroBWT hashes after algo switching 2020-03-07 16:41:33 +01:00
SChernykh 1db5a6d0b8 Fixed compilation withut randomx/argon2 2020-03-06 07:22:57 +01: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
SChernykh c76bd4fc63 Fixed new block detection for Dero solo mining 2020-03-03 17:53:19 +01: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
SChernykh c6e9e2308d Optimized CFROUND
Shorter version using BMI2 instructionns
2020-02-21 19:00:58 +01:00
SChernykh 6f66a0375f Fixed 32-bit compilation 2020-02-21 16:08:23 +01:00
SChernykh e030bc8aa6 Merge branch 'dev' of https://github.com/SChernykh/xmrig into dev 2020-02-20 20:59:25 +01:00
SChernykh c7b4a89832 Tuned JIT compiler
0.3-0.4% speedup depending on CPU.
2020-02-20 20:59:22 +01:00
SChernykh 783f79f264 Refactored fma_soft() in randomx_vm.cl
Fixes #1554 (hopefully)
2020-02-18 18:19:03 +01:00
SChernykh ab62ddb2e3 Fix crash when share is found before pool login 2020-02-17 20:22:09 +01:00
SChernykh a75ee09704 Added RandomX JIT for AMD Navi GPUs 2020-02-13 20:15:08 +01:00
SChernykh 4c8413f584 Fixed generic OpenCL code for AMD Navi 2020-02-10 22:00:40 +01:00
SChernykh 9e76b6d672 Workaround for new AMD drivers (OpenCL) 2020-02-04 23:11:46 +01:00
SChernykh e7c3bb7ba6 Crash fix for Bullodzer CPUs 2020-02-02 17:16:59 +01:00
SChernykh d6d6d8b350 Fixed setThreadAffinity()
Added 1 ms sleep to guarantee thread rescheduling to the correct CPU core before returning.
2020-01-28 19:39:02 +01: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 94ff5d1e49 Fix compile error 2020-01-24 14:09:07 +01:00
SChernykh 0ce4ac9a90 Fix crash on Linux 2020-01-24 13:34:12 +01:00
SChernykh 209d7e3223 Optimized CFROUND 2020-01-22 20:11:00 +01:00
SChernykh eaaf157997 Added support for BMI2 instructions 2020-01-21 19:44:56 +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 716df54ac0 JIT compiler: removed unnecessary memcpy from generateProgram() 2020-01-13 18:00:41 +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 a976379f19 JIT compiler tweaks 2020-01-06 13:57:48 +01:00
SChernykh 07e36a6cf0 Refactor Ryzen fix to fix compilation issues 2019-12-31 11:55:07 +02:00
SChernykh 58472d0674 Cleanup 2019-12-30 20:55:03 +02:00
SChernykh 467fbfdc77 Auto-config for mobile Ryzen APUs 2019-12-30 20:53:21 +02:00
SChernykh a1f223dcb0 Fix for 1st-gen Ryzen crashes 2019-12-27 12:40:38 +02:00
SChernykh 18ceec0022 Fixed crash with GCC compiler 2019-12-18 17:32:57 +01:00
SChernykh 3bb6b332db Fixed AVX detection 2019-12-18 12:20:21 +01:00
SChernykh 5492d9270f Update jit_compiler_x86_static.S 2019-12-18 09:13:21 +01:00
SChernykh 4237ed6fad Add vzeroupper for processors with AVX
To avoid false dependencies on upper 128 bits of YMM registers.
2019-12-18 09:12:25 +01:00
SChernykh fc3c995ec2 Added bit masks for MSR registers 2019-12-17 23:55:22 +01:00
SChernykh 9b5ccb55a5 RandomSFX (Safex Cash variant) support 2019-12-16 19:36:29 +01:00
SChernykh a1d359f045 Use unique service name for WinRing0 driver
To avoid error 1072
2019-12-15 19:28:14 +01:00
SChernykh 53919c1281 Fixed thread count for MSR mod 2019-12-14 16:30:46 +01:00
SChernykh 5cf846b28d MSR mod for Windows 2019-12-14 16:04:37 +01:00
SChernykh 203fdbc0fd RandomX boost script for Linux 2019-12-12 18:25:28 +01:00
SChernykh 9629001fe4 Update jit_compiler_x86_static.S 2019-12-09 20:30:37 +01:00
SChernykh 7e724aa70d More optimizations for Ryzen 2019-12-09 20:29:05 +01:00
SChernykh e35ce64e14 Fixed assembly selection for RandomX when it's on Auto 2019-12-09 18:59:49 +01:00
SChernykh 08eef1bf9a Fix GCC compilation 2019-12-08 16:51:37 +01:00