Commit graph

668 commits

Author SHA1 Message Date
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
XMRig
ad6dc876b3 Simplified VirtualMemory::bindToNUMANode. 2019-10-04 19:52:15 +07:00
XMRig
207dae418d Added RxNUMAStorage stub. 2019-10-04 18:43:03 +07:00
XMRig
7508411faf Extended "numa" option for RandomX. 2019-10-04 10:49:55 +07:00
XMRig
f34031a984 Added interface IRxStorage and RxBasicStorage class. 2019-10-04 08:45:13 +07:00
XMRig
d1aadc2e3b More cleanup. 2019-10-03 07:45:25 +07:00
XMRig
6d8cf91568 Added class RxSeed. 2019-10-03 04:48:36 +07:00
XMRig
42fd146c2b #1212 Fixed RandomX dataset re-initialization. 2019-10-02 06:35:49 +07:00
XMRig
34468782cd Merge branch 'dev' into evo 2019-10-01 07:26:18 +07:00
XMRig
3badeb56a0 Fixed support for systems where total count of NUMA nodes not equal usable count. 2019-10-01 07:19:13 +07:00
XMRig
4453727754 Merge branch 'dev' into evo 2019-09-28 03:25:59 +07:00
XMRig
d086318f4e Set "rx/0" as user visible RandomX name. 2019-09-28 03:25:03 +07:00
XMRig
43f26dcd76 Merge branch 'dev' into evo 2019-09-27 05:54:33 +07:00
XMRig
e1d1a5226c Added coin option. 2019-09-27 05:41:45 +07:00
SChernykh
1bba25e080 Set scratchpad pointer to null by default
To avoid freeing random blocks of memory in some cases.
2019-09-24 08:53:00 +02:00
SChernykh
c6096c3c34 Workaround for a bug in binutils-2.32-1 on ARM
ldr/madd instruction sequence makes compiled binary crash, so separate them.
2019-09-23 23:12:40 +02:00
XMRig
cbdf1e6c09 Revert instructions_portable.cpp to avoid warning on gcc compilers. 2019-09-22 00:59:53 +07:00
SChernykh
38f4f4f695 Added JIT compiler for RandomX on ARMv8 2019-09-21 10:10:52 +02:00
XMRig
f6752310b4 Backport fixes from v4. 2019-09-20 14:54:18 +07:00
XMRig
365667ee0a #1180 Fixed race condition in nonce reset. 2019-09-20 00:30:20 +07:00
XMRig
8a69c23646 Use RxAlgo:base instead of switch. 2019-09-14 12:00:33 +07:00
XMRig
6f5d175d12 Fix compile warning, mostly struct/class inconsistency. 2019-09-13 18:21:05 +07:00
XMRig
7f0891a0f0 Merge branch 'dev' into feature-opencl 2019-09-12 13:16:42 +07:00
XMRig
04a4a6cadc Implemented OpenCL JIT mode. 2019-09-12 13:10:50 +07:00
XMRig
db79911c4b Fixed invalid shares. 2019-09-12 10:00:12 +07:00
SChernykh
2322e3bcf7 RandomX: optimized loading from scratchpad
Prefetches scratchpad data as soon as possible to calculate data address for the next load.

