jgarzik / cpuminer

CPU miner for bitcoin
Other
950 stars 2.34k forks source link

add scypt-jane support to 3.7.2 #56

Closed MasterCATZ closed 8 years ago

MasterCATZ commented 10 years ago

diff -urN cgminer-3.7.2.orig/cgminer.c cgminer-3.7.2/cgminer.c --- cgminer-3.7.2.orig/cgminer.c 2013-11-06 00:24:07.000000000 +1100 +++ cgminer-3.7.2/cgminer.c 2014-01-02 17:30:53.821237874 +1100 @@ -58,6 +58,7 @@

include "driver-opencl.h"

include "bench_block.h"

include "scrypt.h"

+#include "scrypt-jane.h"

ifdef USE_USBUTILS

include "usbutils.h"

endif

@@ -113,6 +114,11 @@ unsigned long long global_hashrate; unsigned long global_quota_gcd = 1;

+/* scrypt-jane, defaults suitable for YAC */ +unsigned int sj_minNf = 4; +unsigned int sj_maxNf = 30; +unsigned int sj_startTime = 1388361600; +

if defined(HAVE_OPENCL) || defined(USE_USBUTILS)

int nDevs;

endif

@@ -122,6 +128,7 @@ int gpu_threads;

ifdef USE_SCRYPT

bool opt_scrypt; +bool opt_scrypt_jane;

endif

endif

bool opt_restart = true; @@ -650,6 +657,11 @@ return set_int_range(arg, i, 0, 10); }

