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