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
which display submitted block and net difficulty and is able
to detect shares above net diff (solved blocs)
Note: only made on lyra2v2 and zr5 algos
TODO: compute the found diff on all algos...
require changes in all scan hash "kernel" function parameters
to be continued...
0: cudaDeviceScheduleAuto
1: cudaDeviceScheduleSpin
2: cudaDeviceScheduleYield
4: cudaDeviceScheduleBlockingSync
Also set the best one (4) for luffa algo by default...
I dont store txs on biggest transactions to reduce memory usage.
In this case, the pok bool is not enabled for the bloc...
Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>