-
Notifications
You must be signed in to change notification settings - Fork 207
/
Copy pathDUAL_ETH_MINING.txt
196 lines (161 loc) · 9.16 KB
/
DUAL_ETH_MINING.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
Team Red Miner Dual Coin ETH Mining
===================================
2024-04-06 Updated with alephium info.
2023-04-19 Updated with ironfish info.
2023-01-27 Updated with short note about triple mining with zil.
2022-10-16 Updated for Kaspa dual mining.
TL;DR
-----
Supported algos are kaspa, ironfish (old algo), and alephium. To mine
ironfish instead of kaspa, replace all --kas and --kas_end with
--iron and --iron_end below. To mine alephium as the dual algo, replace
all --kas and --kas_end with --alph and --alph_end. The guide itself is
not updated after the initial version describing ETH+KAS.
To mine Ethash+Kaspa (or TON, which is a dead algo at the time of writing),
take a working TRM ethash command line and add a KAS section in the
middle or at the end:
--kas -o stratum+tcp://pool.woolypooly.com:3112 -u <kaspa wallet>.<worker> -p x --kas_end
If you don't want to dual mine on all devices, you can add a device
selection argument inside the --kas .. --kas_end clause. If you only
want to dual mine on gpu 0 and gpu 3 you would use:
--kas -d 0,3 -o stratum+tcp://pool.woolypooly.com:3112 -u <kaspa wallet>.<worker> -p x --kas_end
TRM's dual mining setup lets the user split the capacity between
ethash and the second algo using the standard --eth_config
argument. The higher intensity, the more capacity for ethash and less
for the dual algo. Therefore, you SHOULD remove any existing
--eth_config arguments in your ethash command line. They're not
applicable. Let the miner run the dual algo tuner once, then you can
add back a static config. The dual tuner will output a list of the
probed results.
Power draw will often be HIGH, especially on Vegas and Polaris
gpus. It depends on what clocks you're coming from for ethash. Use
core clock adjustments and the argument --dual_intensity (see --help
or USAGE.txt) to keep power draw in check.
Note: Kaspa has a very short block time (1 sec). This very frequent job
switching means the ethash hashrate might take a small hit from what the
tuner outputs as expected hashrate. Hashrate will also vary slightly between
30 sec hashrate prints. This is fully normal.
Last, see the dual mining section in USAGE.txt or the miner's
--help output for additional arguments.
NOTE: to enable triple mining with ZIL, just add an appropriate --zil
... --zil_end clause as per the instructions in DUAL_ZIL_MINING.txt.
Overview
--------
From v0.9.2, TRM includes support for true dual mining together with
ethash. All AMD gpus are now supported. Subsequent releases might add
support more dual mining algos. There are currently two supported dual
algos: Kaspa (KAS) and TON.
TRM's dual mining is configurable in the sense that the user decides
how the gpu capacity should be split between the two algos. This is
done with the normal --eth_config argument that decides how much gpu
capacity will be used by ethash. The remaining capacity is available
for the dual algo. The eth config intensities used for single algo
ethash should _NOT_ be carried over to a dual mining setup. The dual
mining ethash kernel is designed differently and does not target the
absolute max possible ethash hashrate. It rather tries to provide a
good trade-off between running a very competitive ethash hashrate
close to the max possible while also providing room for the dual algo
to operate.
Dual mining ETH+KAS
--------------------
To dual mine ethash and Kaspa, do as follows:
1) Start with a working ethash configuration for TRM.
2) If you have an --eth_config argument, remove the intensities. You
can keep the A/B/R-mode setting.
3) Add a Kaspa argument section that contains the pool(s) you want to
use for dual Kaspa mining. This follows the same principle as TRM's
dual ZIL mining setup. This added argument will enable dual Kaspa
mining on the woolypooly pool:
--kas -o stratum+tcp://pool.woolypooly.com:3112 -u <kaspa wallet>.<worker> -p x --kas_end
It's fully possible to insert the --kas ... --kaspa_end arguments
into e.g. a Hive flight sheet's custom miner arguments section to
enable dual mining, while still using Hive's builtin support for
configuring the ethash mining.
4) If you only want to dual mine on a smaller selection of gpus, you
can add a device selection argument inside the kas argument
list. For example, if you want to dual mine on gpu 0, 1 and 4 in
the rig but just do plain ethash on the rest you would use:
--kas -d 0,1,4 -o stratum+tcp://pool.woolypooly.com:3112 -u <kaspa wallet>.<worker> -p x --kas_end
5) If power draw is too high, or your card end up with strange low
hashrates for either eth or kaspa, use the --dual_intensity argument
to use less power and avoid being power throttled. This argument
will limit the gpu capacity used for the dual algo. Accepted values
are 0.0-1.0, where 0.6 means 60% capacity is used. You can provide
individual values per gpu in a comma-separate list. See USAGE.txt
or the miner's --help output for more info. Note that this argument
is now available for all gpus, not just Vega and Polaris as was the
case in the first releases.
Tuning
------
Dual mining will inevitably pull significantly more power than single
algo ethash. The user is advised to tune a single gpu by itself first
to assess power draw. Especially Vega and Polaris gpus need to be
handled delicately at first when testing.
Monitor gpus
All gpus with display(s) connected will have its dual intensity
throttled down to 0.65 automatically. This is the best way to avoid
sluggish behavior. If you want to override this, pass your own
--dual_intensity=X argument overriding the default choice.
Navi/Big Navi
Standard ethash clocks with a slight core voltage increase is a good
starting point for dual mining. After that, tuning is mostly a
function of achieving stability and how much power you want to
consume. Increasing core clk will increase the dual algo performance,
but at the cost of more power. Navis can now also use the
--dual_intensity=X argument to throttle the dual algo. Using
--dual_intensity=0.6 means the dual algo runs using 60% of the gpu
capacity available to it.
Vega
Test on a single gpu and be prepared for a 30-40% increase in power
draw. We suggest lowering the core clk as well. If the power draw is
too high for your setup, you can either throttle the whole gpu by
lower the core clk, or use the argument --dual_intensity=X to reduce
the gpu capacity used by the dual algo. By using
e.g. --dual_intensity=0.5 the dual algo will only use 50% of the
available gpu resources after ethash. This is a way of keeping power
draw lower by still keeping core clk high, which is necessary on an
aggressively tuned Vega to keep up ethash hashrate.
We _strongly_ suggest using Vegas B-mode when running a lower core clk
and dual mining, this will make it easier to keep your eth hashrate
relatively high. B-mode is the default mode chosen for Vegas when dual
mining (or C-mode for Radeon VIIs if available).
Polaris
Polaris gpus run dual mining quite well. You can often use your
standard eth clocks, and gain a decent dual algo hashrate for an
additional power draw of 35-45W at the wall per gpu. Use clocks/voltages
or the --dual_intensity argument to lower power draw at the cost of
either lower hashrates for both algos, or just lower the dual algo using
--dual_intensity.
Dual Mining Ethash Modes and Intensity
--------------------------------------
All ethash mining modes (A/B/C/R) are available in dual mining as well,
and behave like they do for single algo ethash mining. The B/C/R-modes
are often very helpful when dual mining on Vegas and Navis since they
help keep a higher eth hashrate even when lowering the core clk in
order to keep power draw in check. For Polaris gpus, the mode does not
have the same effect as for Navis and Vegas.
For choosing the intensity, TRM includes a dual mining tuner that,
unless a static eth config intensity has been provided, scans through
a range of eth config intensities at startup and selects the optimal
one based on a scoring model. There are built-in weights for each pair
of algos that can be dual mined, but over time you might want to tweak
the optimization target function using the argument
--dual_tuner_weights=X:Y:Z. This argument is described in detail in
USAGE.txt and the miner's --help output.
As mentioned above, ethash config intensities from single algo ethash
mining should _NOT_ be used in a dual mining setting. We recommend
that you at least do one dual tuner run and inspect the output, or
always let the dual tuner run at startup. The process takes 3-4
minutes to complete.
It should be noted that the dual tuner is somewhat crude and can
sometimes produce skewed results. This is mainly because we don't want
the process to take 10-15 minutes. The tuner outputs the results for
all scanned configurations after completing the scan, and the user can
pick a static config from there to add to the command line.
Last, there is an additional tuning parameter called
--dual_intensity=X,Y,Z,... It is now available for all supported
gpus. The argument limits the gpu resources that the dual algo mining
will use. The argument is passed in a list of either a single value
for all gpus, or a list of values per gpu. The range is 0.0-1.0, and
0.7 means that the dual mining will use 70% of the available resources
after ethash.