Commit graph

376 commits

Author SHA1 Message Date
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