xmrig-amd
xmrig-amd copied to clipboard
Algo balancing
This is suggested implementation of #618 for xmrig-amd (not in xmrig-proxy):
In short it do the following:
- Adds --calibrate-algo (functionality that measured relevant algo hashrates) and --save-config (that can save algo hashrates into algo-perf section of config.json file) switches.
- Adds extended "threads" option that allows to specify separate thread profiles for different algorithms.
- All possible algorithms are now reported by miner to the pool (not only variants of the the same base Algo).
- Allows miner to change algorithm to any supported one specified by "algo" pool job switch.
P.S. The most serious workaround was done to pass config object (with algo hashrates) to Client object via global config object pointer (pconfig).
I added public fr.moneroocean.stream node (of https://moneroocean.stream pool) that can be used for testing of this PR (currently RYO is supported for cn-heavy algo and Masari is supported for cn-fast algo). You should specify XMR wallet address in any case since pool trades all coins to XMR to do payments.
Now all MoneroOcean pool nodes can be used to test this algo switching feature.
Unfortunately there are multiple reports that algo switching with this modified xmrig-amd is not working well. There are crashes and performance degradation observed. I believe that from OpenCL management point of view all is fine (all is correctly released before recreation), so I suspect the problem is in the particular OpenCL runtime/driver implementation bugs. I created https://github.com/MoneroOcean/meta-miner that can used to do switching on stock xmrig-amd by using miner relaunch method.
I will leave this PR so you can look into this in future in case you will have desire of it of course.
xmrig is not algo switching friendly.
REM CRYPTONIGHT
set current_dir=%~dp0
start C:\PATH/TO/XMRIG\xmrig-nvidia -R 0 -r 0
how I got it to work. it left the xmrig window open though and they stacked for every cycle the batch did checking for most profitable algo. note this was an older version of xmrig. not tried it since