Commit Graph

258 Commits

Author SHA1 Message Date
XMRig
0f444b747e Merge branch 'dev' into evo 2019-09-28 03:25:59 +07:00
XMRig
b1188210e2 Set "rx/0" as user visible RandomX name. 2019-09-28 03:25:03 +07:00
XMRig
9694164318 Merge branch 'dev' into evo 2019-09-27 05:54:33 +07:00
XMRig
335092f70f Added coin option. 2019-09-27 05:41:45 +07:00
SChernykh
1b33b073f3 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
d346994fbd 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
7303be4c46 Revert instructions_portable.cpp to avoid warning on gcc compilers. 2019-09-22 00:59:53 +07:00
SChernykh
46ef04a4cf Added JIT compiler for RandomX on ARMv8 2019-09-21 10:10:52 +02:00
XMRig
1aee003e4a Backport fixes from v4. 2019-09-20 14:54:18 +07:00
XMRig
3d754cc369 #1180 Fixed race condition in nonce reset. 2019-09-20 00:30:20 +07:00
XMRig
26e3d541b2 Use RxAlgo:base instead of switch. 2019-09-14 12:00:33 +07:00
XMRig
a3e66e94cf Fix compile warning, mostly struct/class inconsistency. 2019-09-13 18:21:05 +07:00
XMRig
1699443520 Merge branch 'dev' into feature-opencl 2019-09-12 13:16:42 +07:00
XMRig
9428659e72 Implemented OpenCL JIT mode. 2019-09-12 13:10:50 +07:00
XMRig
5dfe4ec100 Fixed invalid shares. 2019-09-12 10:00:12 +07:00
SChernykh
5fffeed646 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
e9b20fff81 Implemented VM mode for OpenCL RandomX. 2019-09-12 00:01:03 +07:00
XMRig
c4b49d4213 OpenCL RandomX WIP 2019-09-11 15:48:02 +07:00
SChernykh
0e34221026 Fix for 272 initialization threads 2019-09-09 08:15:46 +02:00
XMRig
9fb3f9e01c Initial RandomX source code prepare and compile. 2019-09-08 21:56:18 +07:00
XMRig
121bd87491 Split config generator to separated files. 2019-09-06 19:38:22 +07:00
XMRig
a74c04007f Print detailed information about OpenCL threads. 2019-09-05 13:00:40 +07:00
SChernykh
e2e4fe5f8c Optimized CFROUND
One less micro-op
2019-09-04 20:47:47 +02:00
SChernykh
fffe3c2e10 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
c91dcc6837 Relax cn algorithm constants definition. 2019-09-04 13:22:20 +07:00
XMRig
d948d8d06b cn/r part 2 of 2. 2019-09-04 11:23:04 +07:00
XMRig
df5fd65a45 Merge branch 'dev' into feature-opencl 2019-08-30 16:47:51 +07:00
XMRig
61c6edddc7 Removed Linux specific code from Windows only ASM file. 2019-08-30 13:49:58 +07:00
Matt Smith
8f4aa6871a 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
ab5d1a6cc9 Reverted intrin_portable.h 2019-08-28 07:20:01 +02:00
SChernykh
d8f78c1d19 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
716669ff96 Use external script to prepare OpenCL source. 2019-08-28 00:33:49 +07:00
SChernykh
fc670b2a58 Updated RandomX 2019-08-27 16:12:13 +02:00
XMRig
5588fa13c6 Removed cn/wow algorithm (coin forked to rx/wow). 2019-08-27 09:34:08 +07:00
XMRig
684321a7f2 Added classes IOclRunner, OclBaseRunner, OclCnRunner, OclRxRunner. 2019-08-26 04:44:01 +07:00
XMRig
be5caf0701 Added OpenCL source. 2019-08-25 23:06:04 +07:00
XMRig
b8982a4652 Start mining threads only after RandomX dataset initialization. 2019-08-25 20:28:15 +07:00
XMRig
c23a6f7a29 Added OclDevice and partially autoconfig. 2019-08-22 22:39:36 +07:00
XMRig
c644a533f6 Added hugepages support for Argon2. 2019-08-17 13:06:14 +07:00
XMRig
e747f8b06c Added MSVC support for Argon2. 2019-08-17 04:01:53 +07:00
XMRig
9861f9eadd Added selection for optimized Argon2 implementation. 2019-08-17 01:42:03 +07:00
XMRig
3660216ebc Fix prefix. 2019-08-16 04:16:29 +07:00
XMRig
54994d361b Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
XMRig
faf18262eb Added generic Argon2 implementation (conflicts with RandomX). 2019-08-16 00:31:29 +07:00
XMRig
e49300b11d Uniform signature for hugePages method. 2019-08-10 13:14:20 +07:00
XMRig
3b22609ced Disable HW AES for RandomX on ARM. 2019-08-09 15:36:34 +07:00
XMRig
e9408d659f Name for reference RandomX configuration changed to rx/text to avoid potential conflicts in future. 2019-08-09 14:26:00 +07:00
XMRig
990dc7dd51 uv_mutex replaced to std::mutex. 2019-08-09 01:00:21 +07:00
XMRig
d134bd24a5 Added L2 information to Algorithm. 2019-08-08 14:03:52 +07:00
XMRig
3c5d27ea09 Added maxIntensity method to Algorithm. 2019-08-07 18:51:32 +07:00