Up to ~1.4% speedup on Ryzen 7 3700X @ 4.1 GHz, RAM 3200 MHz 14-14-14-28 with optimized sub-timings:
Variant|Before H/S|After H/S
-------|----------|---------
rx/0|8663|8777
rx/wow|9867|10009
rx/loki|8652|8731
2019-09-11 19:10:01 +02:00
XMRig
95daab4bc0 Implemented VM mode for OpenCL RandomX. 2019-09-12 00:01:03 +07:00
XMRig
4c90f9960e OpenCL RandomX WIP 2019-09-11 15:48:02 +07:00
SChernykh
edb2c98ad7 Fix for 272 initialization threads 2019-09-09 08:15:46 +02:00
XMRig
ff89ec660c Initial RandomX source code prepare and compile. 2019-09-08 21:56:18 +07:00
XMRig
62f086f607 Split config generator to separated files. 2019-09-06 19:38:22 +07:00
XMRig
0e362f38bc Print detailed information about OpenCL threads. 2019-09-05 13:00:40 +07:00
SChernykh
dc5843651b Optimized CFROUND
One less micro-op
2019-09-04 20:47:47 +02:00
SChernykh
d3f98ef7bc RandomX optimizations
- Optimized soft AES code, up to +30% hashrate on CPU without AES support
- Added prefetch for the first dataset access, up to +0.1% hashrate
2019-09-04 19:24:12 +02:00
XMRig
e7b2b4fc3d Relax cn algorithm constants definition. 2019-09-04 13:22:20 +07:00
XMRig
57f82f7504 cn/r part 2 of 2. 2019-09-04 11:23:04 +07:00
XMRig
71329718e4 Merge branch 'dev' into feature-opencl 2019-08-30 16:47:51 +07:00
XMRig
9cfbce5e09 Removed Linux specific code from Windows only ASM file. 2019-08-30 13:49:58 +07:00
Matt Smith
df973763bb
Fix linker marking entire executable as executable stack
See: https://wiki.ubuntu.com/SecurityTeam/Roadmap/ExecutableStacks
See: https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart
2019-08-29 14:12:43 +01:00
SChernykh
0a58781b0c Reverted intrin_portable.h 2019-08-28 07:20:01 +02:00
SChernykh
8b84d7650b Optimized RandomX JIT compiler
Hashrate improved by 0.5-1.5% depending on RandomX version and CPU.
2019-08-27 20:18:56 +02:00
XMRig
fcfb738ded Use external script to prepare OpenCL source. 2019-08-28 00:33:49 +07:00
SChernykh
21a56c9cbf Updated RandomX 2019-08-27 16:12:13 +02:00
XMRig
82696000e4 Removed cn/wow algorithm (coin forked to rx/wow). 2019-08-27 09:34:08 +07:00
XMRig
47b8cb6044 Added classes IOclRunner, OclBaseRunner, OclCnRunner, OclRxRunner. 2019-08-26 04:44:01 +07:00
XMRig
27e862da62 Added OpenCL source. 2019-08-25 23:06:04 +07:00
XMRig
2a5110aa04 Start mining threads only after RandomX dataset initialization. 2019-08-25 20:28:15 +07:00
XMRig
ed7216575c Added OclDevice and partially autoconfig. 2019-08-22 22:39:36 +07:00
XMRig
b1db0803cf Added hugepages support for Argon2. 2019-08-17 13:06:14 +07:00
XMRig
fe832f510e Added MSVC support for Argon2. 2019-08-17 04:01:53 +07:00
XMRig
3022f19eda Added selection for optimized Argon2 implementation. 2019-08-17 01:42:03 +07:00
XMRig
1c00721de3 Fix prefix. 2019-08-16 04:16:29 +07:00
XMRig
043989e8ee Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
XMRig
0c25424a3e Added generic Argon2 implementation (conflicts with RandomX). 2019-08-16 00:31:29 +07:00
XMRig
b41fd120d2 Uniform signature for hugePages method. 2019-08-10 13:14:20 +07:00
XMRig
feda02bf50 Disable HW AES for RandomX on ARM. 2019-08-09 15:36:34 +07:00
XMRig
5cb3ef9068 Name for reference RandomX configuration changed to rx/text to avoid potential conflicts in future. 2019-08-09 14:26:00 +07:00
XMRig
647cbef43c uv_mutex replaced to std::mutex. 2019-08-09 01:00:21 +07:00
XMRig
5896b27bf3 Added L2 information to Algorithm. 2019-08-08 14:03:52 +07:00
XMRig
fd9039928b Added maxIntensity method to Algorithm. 2019-08-07 18:51:32 +07:00
XMRig
66d8598f9f #1092 Fixed crash if use wrong affinity on NUMA systems. 2019-08-05 21:55:52 +07:00
XMRig
4afc987111 Fix for previous commit. 2019-08-05 18:20:56 +07:00
XMRig
3543abcc3c Fixed crash and added error message about seed_hash field. 2019-08-05 17:48:12 +07:00
XMRig
044fbd7e82 Changed init signature. 2019-08-05 16:00:48 +07:00
XMRig
f7ea4b6dbd Always stop mining threads in RandomX dataset change upcoming. 2019-08-02 16:44:55 +07:00
XMRig
bdaf28adf8 Unified memory allocation functions. 2019-08-02 14:44:38 +07:00
XMRig
37710b0c7b Merge branch 'evo' of github.com:xmrig/xmrig into evo 2019-08-01 20:37:23 +07:00
XMRig
84ff8af4bd Optimized RandomX initialization and switching. 2019-08-01 20:37:05 +07:00
SChernykh
97453d986f Fix Mac OS X compilation
Thanks to @cjdelisle
2019-07-31 10:01:32 +02:00
XMRig
c138161ee2 Replacement for PR #1087 2019-07-31 09:29:09 +07:00
XMRig
962f0cdd8e Use std::thread and std:mutex instead of uv_thread_t and uv_mutex_t. 2019-07-30 21:25:27 +07:00
XMRig
0ae1e5f1d4 Sync changes. 2019-07-29 15:06:46 +07:00
XMRig
cb814921d4 Merge branch 'evo' into beta 2019-07-29 08:50:47 +07:00
XMRig
2fb88f10b8 Fix hwloc deprecation warnings. 2019-07-28 10:15:20 +07:00
XMRig
a39e0e05e9 Cleanup. 2019-07-28 08:06:50 +07:00
XMRig
d10527036e Added "randomx" object to config. 2019-07-28 07:46:59 +07:00
XMRig
9df9275120 Return correct hugePages count if NUMA mode used. 2019-07-27 21:31:11 +07:00
XMRig
828fc065b0 Added support for allocate RandomX dataset on each NUMA node. 2019-07-27 19:41:59 +07:00
XMRig
e53ae0c15e Simplified VirtualMemory::bindToNUMANode. 2019-07-26 17:03:10 +07:00
XMRig
35d9c755e0 Special case for Intel CPUs with 1 MB L2 cache per core. 2019-07-26 16:22:44 +07:00
XMRig
ffa6bda106 Added VirtualMemory::bindToNUMANode 2019-07-26 15:29:06 +07:00
SChernykh
35b3377d45 Correct buffer size for fillAes4Rx4
More bytes than needed were filled.
2019-07-25 16:38:33 +02:00
XMRig
a5e8b31d55 Fixed crash. 2019-07-25 19:27:12 +07:00
XMRig
d4772cbd5d Fixed dataset initialization speed on Linux if thread affinity was used. 2019-07-25 19:11:07 +07:00
XMRig
4a32494060 Added option "init-threads". 2019-07-25 12:20:59 +07:00
XMRig
162c3f3d32 Only intensity=1 allowed for RandomX. 2019-07-21 00:08:13 +07:00
XMRig
484253bf68 Updated algorithms descriptions. 2019-07-20 20:57:37 +07:00
XMRig
1d78e7d60d "GET /1/threads" replaced to "GET /2/backends". 2019-07-19 04:22:21 +07:00
XMRig
0ab26a1619 Restored algo field in login request. 2019-07-18 22:35:15 +07:00
XMRig
8ce00adda4 Restored "CPU READY" message. 2019-07-17 14:54:08 +07:00
XMRig
4f49533e98 Fixed warnings. 2019-07-17 05:33:13 +07:00
XMRig
bcae974ea1 Fixed build. 2019-07-17 05:01:12 +07:00
XMRig
2bf5ffb2df Class Mem replaced to VirtualMemory. 2019-07-17 04:57:58 +07:00
XMRig
20313cbc56 Implemented unified cryptonight and RandomX scratchpad memory. 2019-07-17 04:33:11 +07:00
XMRig
27f3008d79 Added initial support for new style threads launch method. 2019-07-16 22:10:50 +07:00
XMRig
dc87ef6062 Removed xmrig.h. 2019-07-13 19:10:17 +07:00
XMRig
6f27037f07 Added new nonce allocation method for dynamic/variable threads. 2019-07-11 16:15:51 +07:00
XMRig
8e2219b7c4 Fixed RandomX VM creation in some cases. 2019-07-10 10:26:10 +07:00
XMRig
270d3ba6a2 Added class RxVm. 2019-07-10 10:14:33 +07:00
XMRig
f42adafee0 Added classes Rx, RxAlgo, RxCache, RxDataset. 2019-07-10 01:53:05 +07:00
XMRig
ea1149a971 Added class JobResults. 2019-07-06 15:22:19 +07:00
XMRig
9bf4c2c98f Generate "rx" and "rx/wow" sections of CPU threads. 2019-07-06 11:31:12 +07:00
XMRig
9b14caa9f9 Merge branch 'evo' into feature-per-pool-algo 2019-07-06 10:49:31 +07:00
XMRig
8c02e20828 Quick fixes. 2019-07-02 22:57:08 +07:00
XMRig
b92807e8d8 Added support for multi-algorithm CPU threads settings. 2019-07-02 22:56:28 +07:00
SChernykh
915729bec6 Fixed MingGW compilation 2019-07-01 20:48:51 +02:00
SChernykh
6eb9d0963b Integrated RandomX, added RandomXL (Loki) 2019-07-01 20:11:51 +02:00
XMRig
62edb2fc0a Move CPU information classes to new location. 2019-06-29 09:51:23 +07:00
XMRig
dd875c7c37 Added class CpuConfig. 2019-06-28 22:28:40 +07:00
XMRig
66d62de681 Merge Assembly enum and Asm class. 2019-06-28 13:08:08 +07:00
XMRig
188338c493 Merge branch 'evo' into feature-per-pool-algo 2019-06-26 15:44:52 +07:00
XMRig
f7f2c09e89 Move RandowWOW to new global algorithm. 2019-06-25 08:21:40 +07:00
XMRig
2a07cf391d Allow disable RandomX support. 2019-06-18 06:11:53 +07:00
XMRig
3d17ba6af6 Merge branch 'feature-randomx' into evo 2019-06-18 05:33:30 +07:00
XMRig
b38e432647 Moved keccak files. 2019-06-17 04:06:38 +07:00
SChernykh
d0ce60a73a Fixed auto-config 2019-06-15 23:50:31 +02:00
XMRig
6990324681 Allow null algorithm for pools. 2019-06-16 03:50:22 +07:00
XMRig
b73c204e73 Fixed ARM mining code. 2019-06-15 00:28:16 +07:00
XMRig
1f0e3e501c Implemented new style algorithm definitions (except ARM), removed Algo and Variant enums. 2019-06-13 22:08:52 +07:00
XMRig
d7f42d54ad Added initial support for per pool algo option (mining code is broken). 2019-06-10 20:46:29 +07:00
XMRig
b684150336 Moved Algorithm class. 2019-06-09 16:46:44 +07:00
XMRig
d9eb700e03 Renamed macros for enable/disable algorithms. 2019-06-09 15:29:26 +07:00
XMRig
09cdddc7f6 Fixed ARM build, again. 2019-06-04 19:49:54 +07:00
XMRig
d587eebaf2 Move files. 2019-06-04 19:20:33 +07:00
XMRig
ac43cd4f9c Added unprotectExecutableMemory for future use. 2019-06-04 15:48:32 +07:00
XMRig
f620ffe899 #1026 Probably fixed iOS build. 2019-06-03 18:40:12 +07:00
XMRig
242ece7222 Simplified cn/r code. 2019-06-02 23:38:02 +07:00
XMRig
36fcdf3f9d Fixed ARM build. 2019-06-02 21:06:30 +07:00
XMRig
ba94c08bf5 Moved mm_malloc.h 2019-06-02 20:57:49 +07:00
XMRig
8dc586283f Fixed Linux build. 2019-06-02 19:58:16 +07:00
XMRig
fc655d1b8d Moved common memory primitives to new VirtualMemory class. 2019-06-02 19:43:56 +07:00
XMRig
d77e404439 Merge branch 'dev' into evo 2019-04-17 17:42:22 +07:00
XMRig
f9f7ef26b8 #1012 Added checks for _rotr. 2019-04-16 01:20:50 +07:00
XMRig
933c0d40b7 Merge branch 'dev' into evo 2019-03-27 19:20:12 +07:00
Tony Butler
29373c4226 Fix compilation with Clang 3.5 for those with limited compiler choices
Performance similar to gcc7+ on systems where gcc4 is the only alternative
2019-03-15 07:19:47 -06:00
XMRig
d57b41c673 Sync changes. 2019-03-14 18:42:27 +07:00
SChernykh
1bb8f77b52 Unified ASM functions signature 2019-03-13 22:00:44 +01:00
XMRig
80a7aa2497 #975 Fixed crash on Linux if used double thread. 2019-03-07 14:52:40 +07:00
XMRig
0bbeafde65 Added "cn/zls" (Zelerius) and "cn/double" (X-CASH) algorithms. 2019-03-05 18:29:13 +07:00
XMRig
21d9ad6dbc Fix MSYS2 build. 2019-03-05 02:11:34 +07:00
SChernykh
154806ac74 CryptoNight v8 ReverseWaltz (+asm code and all test vectors)
Co-Authored-By: Vitalius Parubochyi <eddragonwolf@users.noreply.github.com>
2019-03-04 19:57:33 +01:00
SChernykh
123e7cf0b8 Merge remote-tracking branch 'upstream/dev' into dev 2019-03-04 17:43:22 +01:00
SChernykh
9f2d821970 Optimized cn/r asm code
Average over 100 block heights:
Coffee Lake +0.1%
Ryzen +0.4%
Sandy Bridge +1.5%
2019-03-04 17:39:49 +01:00
XMRig
18a9803e5e Removed unnecessary ASM files duplicates for MSYS2. 2019-03-04 14:40:22 +07:00
XMRig
f2574c2a41 Use machine friendly test data for cn/r and cn/wow algorithms. 2019-03-04 00:42:17 +07:00
XMRig
4ebfc135e0 Build whole CryptonightR_gen.cpp only if ASM used. 2019-03-03 17:33:27 +07:00
SChernykh
d4d0c69b5d Fixed compilation error in Linux 2019-02-24 20:23:52 +01:00
SChernykh
488cec09dd Optimized soft AES implementations
cn-pico: +6.7%
cn/half: +6.2%
cn/2: +4.3%
cn-heavy: +9.1%
cn/wow, cn/r: 2.4-2.6 times faster
2019-02-24 20:04:09 +01:00
XMRig
1bd51dcf2e Fixed msvc2015/msys2 build & code cleanup. 2019-02-19 09:15:06 +07:00
SChernykh
764767d317 Support for Cryptonight variant 4 (Monero) 2019-02-17 18:17:14 +01:00
XMRig
33a3ae59bd Removed "cn/r" alias and fixed build without ASM. 2019-02-13 00:18:40 +07:00
XMRig
a6813ef4f5 Temporary added "cn/r" alias for test pool. 2019-02-11 05:46:43 +07:00
SChernykh
36ce144d35 Fixed ARM code 2019-02-10 16:04:24 +01:00
SChernykh
65dab8371b Removed unused variable 2019-02-10 15:46:55 +01:00
SChernykh
c2e15e2b86 Fixed ARM compilation 2019-02-10 15:34:31 +01:00
SChernykh
e3f2c38fff CryptonightR support for Wownero 2019-02-10 15:21:17 +01:00
XMRig
aabdff2cc9 Fixed floating-point rounding, resolved conflict between cn/2 and cn/gpu. Thanks @SChernykh. 2019-02-06 00:38:55 +07:00
XMRig
3f8898f228 Sync changes. 2019-02-05 18:47:54 +07:00
XMRig
5f113a47cf Fix typo. 2019-02-03 20:34:24 +07:00
XMRig
f4170ec7bc Add ARM support for cn/gpu. 2019-02-03 20:28:13 +07:00
XMRig
eac6a97a2e Fix Linux build. 2019-02-03 14:48:11 +07:00
XMRig
bd4bc9ba4d Added reference implementation for cn/gpu (cn-gpu). 2019-02-03 14:44:23 +07:00
XMRig
bc26d2ede6 #904 Add ASM implementation. 2019-01-21 00:32:24 +07:00
XMRig
36b01f136f #904 Initial support for "cn-pico/trtl". 2019-01-20 19:52:44 +07:00
SChernykh
e0f5066ded Correct FP rounding mode for cn/half 2019-01-17 00:49:48 +01:00
SChernykh
d1f551da2c Fixed compilation error on Windows 2019-01-16 00:24:34 +01:00
SChernykh
6425c53d61 Fixed crash in patchCode() on Linux 2019-01-16 00:09:00 +01:00
XMRig
a98c475a3c Fixed wrong ASM code alignment on macOS, thanks @SChernykh. 2019-01-15 18:18:04 +07:00
XMRig
17f28667b3 Code-style/copyright cleanup. 2019-01-15 02:15:36 +07:00
SChernykh
56cacbd5bc Fixes for Visual Studio 2019-01-14 16:38:28 +01:00
SChernykh
8b9d5cff91 Added ASM code patching when loading
For CNv2 variants with different iterations and memory size.
2019-01-14 15:34:55 +01:00
XMRig
492449e9fb #899 Add ASM implementation for cn/half. 2019-01-14 18:09:16 +07:00
XMRig
b43336582d Rename ASM files. 2019-01-13 23:00:41 +07:00
XMRig
67863a427d Rename "cn/xtlv9" to "cn/half". 2019-01-13 19:42:27 +07:00
XMRig
1382857c83 #899 Fixed ARM build. 2019-01-13 15:24:04 +07:00
XMRig
84c2cadc50 #899 Initial support for "cn/xtlv9" (C++ only). 2019-01-13 15:03:36 +07:00
XMRig
735180ac04 Fixed MSVC 2015 build. 2018-10-22 23:17:54 +07:00
XMRig
06a84499d7 Fixed MSYS2 build & copyright 2018-10-22 23:08:29 +07:00
SChernykh
4b91978af6 Added asm optimized code for AMD Bulldozer 2018-10-21 18:29:03 +02:00
XMRig
152c4f2f1b #768 Fixed build error with MSVC 2015 and enabled ASM code. 2018-10-02 17:50:19 +03:00
Roboto12
fbba3d1be6
Update Asm.cpp
parse(value.IsBool()) should be changed to parse(value.GetBool()), otherwise if the 'asm' parameter in config has a boolean value, it will be parse as 'true' even if it's actually 'false'.
2018-09-28 19:18:37 +03:00
XMRig
0d9db273a0 Fix template declaration. 2018-09-25 09:40:09 +03:00
XMRig
1a3de05096 Added ASM code for double hash mode, thanks @SChernykh. 2018-09-25 09:25:47 +03:00
XMRig
ebcdac7d13 Fixed crash when use ASM code for MSYS2, thanks @SChernykh. 2018-09-24 20:43:31 +03:00
XMRig
c2fcf23855 Implemented "asm" option. 2018-09-24 14:19:26 +03:00
XMRig
ba65a34a01 Initial ASM wrapper. 2018-09-24 09:51:21 +03:00
XMRig
f163aad38c Fix macOS/Clang build. 2018-09-23 20:45:10 +03:00
XMRig
dd27c42293 Initial compile with ASM. 2018-09-23 20:16:33 +03:00
SChernykh
d8ca5ef205 Cryptonight variant 2 - final version
Reference code: https://github.com/monero-project/monero/pull/4404

