SChernykh
3723fa777d
Tuned KawPow OpenCL kernel
...
Removed unnecessary memory barrier.
2020-05-29 13:10:24 +02:00
SChernykh
9725e14a02
KawPow: fixed switch back from dev donate
2020-05-29 10:49:22 +02:00
SChernykh
50e1f7217e
Update EthStratumClient.cpp
2020-05-29 08:39:03 +02:00
SChernykh
d7c9d08614
Added listener verify callback
2020-05-29 08:36:59 +02:00
SChernykh
bf45453a0f
Fixed stratum login notification
2020-05-29 08:31:53 +02:00
SChernykh
474f97695e
Hashrate display fixes
2020-05-28 22:23:31 +02:00
SChernykh
ee4c5712e9
Merge remote-tracking branch 'upstream/evo' into evo
2020-05-28 22:06:10 +02:00
SChernykh
2f1940ca58
Fixed hashrate and diff display for KawPow
2020-05-28 22:03:28 +02:00
SChernykh
3d622ff2a9
KawPow fix for retarted AMD OpenCL compiler
2020-05-28 20:27:25 +02:00
SChernykh
7056f67726
KawPow performance fix for AMD Navi
2020-05-28 18:28:23 +02:00
SChernykh
3168919b83
KawPow: tuned work group size for OpenCL
2020-05-28 10:58:06 +02:00
SChernykh
f24da62db0
KawPow WIP
2020-05-27 16:19:57 +02:00
SChernykh
b8a706948a
Optimized RandomX dataset initialization
...
- Use single Argon2 implemenation
- Auto-select the fastest Argon2 implementation for RandomX
2020-05-03 20:44:59 +02:00
SChernykh
b2dcacc679
Improved JSON config error reporting
...
Show incorrect lines in config.json together with line number and position.
2020-04-29 11:08:45 +02:00
SChernykh
9a6baa375d
Refactored CFROUND
2020-04-21 15:44:04 +02:00
SChernykh
c43a848415
Fix code style
2020-04-09 14:31:42 +02:00
SChernykh
fe96036607
RandomX JIT refactoring
...
- Smaller memory footprint
- A bit faster overall
2020-04-09 14:24:54 +02:00
SChernykh
3d5a35885e
Fixed VM destruction
2020-04-08 08:31:53 +02:00
SChernykh
73cb010b5d
Fix off-by-one error
2020-04-07 18:53:08 +02:00
SChernykh
9bd78a9603
Fixed pool lock
2020-04-07 18:48:02 +02:00
SChernykh
5449dfbc91
Use node number instead of affinity
2020-04-07 18:46:22 +02:00
SChernykh
e5d43089df
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
e793dd3be2
AstroBWT CUDA support
2020-04-04 11:05:44 +02:00
SChernykh
2ac0f7fa24
Fixed AstroBWT OpenCL for NVIDIA GPUs
2020-03-24 15:55:54 +01:00
SChernykh
c2260215b3
AstroBWT OpenCL code
2020-03-22 22:36:21 +01:00
SChernykh
f9c84ac456
Fix MacOS compilation
2020-03-11 16:35:52 +01:00
SChernykh
838bd14948
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
ea14d937f8
Activate MSR mod only for RandomX algorithms
2020-03-09 19:10:26 +01:00
SChernykh
c565ed93cd
Fixed invalid AstroBWT hashes after algo switching
2020-03-07 16:41:33 +01:00
SChernykh
1db5a6d0b8
Fixed compilation withut randomx/argon2
2020-03-06 07:22:57 +01:00
SChernykh
19fc7b6f43
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
SChernykh
c76bd4fc63
Fixed new block detection for Dero solo mining
2020-03-03 17:53:19 +01:00
SChernykh
1ccf408ba7
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
c6e9e2308d
Optimized CFROUND
...
Shorter version using BMI2 instructionns
2020-02-21 19:00:58 +01:00
SChernykh
6f66a0375f
Fixed 32-bit compilation
2020-02-21 16:08:23 +01:00
SChernykh
e030bc8aa6
Merge branch 'dev' of https://github.com/SChernykh/xmrig into dev
2020-02-20 20:59:25 +01:00
SChernykh
c7b4a89832
Tuned JIT compiler
...
0.3-0.4% speedup depending on CPU.
2020-02-20 20:59:22 +01:00
SChernykh
783f79f264
Refactored fma_soft() in randomx_vm.cl
...
Fixes #1554 (hopefully)
2020-02-18 18:19:03 +01:00
SChernykh
ab62ddb2e3
Fix crash when share is found before pool login
2020-02-17 20:22:09 +01:00
SChernykh
a75ee09704
Added RandomX JIT for AMD Navi GPUs
2020-02-13 20:15:08 +01:00
SChernykh
4c8413f584
Fixed generic OpenCL code for AMD Navi
2020-02-10 22:00:40 +01:00
SChernykh
9e76b6d672
Workaround for new AMD drivers (OpenCL)
2020-02-04 23:11:46 +01:00
SChernykh
e7c3bb7ba6
Crash fix for Bullodzer CPUs
2020-02-02 17:16:59 +01:00
SChernykh
d6d6d8b350
Fixed setThreadAffinity()
...
Added 1 ms sleep to guarantee thread rescheduling to the correct CPU core before returning.
2020-01-28 19:39:02 +01:00
SChernykh
fda20ff798
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
94ff5d1e49
Fix compile error
2020-01-24 14:09:07 +01:00
SChernykh
0ce4ac9a90
Fix crash on Linux
2020-01-24 13:34:12 +01:00
SChernykh
209d7e3223
Optimized CFROUND
2020-01-22 20:11:00 +01:00
SChernykh
eaaf157997
Added support for BMI2 instructions
2020-01-21 19:44:56 +01:00
SChernykh
efdbda40f0
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
aac5ce39a4
MSR preset for Bulldozer CPUs
...
Also fixed verbose output for MSR presets with masks.
2020-01-14 19:27:34 +01:00
SChernykh
716df54ac0
JIT compiler: removed unnecessary memcpy from generateProgram()
2020-01-13 18:00:41 +01:00
SChernykh
b4b2a19b33
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
a976379f19
JIT compiler tweaks
2020-01-06 13:57:48 +01:00
SChernykh
07e36a6cf0
Refactor Ryzen fix to fix compilation issues
2019-12-31 11:55:07 +02:00
SChernykh
58472d0674
Cleanup
2019-12-30 20:55:03 +02:00
SChernykh
467fbfdc77
Auto-config for mobile Ryzen APUs
2019-12-30 20:53:21 +02:00
SChernykh
a1f223dcb0
Fix for 1st-gen Ryzen crashes
2019-12-27 12:40:38 +02:00
SChernykh
18ceec0022
Fixed crash with GCC compiler
2019-12-18 17:32:57 +01:00
SChernykh
3bb6b332db
Fixed AVX detection
2019-12-18 12:20:21 +01:00
SChernykh
5492d9270f
Update jit_compiler_x86_static.S
2019-12-18 09:13:21 +01:00
SChernykh
4237ed6fad
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
fc3c995ec2
Added bit masks for MSR registers
2019-12-17 23:55:22 +01:00
SChernykh
9b5ccb55a5
RandomSFX (Safex Cash variant) support
2019-12-16 19:36:29 +01:00
SChernykh
a1d359f045
Use unique service name for WinRing0 driver
...
To avoid error 1072
2019-12-15 19:28:14 +01:00
SChernykh
53919c1281
Fixed thread count for MSR mod
2019-12-14 16:30:46 +01:00
SChernykh
5cf846b28d
MSR mod for Windows
2019-12-14 16:04:37 +01:00
SChernykh
203fdbc0fd
RandomX boost script for Linux
2019-12-12 18:25:28 +01:00
SChernykh
9629001fe4
Update jit_compiler_x86_static.S
2019-12-09 20:30:37 +01:00
SChernykh
7e724aa70d
More optimizations for Ryzen
2019-12-09 20:29:05 +01:00
SChernykh
e35ce64e14
Fixed assembly selection for RandomX when it's on Auto
2019-12-09 18:59:49 +01:00
SChernykh
08eef1bf9a
Fix GCC compilation
2019-12-08 16:51:37 +01:00
SChernykh
8a1679ec89
Fixed indentation
2019-12-08 16:20:46 +01:00
SChernykh
2ed2629653
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
SChernykh
46e3823d3f
Fixed compilation on systems without 1GB pages support
2019-12-06 13:55:33 +01:00
SChernykh
c188d885ee
Fix ARM compilation
2019-12-06 13:43:59 +01:00
SChernykh
0a5c12295d
Added 1GB hugepages support for Linux
2019-12-05 19:39:47 +01:00
SChernykh
7050eaa272
Merge remote-tracking branch 'upstream/dev' into dev
2019-12-05 16:33:45 +01:00
SChernykh
823857fc72
Merge remote-tracking branch 'upstream/dev' into dev
2019-12-04 10:24:10 +01:00
SChernykh
8c853ea8f2
Update VirtualMemory_unix.cpp
2019-12-03 20:25:51 +01:00
SChernykh
4b0f3fab83
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
SChernykh
6e96a38a87
Use XMRIG_ARMv8 macro
2019-11-15 16:12:26 +01:00
SChernykh
d13c77ddb9
Fix for 32-bit ARM compilation
2019-11-15 16:00:48 +01:00
SChernykh
74d6a35f1a
Fix function names for clang on Apple
2019-11-12 14:42:21 +01:00
SChernykh
321a0b882f
Optimized hashrate calculation
2019-11-09 17:29:12 +01:00
SChernykh
afff2f0a6f
Updated required API version
2019-11-05 23:27:15 +01:00
SChernykh
1a001aea29
RandomX: added support for dataset on host
2019-11-05 22:24:48 +01:00
SChernykh
b3740870b5
Fix VS2019 compilation
2019-10-26 13:32:30 +02:00
SChernykh
e8c1a8bdd0
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
c4ce4baa69
Fixed __builtin___clear_cache detection
2019-10-18 18:04:13 +02:00
SChernykh
a9a4f561ce
Force HAVE_BUILTIN_CLEAR_CACHE for GNU compilers
...
They always have __builtin___clear_cache
2019-10-18 17:39:57 +02:00
SChernykh
c67f2c2f51
Update jit_compiler_a64.cpp
2019-10-18 16:36:50 +02:00
SChernykh
c31f2bb92b
Update jit_compiler_a64.cpp
2019-10-18 16:32:01 +02:00
SChernykh
5af02671ee
Update jit_compiler_a64.cpp
2019-10-18 16:28:49 +02:00
SChernykh
ab1175a1a7
Fixed code cache cleanup on iOS/Darwin
2019-10-18 16:26:15 +02:00
SChernykh
0640950d44
Fix ARM64 code alignemtn
2019-10-18 16:18:45 +02:00
SChernykh
e7f137bd23
Sync with latest RandomX code
...
Fix a possible out-of-bounds access in superscalar generator
2019-10-13 22:13:29 +02:00
SChernykh
e766e11dfa
RandomX (Arqma variant) support
2019-10-08 19:00:19 +02:00
SChernykh
9314205de2
Refactored JIT compiler for x86, small RandomX speedup
2019-10-05 21:40:21 +02: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