Commit graph

517 commits

Author SHA1 Message Date
SChernykh
22b937cc1c KawPow WIP 2020-05-27 16:19:57 +02:00
XMRig
0a7324f500
Merge branch 'dev' 2020-05-23 11:08:53 +07:00
Bohan Yu
a797d808b5 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
2e34bf7a1b
Removed unnecessary check. 2020-05-09 01:36:57 +07:00
XMRig
7f31f45b6d
Fix build. 2020-05-09 01:26:05 +07:00
XMRig
3cbf0dc0ee
Removed code duplicate. 2020-05-09 01:13:46 +07:00
XMRig
c828e6b793
Code cleanup. 2020-05-05 01:55:00 +07:00
XMRig
b34e3e1a7b
Remove unused code. 2020-05-04 02:07:38 +07:00
SChernykh
80d944bf82 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
c18478a6b4
Small cleanups. 2020-05-03 13:38:34 +07:00
XMRig
8aeba61706
Add 3rdparty prefix to all rapidjson includes. 2020-04-29 14:55:04 +07:00
XMRig
0cc90b152d
Move CnAlgo 2020-04-23 12:34:26 +07:00
SChernykh
bfd017d064 Refactored CFROUND 2020-04-21 15:44:04 +02:00
SChernykh
680e4dd865 Fix code style 2020-04-09 14:31:42 +02:00
SChernykh
abb3340cc7 RandomX JIT refactoring
- Smaller memory footprint
- A bit faster overall
2020-04-09 14:24:54 +02:00
SChernykh
92810ad761 Fixed VM destruction 2020-04-08 08:31:53 +02:00
SChernykh
39bd3ca1da Fix off-by-one error 2020-04-07 18:53:08 +02:00
SChernykh
4d0edde66d Fixed pool lock 2020-04-07 18:48:02 +02:00
SChernykh
69cbfd682a Use node number instead of affinity 2020-04-07 18:46:22 +02:00
SChernykh
6ae37a9519 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
539943c655 Fix MacOS compilation 2020-03-11 16:35:52 +01:00
SChernykh
e22f798085 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
9405d8ed92 Activate MSR mod only for RandomX algorithms 2020-03-09 19:10:26 +01:00
XMRig
16a83a9f61
Move files. 2020-03-09 01:22:34 +07:00
SChernykh
b7840d9ab6 Fixed invalid AstroBWT hashes after algo switching 2020-03-07 16:41:33 +01:00
XMRig
13ac54ada9
v5.9.0-dev 2020-03-07 21:27:55 +07:00
XMRig
1f36ea2a8e
Added "coin": "keva" and post PR cleanup. 2020-03-07 20:38:44 +07:00
XMRig
ab90af37b3
Merge branch 'master' of https://github.com/kevacoin-project/xmrig into feature-rx-keva 2020-03-07 17:13:08 +07:00
SChernykh
05dc9821c5 Fixed compilation withut randomx/argon2 2020-03-06 07:22:57 +01:00
SChernykh
eeadea53e2 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
0528ccd01e Added Keva. 2020-03-04 16:23:33 -08:00
XMRig
8dc87576c5
Sync changes with proxy. 2020-03-01 14:04:58 +07:00
XMRig
616c52f266
#1572 Fix compile warning. 2020-03-01 11:59:53 +07:00
XMRig
cdd9ea2496
Make "astrobwt" as primary user visible algorithm name. 2020-03-01 10:21:29 +07:00
SChernykh
14ef99ca67 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
131085be80 Optimized CFROUND
Shorter version using BMI2 instructionns
2020-02-21 19:00:58 +01:00
SChernykh
e1b8f52e59 Fixed 32-bit compilation 2020-02-21 16:08:23 +01:00
SChernykh
0caeb41bff Tuned JIT compiler
0.3-0.4% speedup depending on CPU.
2020-02-20 20:59:22 +01:00
XMRig
c307433900
Fixed nicehash nonce overflow for CPU backend. 2020-02-06 17:19:08 +07:00
xmrig
9c8da1d4d3
Merge pull request #1529 from SChernykh/dev
Crash fix for Bullodzer CPUs
2020-02-02 23:19:49 +07:00
SChernykh
ffc9f67751 Crash fix for Bullodzer CPUs 2020-02-02 17:16:59 +01:00
XMRig
030d6e5962
Update year. 2020-02-01 20:24:00 +07:00
SChernykh
4571899664 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
cd763be05b Fix compile error 2020-01-24 14:09:07 +01:00
SChernykh
42a7194e93 Fix crash on Linux 2020-01-24 13:34:12 +01:00
SChernykh
9f1753cc4f Optimized CFROUND 2020-01-22 20:11:00 +01:00
SChernykh
d342968211 Added support for BMI2 instructions 2020-01-21 19:44:56 +01:00
SChernykh
f80177cbd3 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
665e43fecc MSR preset for Bulldozer CPUs
Also fixed verbose output for MSR presets with masks.
2020-01-14 19:27:34 +01:00
SChernykh
73722ce186 JIT compiler: removed unnecessary memcpy from generateProgram() 2020-01-13 18:00:41 +01:00
SChernykh
869209389e 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
eb20dfbc94 JIT compiler tweaks 2020-01-06 13:57:48 +01:00
XMRig
88ff807700
Fix compile warnings. 2020-01-03 19:11:48 +07:00
SChernykh
c9f90e6770 Refactor Ryzen fix to fix compilation issues 2019-12-31 11:55:07 +02:00
XMRig
a5b0bc04cc
Add "cn/ultra" alias for tlo-pool.raasu.org pool. 2019-12-29 15:36:05 +07:00
XMRig
402c44b547
Added "cn-pico/tlo". 2019-12-29 00:29:19 +07:00
XMRig
ac4086b273
Fix build. 2019-12-28 02:00:08 +07:00
XMRig
f00769f758
Code style cleanup. 2019-12-28 01:45:54 +07:00
SChernykh
3a2941b719 Fix for 1st-gen Ryzen crashes 2019-12-27 12:40:38 +02:00
XMRig
dbb721cb5e
Removed "rx/v" algorithm. 2019-12-26 22:34:19 +07:00
XMRig
22eca8e0d5
Fixed memory allocation checks. 2019-12-25 04:39:21 +07:00
XMRig
449617d717
Allow use old CUDA plugin. 2019-12-20 21:10:13 +07:00
XMRig
049caabdae
Add missing algorithm name alias. 2019-12-20 04:08:47 +07:00
XMRig
2911bb3a81
Fix OpenCL. 2019-12-20 04:05:09 +07:00
Tony Butler
45412a2ace Add MoneroV (rx/v) algorithm [based on MoneroOcean/master] 2019-12-18 16:17:22 -07:00
XMRig
f4cedd7b63
Fixed MsrItem serialization. 2019-12-19 03:49:32 +07:00
XMRig
3e3d34b3ce
Allow number value for "wrmsr" option only for Intel. 2019-12-19 03:28:05 +07:00
XMRig
12fb27e2cf
Use MsrItem::kNoMask. 2019-12-19 03:20:48 +07:00
SChernykh
c01c035269 Fixed crash with GCC compiler 2019-12-18 17:32:57 +01:00
SChernykh
f85aba5d21 Fixed AVX detection 2019-12-18 12:20:21 +01:00
SChernykh
f8bf8fddd9 Update jit_compiler_x86_static.S 2019-12-18 09:13:21 +01:00
SChernykh
7459677fd5 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
59e8fdb9ed Added bit masks for MSR registers 2019-12-17 23:55:22 +01:00
XMRig
5142a406b0
Less error prone log interface. 2019-12-18 02:20:31 +07:00
XMRig
f8865b1498
Added "verbose" option. 2019-12-17 21:46:11 +07:00
XMRig
969821296f
Merge branch 'feature-custom-msr' into dev 2019-12-17 16:53:28 +07:00
XMRig
a877b1d269
Added save/restore MSR registers on Linux. 2019-12-17 16:17:11 +07:00
XMRig
9cea70b77c
Rename Rx_windows.cpp to Rx_win.cpp. 2019-12-17 15:16:37 +07:00
XMRig
d2d501c821
Added RandomX option "rdmsr" and save/restore MSR registers on Windows. 2019-12-17 14:45:01 +07:00
XMRig
8bef964f68
Added support for write custom MSR. 2019-12-17 02:27:07 +07:00
SChernykh
4da37baf8c RandomSFX (Safex Cash variant) support 2019-12-16 19:36:29 +01:00
XMRig
1d4c8dda96
#1423 Implemented driver reuse. 2019-12-16 03:41:58 +07:00
XMRig
b633b593ad
Strict wrmsr error handling. 2019-12-16 02:45:07 +07:00
XMRig
8dbb83f99b
Revert changes. 2019-12-16 02:17:57 +07:00
SChernykh
2e001677df Use unique service name for WinRing0 driver
To avoid error 1072
2019-12-15 19:28:14 +01:00
XMRig
6adba6dad4
Removed unnecessary check. 2019-12-15 12:02:45 +07:00
XMRig
fb5b873524
Added missing tag. 2019-12-15 01:52:20 +07:00
XMRig
5d0fd2dc8e
Unified Linux/Windows MSR log messages. 2019-12-15 01:32:41 +07:00
SChernykh
222fcfae87 Fixed thread count for MSR mod 2019-12-14 16:30:46 +01:00
SChernykh
2e6523aa10 MSR mod for Windows 2019-12-14 16:04:37 +01:00
XMRig
7ff465053b
Added additional MSR registers for Ryzen CPUs. 2019-12-12 14:21:15 +07:00
XMRig
1c58e28124
Don't build Rx_linux.cpp on ARM. 2019-12-11 21:20:37 +07:00
XMRig
96ee721d21
Fixed MSR. 2019-12-11 20:09:25 +07:00
XMRig
de7ed2b968
Added support for AMD specific MSR registers. 2019-12-11 19:37:13 +07:00
XMRig
4fb3086c1c
Fixed --randomx-wrmsr option without parameters. 2019-12-11 19:16:01 +07:00
XMRig
96cfdda9a1
Added RandomX option "wrmsr" with command line equivalent --randomx-wrmsr=N. 2019-12-10 23:57:29 +07:00
SChernykh
ef522f6404 Update jit_compiler_x86_static.S 2019-12-09 20:30:37 +01:00
SChernykh
763691fa4b More optimizations for Ryzen 2019-12-09 20:29:05 +01:00
SChernykh
9bc13813ba Fixed assembly selection for RandomX when it's on Auto 2019-12-09 18:59:49 +01:00
XMRig
3edaebb4cf
Move "1gb-pages" option to "randomx" object. 2019-12-09 21:42:40 +07:00
XMRig
d32df84ca5
Memory allocation refactoring. 2019-12-08 23:17:39 +07:00
SChernykh
028b335bac Fix GCC compilation 2019-12-08 16:51:37 +01:00
SChernykh
ffec421408 Fixed indentation 2019-12-08 16:20:46 +01:00
SChernykh
d0df824599 Optimized dataset read for Ryzen CPUs
Removed register dependency in dataset read, +0.8% speedup on average.
2019-12-08 16:14:02 +01:00
XMRig
86e25a13e3
New summary information about 1GB pages. 2019-12-08 14:21:28 +07:00
XMRig
e9e747f0d1
#1385 "max-threads-hint" option now also limit RandomX dataset initialization threads. 2019-12-07 22:18:06 +07:00
XMRig
3a75f39935
#1386 Added priority for RandomX dataset initialization threads. 2019-12-06 22:17:04 +07:00
SChernykh
e3422979d1 Fixed compilation on systems without 1GB pages support 2019-12-06 13:55:33 +01:00
SChernykh
1fbbae1e4a Added 1GB hugepages support for Linux 2019-12-05 19:39:47 +01:00
SChernykh
a789316bbb Merge remote-tracking branch 'upstream/dev' into dev 2019-12-04 10:24:10 +01:00
SChernykh
450b9ec19a Update VirtualMemory_unix.cpp 2019-12-03 20:25:51 +01:00
XMRig
a556070b42
Removed unused code. 2019-12-03 21:11:27 +07:00
SChernykh
84d7eb05f3 RandomX fixes
Intel JCC erratum fix and various other improvements, see more here: https://www.phoronix.com/scan.php?page=article&item=intel-jcc-microcode&num=1
2019-12-01 08:46:35 +01:00
XMRig
8791261220
Use total memory (Linux report low free memory) and fix typo. 2019-11-29 13:43:26 +07:00
XMRig
c529770d38
Use uv_get_free_memory. 2019-11-29 13:12:36 +07:00
XMRig
64fb4f265b
Added option "mode" (or --randomx-mode) for RandomX. 2019-11-29 13:00:17 +07:00
SChernykh
e3f726796b Use XMRIG_ARMv8 macro 2019-11-15 16:12:26 +01:00
SChernykh
3953568a0e Fix for 32-bit ARM compilation 2019-11-15 16:00:48 +01:00
XMRig
5fa7a743f5 #1284 Fixed build without RandomX. 2019-11-14 15:11:47 +07:00
SChernykh
472ec1a0e6 Fix function names for clang on Apple 2019-11-12 14:42:21 +01:00
XMRig
175a7b06b7 Added initial NVML stub. 2019-10-30 15:33:06 +07:00
XMRig
23ebcfb2db Display backend for shares. 2019-10-29 15:43:13 +07:00
XMRig
ec717f27b5 Added CudaLib stub. 2019-10-25 16:46:49 +07:00
XMRig
48545c5916 Fixed compile warnings. 2019-10-22 13:09:58 +07:00
XMRig
52281906c6 Fixed "huge-pages" option. 2019-10-21 23:01:30 +07:00
SChernykh
578bebb04d Prefer sys_icache_invalidate on iOS
Also break compilation with error if clear cache is not available
2019-10-18 18:17:57 +02:00
SChernykh
5611249af7 Fixed __builtin___clear_cache detection 2019-10-18 18:04:13 +02:00
SChernykh
0ad992985c Update jit_compiler_a64.cpp 2019-10-18 16:36:50 +02:00
SChernykh
1a66c3f1a1 Update jit_compiler_a64.cpp 2019-10-18 16:32:01 +02:00
SChernykh
a2ef2fd9d9 Update jit_compiler_a64.cpp 2019-10-18 16:28:49 +02:00
SChernykh
998c55030a Fixed code cache cleanup on iOS/Darwin 2019-10-18 16:26:15 +02:00
XMRig
5c02cb50da Fix copy/paste typo. 2019-10-18 21:26:15 +07:00
SChernykh
432addab33 Fix ARM64 code alignemtn 2019-10-18 16:18:45 +02:00
XMRig
10d292092a #1246 Fixed build on iOS. 2019-10-18 12:02:10 +07:00
SChernykh
c9798ba2e9 Sync with latest RandomX code
Fix a possible out-of-bounds access in superscalar generator
2019-10-13 22:13:29 +02:00
XMRig
ee87f73d5e #1227 Added "arqma" value for "coin" option. 2019-10-09 09:20:54 +07:00
SChernykh
2b29a4c20f RandomX (Arqma variant) support 2019-10-08 19:00:19 +02:00
XMRig
d3b137c817 Fixed crash. 2019-10-08 08:50:33 +07:00
XMRig
9dce868fb9 Added "memory-pool" option. 2019-10-07 23:38:01 +07:00
XMRig
2dc4ceae29 Added class NUMAMemoryPool. 2019-10-07 20:39:04 +07:00
XMRig
0e0a26f644 Fixed Linux build. 2019-10-07 13:37:12 +07:00
XMRig
68d77b02d7 Added initial memory pool support. 2019-10-07 12:36:40 +07:00
XMRig
c13c83b902 VirtualMemory class refactoring. 2019-10-06 17:49:15 +07:00
XMRig
72c9d94390 Use hwloc for set thread affinity. 2019-10-06 14:40:42 +07:00
XMRig
759573ace3 Merge branch 'optimize-numa' into evo 2019-10-06 11:21:31 +07:00
XMRig
0a1836e5a8 Fixed exit condition for RxQueue. 2019-10-06 11:19:32 +07:00
XMRig
59b62dcb77 Added class RxQueue, class Rx now thin static wrapper on top of RxQueue. 2019-10-06 07:47:41 +07:00
SChernykh
10f9b29e03 Refactored JIT compiler for x86, small RandomX speedup 2019-10-05 21:40:21 +02:00
XMRig
d5af5cf8f8 Fixed exit. 2019-10-05 11:24:22 +07:00
XMRig
05928ccc25 Implemented RxNUMAStorage. 2019-10-05 08:24:28 +07:00