Skip to content

Commit

Permalink
v0.9.4.6 public beta release.
Browse files Browse the repository at this point in the history
  • Loading branch information
Kerney666 committed May 5, 2022
1 parent 55d6822 commit 3b553e8
Show file tree
Hide file tree
Showing 4 changed files with 296 additions and 32 deletions.
9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# teamredminer v0.9.4.2
# teamredminer v0.9.4.6
This is an optimized miner for AMD GPUs and Xilinx FPGAs created by todxx and kerney666.

**Download is available in the [github releases section](https://github.com/todxx/teamredminer/releases).**
Expand Down Expand Up @@ -131,6 +131,13 @@ For command line options see the [USAGE.txt](USAGE.txt) file that comes with the

## Release Notes

### v0.9.4.6
#### Changes
- GPU: R-mode introduced. See separate documentation. Applicable for Vegas/VIIs/Navi10/Big Navi.
- GPU: Smooth power transitions for ethash family algos.
- GPU: Added support for multiple --api_listen and --api_listen2 endpoints (up to 8 total).
- FPGA: Fixed crash bug with > 16 fpgas running in a single miner instance.

### v0.9.4.2
#### Changes
- GPU: Fixed eth+ton issue that could lead to a higher eth shares stale rate. Primarily for large gpus (6800/6900XT) with aggressive tuning.
Expand Down
52 changes: 29 additions & 23 deletions USAGE.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Team Red Miner version 0.9.4.2
Team Red Miner version 0.9.4.6
Usage: teamredminer [OPTIONS]
Options:
-a, --algo=ALGORITHM Selects the mining algorithm. Currently available:
Expand Down Expand Up @@ -48,11 +48,12 @@ Options:
--api_listen=IP:PORT Enables the sgminer compatible api. IP:PORT is optional. If present, the IP:PORT combo
decides the interface(s) and port to listen to. Default is 127.0.0.1:4028. For
external access, use e.g. 0.0.0.0:4028. It's also valid to only specify the
port, e.g. 4029.
port, e.g. 4029. Multiple instances of this argument is now possible for separate endpoints.
--api2_listen=IP:PORT Enables a second api port for dual mining setups. This api endpoint will provide data for the
dual mining algo, just like if two separate miner instances were running in parallel. The
default setting is 127.0.0.1:4029, i.e. the port is 4029 and not 4028. For specifying your
own choice, the argument is formatted like --api_listen.
own choice, the argument is formatted like --api_listen. Multiple instances of this argument is
now possible for separate endpoints.

--cm_api_listen=IP:PORT Enables the claymore compatible api. IP:PORT is optional. If present, the IP:PORT combo
decides the interface(s) and port to listen to. Default is 127.0.0.1:3333. For
Expand Down Expand Up @@ -105,6 +106,20 @@ Options:
--dns_https_sni=HOST When the --dns_https argument is used, the default behavior is to not send a SNI in the
SSL/TLS connection. Using this argument, you can force any SNI to be sent. Please note
that this is an advanced network argument and most users do not need to use it.
--kernel_vm_mode=X (Linux only). Automates setting the necessary kernel parameters in /etc/default/grub on Linux
systems based on Debian/Ubuntu. This covers most mining distros. The system can be rebooted
automatically using /sbin/reboot when the kernel parameters are modified. If the correct
parameters already are in place the miner and helper script will do nothin. This means that
this argument can always be present on the command line. Valid values are:
N - no mode configured, removes existing parameters for C- or R-mode. No reboot on change.
C - old Radeon VII C-mode. No reboot on change.
R - new R-mode for all gpus except Polaris. No reboot on change.
RN - no mode configured, removes existing parameters for C- or R-mode. Reboots on change.
RC - old Radeon VII C-mode. Reboots on change.
RR - new R-mode for all gpus except Polaris. Reboots on change.
--kernel_vm_mode_script=X (Linux only). Specifies the script to call for setting new kernel mode parameters.
The script must act like the default TRM script included in the miner distribution package,
called ubuntu_mode_script.sh. This argument should normally not be necessary.

Pool config options:
-o, --url=URL Sets the pool URL. Currently stratum+tcp and stratum+ssl URLs are supported.
Expand Down Expand Up @@ -352,29 +367,21 @@ Ethash options:
--eth_epoch Tests a specific ethash epoch. NOTE: this will automatically switch the miner into benchmark mode, as
if you added --benchmark.
--eth_alloc_epoch=N Allocates enough memory for the given epoch from the start. The miner will try to allocate more
if it needs to later during mining. It's recommended for rigs with one or more 4GB cards to test
and set this to the max possible value to avoid reallocations at epoch switches. Optimal Linux
rigs should be able to handle epoch 380, Windows rigs a little less (373-374).
--eth_dag_buf=X,Y,... The miner can allocate a single or dual buffers for the DAG. For now, the default is DUAL buffers, which
matches the behavior in all recent TRM releases. However, a single buffer is slightly better, leading
to a small power save for all gpu types. Only recent drivers support single large allocations larger
than 4GiB, typically from Adrenalin 20.9.1 and amdgpu-pro 20.x. The miner can automatically use single
buffer mode when possible using this argument, as well a force single or dual buffers per gpu.
Supported values are A(uto), S(ingle), D(ual). You can enumerate a comma-separated list for all gpus
in the rig, or a single value for all gpus. A gpu that does not have a value in the comma-separated list
will use the first value. Hence, to enable auto mode for all gpus, pass --eth_dag_buf=A
NOTE: 4GB gpus will be forced to use dual buffers.
if it needs to later during mining.
--eth_dag_buf=X,Y,... The miner can allocate a single or dual buffers for the DAG. For now, the default is AUTO. A single
buffer is slightly better, leading to a small power save for all gpu types. Only recent drivers support
single large allocations larger than 4GiB, typically from Adrenalin 20.9.1 and amdgpu-pro 20.x. The miner
can automatically use single buffer mode when possible using this argument, as well a force single or dual
buffers per gpu. Supported values are A(uto), S(ingle), D(ual). You can enumerate a comma-separated list
for all gpus in the rig, or a single value for all gpus. A gpu that does not have a value in the
comma-separated list will use the first value.
--eth_big_mode_adjust=X,Y,... When using B- or C-modes, the miner runs better the more vram it can allocate. Unfortunately the
drivers aren't accurate reporting how much memory it's possible to allocate, especially on Windows.
The miner will use a safe conservative number of 256MiB (Linux) and 512MiB (Windows) as an offset from
the available vram size. If you want change this number, you can do so using this argument by providing.
a comma-separated list with values for one or more gpus. Values for gpus not running B/C-mode will be
ignored. If a gpu doesn't have a value in the list, the first provided value is used instead.
The allowed interval is [-64, 2048]. The higher number, the less vram is allocated on the gpu.
--eth_4g_max_alloc=X,Y,... This argument allows mining on 4GB gpus after they no longer can store the full DAG in vram.
You pass either the max epoch to allocate memory for, or the raw nr of MB to allocate. You can
provide a single value that applies to all 4GB gpus in the rig, or use a comma-separated list for
specifying different values per gpu. Values for non-4GB gpus are ignored.
--eth_dag_slowdown=N Slows down the DAG generation. Pass a single digit 0-9. 0 means no slowdown (<= 0.7.9 behavior),
1 means minimal slowdown, 9 means max. Default value: 4 for a slight slowdown.
--eth_stagger Enables staggering of gpus when building a new DAG. This is more lean on PSUs that don't like
Expand Down Expand Up @@ -408,9 +415,6 @@ Ethash options:
where the dag cache had bit errors and the resulting dag is partially broken. We have seen this
happen increasingly on Vegas as the dag has grown bigger. When detected, a new buffer will be
allocated for the dag cache and the dag build restarted.
--eth_no_4gb_kernels Disable the ethash 4GB kernels and always use the regular kernels that assume the DAG will always
fit in available vram on all gpus. This is useful when mining ETC or ethash coins at lower epochs
than ETH since the regular kernels have a better performance profile.
--eth_micro_delay=VAL Navi gpus only: adds a delay (measured in microseconds) when reenqueueing work on the gpu(s).
Weaker PSUs driving many gpus can sometimes not handle the "slew rate" when multiple gpus happen to
reenqueue work at exactly the same time. Setting this to e.g. 32 will smoothen out the transition
Expand Down Expand Up @@ -560,7 +564,6 @@ ZIL dual mining options:
- Cached copy of the ZIL epoch 0 DAG.
- Adjustment of memory allocated for the primary algo to fit the ZIL DAG.
- Choose ethash A-mode for the ZIL mining.
- Use the standard faster kernels for 4GB gpus since the DAG is max 1GB.

The minimal working setup is to only provide a ZIL pool that is ok with the miner ignoring
the primary coin jobs and only mines during the ZIL windows. This is an example for ezil.me:
Expand Down Expand Up @@ -671,3 +674,6 @@ FPGA Options:
***** CAUTION: Running above safety limits can result in PERMANENT DAMAGE to the device! *****
--fpga_max_jtag_mhz=XY.Z Sets the max allowed frequency to use for fpga jtag communication. Default is 30.0 MHz.

--fpga_eth_clk_dag=LIST Sets FPGA core clock frequencies to be used during Ethash DAG building. By default these
will be set to 90% of the regular core clock. The format is the same as --fpga_clk_core.

33 changes: 25 additions & 8 deletions doc/ETHASH_TUNING_GUIDE.txt
Original file line number Diff line number Diff line change
@@ -1,16 +1,27 @@
TeamRedMiner Ethash Tuning Guide
================================
TeamRedMiner Ethash Tuning Guide (non R-mode)
=============================================

History:
v1.2 2022-05-01 (v0.10.0, R-mode references added)
v1.1 2020-02-03 (v0.8.1, Big Navi section added)
v1.0 2020-01-16 (v0.8.0)

General Overview
================
In general, TeamRedMiner behaves similarly to other AMD ethash miners. The key
difference is our additional mining modes (B/C-modes) that use additional vram
on the gpus for additional beneficial effects. The specific effects are
different per gpu type and are described below in the separate sections.
NOTE NOTE NOTE: if you want to use the TRM R-mode for mining,
available on all AMD gpus except Polaris generation cards, please skim
through this document first, then read the
ETHASH_TUNING_GUIDE_R-MODE.txt guide. This guide concerns mining in
the A/B/C-modes that are available in all TRM versions, both before
and after the R-mode release in v0.10.0.

In general, TeamRedMiner behaves similarly to other AMD ethash
miners. The key difference is our additional mining modes (B/C-modes)
that use additional vram on the gpus for additional beneficial
effects. The specific effects are different per gpu type and are
described below in the separate sections. The last major mining mode
added in v0.10.0, called R-mode, is _not_ covered in this document. It
is significant enough to warrant its own separate guide.

If you have a tuned configuration for another miner, it should generally work
well although might not be the absolute optimum for your rig(s), especially if
Expand Down Expand Up @@ -468,8 +479,14 @@ been met, it will automatically select C-mode for your VIIs.

1) Setting up Kernel Params

The following linux kernel boot parameters need to be added to your grub
config:
If you run TRM v0.10.0 or later, the miner release comes with an
integrated support script that sets the necessary kernel boot
parameters for you. Add --kernel_vm_mode=C (or RC to automatically
reboot) as a command line parameter, run the miner once, exit and
reboot.

If you're on an earlier TRM version, you need to manually add the
following linux kernel boot parameters to your grub config:

amdgpu.vm_block_size=10 amdgpu.vm_size=1024

Expand Down
Loading

0 comments on commit 3b553e8

Please sign in to comment.