XMR-Stak configuration update guide from v2.4 to v2.5
Intro
This topic for guys who is lazy to read full miner manual and simply wants to upgrade your existing xmr-stak config to v2.5.
Also I have added some useful general information for thread tuning.
Please note that this is a guide to updating existed the configuration, rather than tuning/tweaking.
XMR-Stak versions
In Hive Linux client 0.5-78 available xmr-stak 2.5 with forks from fireice-uk (original) and fork from indeedminers. This miners ready for upcoming Monero hardfork.
From fireice-uk requires CUDA 9.2+ drivers 396+ for NVidia backend to start.
From indeedminers requires CUDA 9.0+ so it can be run on any Hive client 0.5 series
Above meaningful only for NVidia cards. For AMD you get a warning message and it’s can be disabled or another words ignore this.
Fork indeedminers from 0.5-78 broken for cnv8 support you can use this quick fix solution before 0.5-79 released.
General config - config.txt
Main function of this part of config is set of algorithm which should be used for mining. It’s can be coin or algorithm name (see table below for details).
"currency": "monero"
Available coins and algorithm for “currency” parameter
Currency | Profile analog | Hive OC profile |
---|---|---|
aeon7 | cryptonight_aeon | cryptonight-lite-v7 |
bbscoin | cryptonight_aeon | cryptonight-lite-v7 |
bittube | cryptonight_bittube2 | cryptonight-saber |
cryptonight | cryptonight | cryptonight |
cryptonight_bittube2 | cryptonight_bittube2 | cryptonight-saber |
cryptonight_masari | cryptonight_masari | cryptonight-fast |
cryptonight_haven | cryptonight_haven | cryptonight-xhv |
cryptonight_heavy | cryptonight_heavy | cryptonight-heavy |
cryptonight_lite | cryptonight_aeon | cryptonight-lite-v7 |
cryptonight_lite_v7 | cryptonight_aeon | cryptonight-lite-v7 |
cryptonight_v7 | cryptonight_v7 | cryptonight-v7 |
cryptonight_v8 | cryptonight_monero_v8 | cryptonight-v8 |
cryptonight_v7_stellite | cryptonight_stellite | cryptonight-xtl |
graft | cryptonight_v7 | cryptonight-v7 |
haven | cryptonight_haven | cryptonight-xhv |
intense | cryptonight_v7 | cryptonight-v7 |
masari | cryptonight_masari | cryptonight-fast |
monero | cryptonight_monero_v8 | cryptonight-v8 |
qrl | cryptonight_v7 | cryptonight-v7 |
ryo | cryptonight_heavy | cryptonight-heavy |
stellite | cryptonight_stellite | cryptonight-xtl |
turtlecoin | cryptonight_aeon | cryptonight-lite-v7 |
AMD Backend - amd.txt
Threads tuning changes in v2.5
Example tuning for 1 thread v2.4 vs v2.5
v2.4.x
{ "index" : 0, "intensity" : 1000, "worksize" : 8, "affine_to_cpu" : false, "strided_index" : 2, "mem_chunk" : 16, "comp_mode" : true },
v2.5.x
{ "index" : 0, "intensity" : 1000, "worksize" : 8, "affine_to_cpu" : false, "strided_index" : 2, "mem_chunk" : 16, "unroll" : 8, "comp_mode" : true },
So you need this parameter for every thread using in your AMD config
"unroll" : 8,
Rules
- The maximum
intensity
is GPU_MEMORY_MB / 2 - 128. For cards with 4Gb and more memory lower value then that. -
worksize
of16
or8
is optimal -
unroll
valid range [1;128] where 1 - is no unroll. It’s new option for 2.5 which allow to control how often the POW main loop is unrolled. No tuning suggestion yet.
NVIDIA Backend - nvidia.txt
Threads tuning changes in v2.5
Example tuning for 1 thread v2.4 vs v2.5
v2.4.x
{ "index" : 0, "threads" : 17, "blocks" : 60, "bfactor" : 0, "bsleep" : 0, "affine_to_cpu" : false, "sync_mode" : 3, }
v2.5.x
{ "index" : 0, "threads" : 17, "blocks" : 60, "bfactor" : 0, "bsleep" : 0, "affine_to_cpu" : false, "sync_mode" : 3, "mem_mode" : 1, },
So you should adding this parameter for every threads using in your NVidia config
"mem_mode" : 1,
Rules
- Threads * Blocks * 2 <= Size of GPU avai memory
- Block mod SMX == 0 (division without remainder)
Following table can be usefull:
GTX Model | Memory | Cores | SMX | Blocks | CN Threads | CNH Threads |
---|---|---|---|---|---|---|
Titan Xp | 12 | 3840 | 30 | 120 | 32 | 25 |
Titan X | 12 | 3584 | 28 | 112 | 32 | 27 |
1080 Ti | 11 | 3584 | 28 | 112 | 32 | 25 |
1080 | 8 | 2560 | 20 | 80 | 32 | 25 |
1070 Ti | 8 | 2432 | 19 | 76 | 32 | 26 |
1070 | 8 | 1920 | 15 | 60 | 32 | 32 |
1060 | 6 | 1280 | 10 | 40 | 32 | 32 |
1060 | 3 | 1152 | 9 | 36 | 32 | 21 |
1050 Ti | 4 | 768 | 6 | 24 | 32 | 32 |
1050 | 2 | 640 | 5 | 20 | 32 | 25 |
CPU Backend - cpu.txt
Threads tuning changes in v2.5
v2.4.x
"cpu_threads_conf" : [{"low_power_mode":false,"no_prefetch":true,"affine_to_cpu":0},{"low_power_mode":false,"no_prefetch":true,"affine_to_cpu":1}],
v2.5.x
"cpu_threads_conf" :[{ "low_power_mode":false,"no_prefetch":true,"asm":"auto","affine_to_cpu":0 },{"low_power_mode":false,"no_prefetch":true,"asm":"auto","affine_to_cpu":1}],
So to convert your CPU config simple add
"asm":"auto"
This option instruct miner which CPU optimized code should be used.
How to disable CPU backend?
For disable this backend use
"cpu_threads_conf" : null,
Hive and XMR-Stak
My personal suggest for best performance results on Cryptonight:
You need use Hive image which used Linux kernel 4.13 and drivers 17.50 (also 18.10 tested). So in this case latest stable image 0.5-57 can help.
On Linux kernel 4.10 and drivers 17.40 (Hive images 0.5-32 and older) 2-threads configuration works not as expected.
I don’t tested yet Hive blended edge image for cryptonight performance.
I’m remind that web update don’t update Linux kernel and drivers!