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.
the main improvement is to reduce asm calls to read global mem
but, a few more regs are used (68 mini vs 64 on SM 5.2)
so reduce the forced launch bounds to allow 80 or 128 regs per thread
Note: cuda 6.5 seems not able to store with v4.u32... (7.5 is fine)
st.global.v4.u32 [%rd2], {%r3783, %r3824, %r3823, %r3822};
st.global.v2.u32 [%rd2+16], {%r3821, %r3820};
st.global.u32 [%rd2+24], %r3819;
st.global.u32 [%rd2+28], %r3818;
st.global.u32 [%rd2+44], %r3814;
st.global.u32 [%rd2+40], %r3815;
...
todo, check alexis variant.. but wanted to keep this code before in git...
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
fix some algo weird hashrates (like blake)
and reset device between algos, for better accuracy
but this reset doesnt seems enough to bench all algos correctly...
to test on linux, could be a driver issue...
heavy: fix first alloc and indent with tabs...
made for linux and require libpci-dev (optional)
if libpci is not installed, card's vendor names are not handled...
Note: only a few vendor names were added, common GeForce vendors.
Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>