+static char set_int_0_to_40(const char arg, int *i) +{

diff -urN cgminer-3.7.2.orig/config.h.in cgminer-3.7.2/config.h.in --- cgminer-3.7.2.orig/config.h.in 2013-11-06 00:29:24.000000000 +1100 +++ cgminer-3.7.2/config.h.in 2014-01-02 17:30:53.829238126 +1100 @@ -334,6 +334,9 @@ /* Filename for scrypt kernel */

undef SCRYPT_KERNNAME

+/* Filename for scrypt-jane kernel _/ +#undef SCRYPT_JANEKERNNAME + / Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'sig_atomic_t'. */

undef SIG_ATOMIC_T_SUFFIX

diff -urN cgminer-3.7.2.orig/configure cgminer-3.7.2/configure --- cgminer-3.7.2.orig/configure 2013-11-06 00:29:23.000000000 +1100 +++ cgminer-3.7.2/configure 2014-01-02 17:30:53.881239099 +1100 @@ -17333,6 +17333,11 @@ _ACEOF

+cat >>confdefs.h <<_ACEOF +#define SCRYPT_JANE_KERNNAME "scrypt-jane" +_ACEOF + +

diff -urN cgminer-3.7.2.orig/configure.ac cgminer-3.7.2/configure.ac --- cgminer-3.7.2.orig/configure.ac 2013-11-06 00:26:04.000000000 +1100 +++ cgminer-3.7.2/configure.ac 2014-01-02 17:30:53.889239262 +1100 @@ -481,6 +481,7 @@ AC_DEFINE_UNQUOTED([DIAKGCN_KERNNAME], ["diakgcn121016"], [Filename for diakgcn kernel]) AC_DEFINE_UNQUOTED([DIABLO_KERNNAME], ["diablo130302"], [Filename for diablo kernel]) AC_DEFINE_UNQUOTED([SCRYPT_KERNNAME], ["scrypt130511"], [Filename for scrypt kernel]) +AC_DEFINE_UNQUOTED([SCRYPT_JANE_KERNNAME], ["scrypt-jane"], [Filename for scrypt-jane kernel])

AC_SUBST(OPENCL_LIBS) diff -urN cgminer-3.7.2.orig/driver-opencl.c cgminer-3.7.2/driver-opencl.c --- cgminer-3.7.2.orig/driver-opencl.c 2013-10-08 23:35:01.000000000 +1100 +++ cgminer-3.7.2/driver-opencl.c 2014-01-02 17:30:53.897239423 +1100 @@ -34,6 +34,10 @@

include "adl.h"

include "util.h"

+#ifdef USE_SCRYPT +#include "scrypt-jane.h" /* sj_be32encvect / +#endif + /_ TODO: cleanup externals ****/

ifdef HAVE_CURSES

@@ -211,6 +215,8 @@

ifdef USE_SCRYPT

if (!strcmp(arg, "scrypt"))
    return KL_SCRYPT;

@@ -110,18 +110,20 @@ bench_block.h util.c util.h uthash.h logging.h sha2.c sha2.h \ api.c logging.c driver-opencl.h driver-opencl.c ocl.c ocl.h \ findnonce.c findnonce.h adl.c adl.h adl_functions.h *.cl \

+cgminer-scrypt-jane.o: scrypt-jane.c +@amfastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(cgminer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cgminer-scrypt-jane.o -MD -MP -MF $(DEPDIR)/cgminer-scrypt-jane.Tpo -c -o cgminer-scrypt-jane.o test -f 'scrypt-jane.c' || echo '$(srcdir)/'scrypt-jane.c +@amfastdepCC_TRUE@ $(AM_V_at)$(ammv) $(DEPDIR)/cgminer-scrypt-jane.Tpo $(DEPDIR)/cgminer-scrypt-jane.Po +@AMDEP_TRUE@@amfastdepCC_FALSE@ $(AM_V_CC)source='scrypt-jane.c' object='cgminer-scrypt-jane.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@amfastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@amfastdepCC_FALSE@ $(AM_V_CC@amnodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(cgminer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cgminer-scrypt-jane.o test -f 'scrypt-jane.c' || echo '$(srcdir)/'scrypt-jane.c + +cgminer-scrypt-jane.obj: scrypt-jane.c +@amfastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(cgminer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cgminer-scrypt-jane.obj -MD -MP -MF $(DEPDIR)/cgminer-scrypt-jane.Tpo -c -o cgminer-scrypt-jane.obj if test -f 'scrypt-jane.c'; then $(CYGPATH_W) 'scrypt-jane.c'; else $(CYGPATH_W) '$(srcdir)/scrypt-jane.c'; fi +@amfastdepCC_TRUE@ $(AM_V_at)$(ammv) $(DEPDIR)/cgminer-scrypt-jane.Tpo $(DEPDIR)/cgminer-scrypt-jane.Po +@AMDEP_TRUE@@amfastdepCC_FALSE@ $(AM_V_CC)source='scrypt-jane.c' object='cgminer-scrypt-jane.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@amfastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@amfastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(cgminer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cgminer-scrypt-jane.obj if test -f 'scrypt-jane.c'; then $(CYGPATH_W) 'scrypt-jane.c'; else $(CYGPATH_W) '$(srcdir)/scrypt-jane.c'; fi + cgminer-fpgautils.o: fpgautils.c @amfastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(cgminer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cgminer-fpgautils.o -MD -MP -MF $(DEPDIR)/cgminer-fpgautils.Tpo -c -o cgminer-fpgautils.o test -f 'fpgautils.c' || echo '$(srcdir)/'fpgautils.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/cgminer-fpgautils.Tpo $(DEPDIR)/cgminer-fpgautils.Po diff -urN cgminer-3.7.2.orig/miner.h cgminer-3.7.2/miner.h --- cgminer-3.7.2.orig/miner.h 2013-11-06 00:24:07.000000000 +1100 +++ cgminer-3.7.2/miner.h 2014-01-02 17:30:53.925239975 +1100 @@ -405,6 +405,7 @@ KL_DIAKGCN, KL_DIABLO, KL_SCRYPT,

+/* scrypt-jane */ +extern unsigned int sj_minNf; +extern unsigned int sj_maxNf; +extern unsigned int sj_startTime; +

ifdef USE_USBUTILS

extern pthread_mutex_t cgusb_lock; extern pthread_mutex_t cgusbres_lock; @@ -1171,6 +1177,7 @@ extern int gpu_threads;

ifdef USE_SCRYPT

extern bool opt_scrypt; +extern bool opt_scrypt_jane;

else

define opt_scrypt (0)

endif

@@ -1612,4 +1619,6 @@ extern struct api_data api_add_diff(struct api_data root, char name, double data, bool copy_data); extern struct api_data api_add_percent(struct api_data root, char name, double data, bool copy_data);

+extern unsigned char sj_GetNfactor(int nTimestamp); +

endif /* MINER_H */

diff -urN cgminer-3.7.2.orig/ocl.c cgminer-3.7.2/ocl.c --- cgminer-3.7.2.orig/ocl.c 2013-10-15 19:35:16.000000000 +1100 +++ cgminer-3.7.2/ocl.c 2014-01-02 17:30:53.933240131 +1100 @@ -392,7 +392,13 @@ if (cgpu->kernel == KL_NONE) { if (opt_scrypt) { applog(LOG_INFO, "Selecting scrypt kernel");