XMR-Stak configuration update guide from v2.4 to v2.5

cryptonight
xmr-stak
monero
cryptonight-v8

#1

:uk: 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

  1. The maximum intensity is GPU_MEMORY_MB / 2 - 128. For cards with 4Gb and more memory lower value then that.
  2. worksize of 16 or 8 is optimal
  3. 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

  1. Threads * Blocks * 2 <= Size of GPU avai memory
  2. 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!

Other useful info

Monero hardfork countdown timer


XMR Stak, CN heavy, rx580 8gb, max 650 h\s
Custom Miner Integration
Libxmrstak_cudabackend_cuda object file: No such file or directory
#2

#3

#4

Test cryptonight-v8 xmr-stak configuration

Disclaimer

This is absolutely not necessary to do or totally useless. This message is only for checking your settings if you doubt them.


Before Monero hardfork you can test and tune your rig following way.
Some little coin [WOW] Wownero already forked to cryptonight-v8 so we can use it for benchmarking and testing.
I’m already done Hive template for this coin.
If you register on TradeOgre exchange you can get your wallet for this coin there or use this one:
So2ifgjqGMZJhCrqpFMotQQAiJAiATuJLNAK2HrPLoNzK8hkqNbf9t8gmx6bzAQrXRMnWnoELoiD6GTv8guPBRwH5ynQhS1akFa1BUTnB4DN

Type WOW
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5

%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5

Create Flight Sheet

  • select coin - WOW
  • select wallet
  • select pool - cryptoknight

%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5

Select miner - XMR-Stak and click on Setup Miner config
Set as on screenshot:

Click Apply changes button and then Create Flight Sheet.

Tune threads for AMD/NVidia/CPU as usual

With my settings I’m achieved on 8xRX470 rig 4Gb (except GPU1 - RX470/8Gb Hynix)


My settings for thread are ordinary:

{ "index" : 0, "intensity" : 1000, "worksize" : 8, "affine_to_cpu" : false, "strided_index" : 2, "mem_chunk" : 2, "unroll" : 8, "comp_mode" : true },

I’m using 2 threads as above per card and I’ll hope you know about it.
Core clock set as 1189MHz and memory clock depends on memory quality from 1920 to 2050MHz. It’s not the best rig of the world )))


#5

everything great
but, when i start the indeed miner it shows me 2.4.8 version(not the 2.5). Hive is upgraded to 0.5-78 already.
How to fix it?


#6

I’m already saw this fact. Seems like will be fixed at version 79 with some tuning xmr-stak which can give additional H/s in some rigs configurations (personally achieve several % boost)


#7

so, it’s impossible to make it to work.
Do I have to wait for the 79?


#8

Yes it will come little later


#9

Правильно я понял, что надо для двух потоков выставить в стаке? Может не хватает чего? Пример для 2 видеокарт RX 570:
“gpu_threads_conf” : [
{ “index” : 0, “intensity” : 768, “worksize” : 8, “affine_to_cpu” : false, “strided_index” : 2, “mem_chunk” : 16, “comp_mode” : true },
{ “index” : 0, “intensity” : 768, “worksize” : 8, “affine_to_cpu” : false, “strided_index” : 2, “mem_chunk” : 16, “comp_mode” : true },
{ “index” : 1, “intensity” : 768, “worksize” : 8, “affine_to_cpu” : false, “strided_index” : 2, “mem_chunk” : 16, “comp_mode” : true },
{ “index” : 1, “intensity” : 768, “worksize” : 8, “affine_to_cpu” : false, “strided_index” : 2, “mem_chunk” : 16, “comp_mode” : true },


#10

So, XMR-Stak 2.5 is expected before Monero hard fork or after?


#11

Сейчас дополню своими настройками к скриншоту во втором посту. Там получилось в среднем 950 с карты


#12

Already arrived with update 0.5-78


#13

карты 8 гигов или 4?


#15

Жду добавления настроек в виде скрина к посту…


#16

Hi, I never used xmr-stak before, only claymore for xmr. Just configured it and played with config, and I have about 10% lower hashrate. Is it normal?
rx570/580 4g/8g, none go over 850h/s. Tried with 1 and 2 threads. Any idea?


#17

Запустил WOWnero для теста, на RX580-8 около 700 с карты. Какие настройки дают 950???


#18

i have 584 and 574 in the same rig. when i set “intensity” more than 496 (2 threads/card) - the card hangs. so i have 584 - 740 h/s, 574 - 720H/s. Any suggestion?
and i get message “error cl_invalid_buffer_size when calling clCreateBuffer to create scratchpads buffer”


#19

Очень интересно, какие настройки дают 950, у меня получилось только 860 на rx 580-8.


#20

For IndeedMiners you can fix issue with this fork and don’t wait for update by entering this command via “Run command” from web interface
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Just copy-paste curl http://download.hiveos.farm/custom/get-xmr-stak.sh | sh click on Run and wait for a while


#21

I added to topic.

In my personal experience has also meaning Linux kernel and drivers for cryptonight performance.
I didn’t test Hive Blended test image for performance on Cryptonight but if we talk for old images here some IMHO useful information.
Hive images based on Linux kernel 4.10 and old drivers 17.40 for example a little bit slower then images based on kernel 4.13 and 17.50 or 18.10 drivers. So if you have old one then my suggestion update to the latest stable (currently 0.5-57 which has kernel 4.13 and AMD drivers 18.10).
Also some users approve what 17.50 best for cryptonight speed. I can’t add anything here - I have the same results.