I tested it on x86 with av=1-10 and on ARM with av=1-4, self test passed.
2018-09-22 17:21:32 +02:00
XMRig
93216a51f4 Fix compile error on macOS. 2018-09-14 22:04:52 +03:00
XMRig
23914e9a9f "xmrig::cn_uses_variant1" replaced to "xmrig::cn_base_variant". 2018-09-10 18:35:12 +03:00
XMRig
b948474d01 Small fixes. 2018-09-01 00:00:38 +03:00
XMRig
075565e6fa Fix invalid hashes with gcc 7.1. 2018-08-31 23:32:33 +03:00
XMRig
eef4d9b102 Fixed 32 bit support. 2018-08-31 23:19:10 +03:00
XMRig
f11aad515b Fixed gcc build. 2018-08-31 21:51:34 +03:00
SChernykh
ea1658c818 Fixed spaces 2018-08-29 20:27:17 +02:00
SChernykh
7c4b718789 Fixed performance degradation for v0 & v1 2018-08-29 20:15:08 +02:00
SChernykh
f151c7131d Removed excess code for v0 & v1 2018-08-29 19:52:33 +02:00
SChernykh
36a562e1f1 Cryptonight variant 2 support
Reference code: https://github.com/monero-project/monero/pull/4218
2018-08-28 23:42:15 +02:00
XMRig
0041e9f0c1 Add new algorithms for ARM. 2018-07-10 00:29:16 +07:00
XMRig
969a26fb5d Optimize cn-heavy/tube. 2018-07-09 22:28:53 +07:00
XMRig
dac12a122f Add cn-heavy/tube. 2018-07-09 20:21:53 +07:00
XMRig
2702b6ffc8 Add reference hashes for cn/xao and cn/rto. 2018-07-09 16:54:39 +07:00
XMRig
25bac30862 Added "cn/xao" and "cn/rto". 2018-07-09 16:12:45 +07:00
XMRig
a8de81a51b #714 Simplify cn-heavy/xhv. 2018-07-09 00:23:27 +07:00
XMRig
6a7a7ada2e Fix ARM build. 2018-06-11 15:44:45 +07:00
XMRig
dab4239aca Added support for cn-heavy/xhv. 2018-06-11 12:00:59 +07:00
XMRig
8908c2c027 Added support for "cn/msr" also known as "cn-fast". 2018-06-10 19:48:34 +07:00
XMRig
1748a7bd57 Fix double hash mode too. 2018-06-03 05:42:10 +07:00
XMRig
6cf24936df #551 Fixed cn-heavy for ARMv8. 2018-06-03 02:56:49 +07:00
XMRig
651637d637 #446 Better fix, second variable always aligned. 2018-06-03 00:22:26 +07:00
XMRig
26ee5028e1 Use native checks instead of XMRIG_ARMv8. 2018-06-03 00:09:59 +07:00
XMRig
d900a6d9dd #446 Fixed SIGBUS error on 32 bit ARM CPUs. 2018-06-02 04:37:12 +07:00
XMRig
a00024cf51 Fixed ARMv8 build. 2018-05-05 22:44:20 +07:00
XMRig
3df99fbced Add Stellite (XTL) support as cn/xtl. 2018-04-27 00:28:52 +07:00
XMRig
41e8c4f887 Send supported algorithms to pool in login request. 2018-04-26 15:02:01 +07:00
XMRig
ba5f92c6dd Added support for cn-lite/ipbc. 2018-04-25 18:31:18 +07:00
XMRig
ca149d2eed Sync changes with proxy. 2018-04-25 14:48:32 +07:00
XMRig
274992e50d Basic cryptonight-ipbc definition. 2018-04-21 00:19:33 +07:00
XMRig
98e7308597 Move keccak to common code. 2018-04-20 14:45:51 +07:00
XMRig
2d2e60a197 Fix x86 build. 2018-04-20 10:14:33 +07:00
XMRig
14576f599c Fix ARMv7 build. 2018-04-19 19:44:17 +07:00
XMRig
e119f7f402 Rearrange test vectors, for catch cn-heavy bug. 2018-04-19 13:50:06 +07:00
XMRig
ad94e9a7d2 Simplify ARM implementation. 2018-04-19 11:54:11 +07:00
XMRig
9e3f2ae9f9 Added x3 x4 x5 hashing modes. 2018-04-16 15:40:37 +07:00
XMRig
6b4f2d0a91 Fixed ARM build. 2018-04-15 12:58:17 +07:00
XMRig
9125b6c251 Rewrite memory allocation. 2018-04-15 11:08:47 +07:00
XMRig
51422f4b1e Move xmrig.h to common/xmrig.h. 2018-04-13 07:00:51 +07:00
XMRig
b13640e4a1 Fixes for build without cn-lite and cn-heavy. 2018-04-12 11:38:43 +07:00
XMRig
ccbb78d4e9 Improved performance for cryptonight v7. 2018-04-09 21:56:15 +07:00
XMRig
3a67ee6d11 Small fixes. 2018-04-06 23:32:54 +07:00
XMRig
4e8ef7c6ed Added cryptonight-heavy support for ARM 2018-04-03 17:51:06 +07:00
XMRig
26e1b14020 Added test hashes for self test. 2018-04-03 17:19:01 +07:00
XMRig
dd6bc339bf First working cryptonight-heavy. 2018-04-03 16:55:41 +07:00
XMRig
5c6ec587ac Move selfTest to threads, remove legacy CryptoNight.cpp. 2018-04-03 14:51:05 +07:00
XMRig
903b243308 New style function selector. 2018-04-03 02:55:28 +07:00
XMRig
a042cbf885 Added classes IThread, CpuThread and API endpoint "GET /1/threads". 2018-04-01 22:49:21 +07:00
XMRig
aac7b0404a Options class replaced to xmrig::Config. 2018-03-31 16:29:47 +07:00
XMRig
1011fd4891 Partial fix for ARMv7 2018-03-24 10:14:21 +07:00
XMRig
2de5d92d3a Removed unnecessary pointers cast. 2018-03-18 05:48:19 +07:00
XMRig
7adf30e326 Remove align.h. 2018-03-14 17:11:51 +07:00
XMRig
125072a30e Added test hashes for AEON. 2018-03-13 01:29:31 +07:00
XMRig
aec31c43c0 Better v1 PoW implementation, added variant option. 2018-03-12 22:29:44 +07:00
XMRig
83e5832bc1 Some small fixes. 2018-03-12 14:44:23 +07:00
XMRig
79779b51da Added reference hashes. 2018-03-07 15:32:44 +07:00
XMRig
8b60585004 PoW changes WIP 2018-03-06 21:34:20 +07:00
XMRig
df6a397e52 Update copyright and move version into Job class. 2018-03-06 17:06:07 +07:00
Lee Clagett
48b1de0b59 Changes for the Monero v1 PoW 2018-03-02 22:17:29 +00:00
XMRig
184f79ad3f Fix code style, replace tabs to space #2. 2018-02-08 17:21:12 +07:00
XMRig
e78e810cfe Fix code style, replace tabs to space. 2018-02-08 17:02:32 +07:00