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...
ccminer -n 2>NUL
GPU #0: SM 5.2 GeForce GTX 970
GPU #1: SM 5.0 Gigabyte GTX 750 Ti
GPU #2: SM 5.2 ASUS GTX 970
note: nvml destroy is made in proper_exit function
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
remains my original lyra2 implementation to fix... (cuda_lyra2.cu)
I guess some kind of memory overflow force the driver to allocate
memory... but was unable to free it without device reset.
Note: lyra2, lyra2v2 and script seems to have problems
to coexist with other algos... to run after some of them...
moved lyra2 first and skip scrypt/jane for the moment...
Only stored in memory for now.. to display a table after the bench
ccminer -a auto --benchmark
Results may be exported later to a json file...
make a difference between whirlpool and whirlcoin algos (stratum)
Look like the old SHA merkleroot method doesnt work on recent coins
Doesn't affect solo mining, only pools using stratum+tcp:// protocol
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...
--pstate 0 is an alternative to clocks values to set the device in P0
mode, 1 will set appl. clocks to default P1 clocks, 2 to default P2..
--plimit 150W really works on the 9xx and allow to limit/reduce the gpu usage
Note: nvml interface is only available on linux and windows x64
Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>