Skip to content

Commit 7674293

Browse files
committed
Upgrade to 2.7.0-hide-2.2.0
1 parent c96ffe3 commit 7674293

26 files changed

+718
-296
lines changed

doc/img/interleave.png

12.3 KB
Loading

doc/tuning.md

+43-12
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
* [Choose `intensity` and `worksize`](#choose-intensity-and-worksize)
1111
* [Add more GPUs](#add-more-gpus)
1212
* [Two Threads per GPU](two-threads-per-gpu)
13+
* [Interleave Tuning](interleave-tuning )
1314
* [disable comp_mode](#disable-comp_mode)
1415
* [change the scratchpad memory pattern](change-the-scratchpad-memory-pattern)
1516
* [Increase Memory Pool](#increase-memory-pool)
@@ -83,13 +84,13 @@ If you are unsure of either GPU or platform index value, you can use `clinfo` to
8384
```
8485
"gpu_threads_conf" :
8586
[
86-
{
87-
"index" : 0, "intensity" : 1000, "worksize" : 8, "affine_to_cpu" : false,
88-
"strided_index" : true, "mem_chunk" : 2, "unroll" : 8, "comp_mode" : true
87+
{ "index" : 0, "intensity" : 1000, "worksize" : 8, "affine_to_cpu" : false,
88+
"strided_index" : true, "mem_chunk" : 2, "unroll" : 8, "comp_mode" : true,
89+
"interleave" : 40
8990
},
90-
{
91-
"index" : 1, "intensity" : 1000, "worksize" : 8, "affine_to_cpu" : false,
92-
"strided_index" : true, "mem_chunk" : 2, "unroll" : 8, "comp_mode" : true
91+
{ "index" : 1, "intensity" : 1000, "worksize" : 8, "affine_to_cpu" : false,
92+
"strided_index" : true, "mem_chunk" : 2, "unroll" : 8, "comp_mode" : true,
93+
"interleave" : 40
9394
},
9495
],
9596
@@ -107,19 +108,49 @@ Therefore adjust your intensity by hand.
107108
```
108109
"gpu_threads_conf" :
109110
[
110-
{
111-
"index" : 0, "intensity" : 768, "worksize" : 8, "affine_to_cpu" : false,
112-
"strided_index" : true, "mem_chunk" : 2, "unroll" : 8, "comp_mode" : true
111+
{ "index" : 0, "intensity" : 1000, "worksize" : 8, "affine_to_cpu" : false,
112+
"strided_index" : true, "mem_chunk" : 2, "unroll" : 8, "comp_mode" : true,
113+
"interleave" : 40
113114
},
114-
{
115-
"index" : 0, "intensity" : 768, "worksize" : 8, "affine_to_cpu" : false,
116-
"strided_index" : true, "mem_chunk" : 2, "unroll" : 8, "comp_mode" : true
115+
{ "index" : 0, "intensity" : 1000, "worksize" : 8, "affine_to_cpu" : false,
116+
"strided_index" : true, "mem_chunk" : 2, "unroll" : 8, "comp_mode" : true,
117+
"interleave" : 40
117118
},
118119
],
119120
120121
"platform_index" : 0,
121122
```
122123

124+
### Interleave Tuning
125+
126+
Interleave controls when a worker thread is starting to calculate a bunch of hashes
127+
if two worker threads are used to utilize one GPU.
128+
This option has no effect if only one worker thread is used per GPU.
129+
130+
![Interleave](img/interleave.png)
131+
132+
Interleave defines how long a thread needs to wait to start the next hash calculation relative to the last started worker thread.
133+
To choose a interleave value larger than 50% makes no sense because than the gpu will not be utilized well enough.
134+
In the most cases the default 40 is a good value but on some systems e.g. Linux Rocm 1.9.1 driver with RX5XX you need to adjust the value.
135+
If you get many interleave message in a row (over 1 minute) you should adjust the value.
136+
137+
```
138+
OpenCL Interleave 0|1: 642/2400.50 ms - 30.1
139+
OpenCL Interleave 0|0: 355/2265.05 ms - 30.2
140+
OpenCL Interleave 0|1: 221/2215.65 ms - 30.2
141+
```
142+
143+
description:
144+
```
145+
<gpu id>|<thread id on the gpu>: <last delay>/<average calculation per hash bunch> ms - <interleave value>
146+
147+
```
148+
`last delay` should gou slowly to 0.
149+
If it goes down and than jumps to a very large value multiple times within a minute you should reduce the intensity by 5.
150+
The `intensity value` will automatically go up and down within the range of +-5% to adjust kernel run-time fluctuations.
151+
Automatic adjustment is disabled as long as `auto-tuning` is active and will be started after it is finished.
152+
If `last delay` goes down to 10ms and the messages stops and repeated from time to time with delays up to 15ms you will have already a good value.
153+
123154
### disable comp_mode
124155

125156
`comp_mode` means compatibility mode and removes some checks in compute kernel those takes care that the miner can be used on a wide range of AMD/OpenCL GPU devices.

0 commit comments

Comments
 (0)