Todo:
- send block height via stratum protocol (encoded in jobid?)
- remove equi/blake2 cpu algorithm to use common one
the extranonce imcompatibility is related to the solver nonce data,
offsets may be reversed in nheqminer, to check...
The solver was adapted for SM 3.0+ support (no perf changes)
Note: The solver was not improved on purpose, to be able compare
the two miners performances (nheqminer 0.5c the last open sourced, and ccminer)
Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>
stratum: code cleanup, move equi fns in equi folder
old "german" implementation based on the quark method is kept
in the source tree, but is currently broken. to be continued.
This is a quick fix which should be compatible with all cards.
plimit value is reported in mW like the power, or % on Windows x86 (via nvapi)
+ the monitor thread will no more report 0W if the device doesnt support it
also upgrade nvml and sample php api.
some more changes may come in this temporary API 1.9 (for the final 2.0)
This will allow later more gpu candidates.
Note: This is an unfinished work, we keep the previous behavior for now
To finish this, all algos solutions should be migrated and submitted nonces attributes stored.
Its required to handle the different share diff per nonce and fix the possible solved count error (if 1/2 nonces is solved).
also known as "Thor's Riddle"... yes sure ;)
Credits to ocminer who found and "implemented" it.
Note: tested "ok" on x64 and CUDA 6.5 x86, not on 7.5 and 8.0 x86
PS: Don't have the time for a more proper CUDA implementation of Streebog
will allow to submit some device benchmark data to compute algo
power usage and profitability.
Introduce two new methods mining.get_algo and mining_get_stats
These methods will be used with yiimp stratum with a special benchmark option
Note: only the first card is handled for the moment.
also add stratum mining.ping support (like cgminer 4.7.1+) and prevent disconnect
on unknown methods, reply it is unsupported.
Switching to a pool with a different algo will require a barrier
to free ressources, like what was made in the global benchmark.
add also the algo in pool structure...
The full benchmark can now be launched with "ccminer --benchmark"
add a new helper function which log a warning with last cuda error
(not shown with the quiet option) : CUDA_LOG_ERROR();
it can be used where miner.h is included (.c/.cpp/.cu)
fix x14 (in ccminer.cpp), a break was missing in switch..case
when using multiple cpu threads per gpu, use the T prefix, ex:
[2015-10-11 09:52:49] GPU #0: app clocks set to P0 (3600/1228)
vs
[2015-10-11 09:52:51] GPU T0: MSI GTX 960, 5953.35 kH/s
Only thr_id is required, the function take care of the dev id