This commit is contained in:
Jay D Dee
2017-02-04 16:43:40 -05:00
parent b0088fd392
commit 1ee41348f4
6 changed files with 30 additions and 6 deletions

View File

@@ -94,8 +94,9 @@ Errata
------
cpuminer-opt does not work mining Decred algo at Nicehash and produces
only "invalid extranonce2 size" rejects. It works at Zpool.
only "invalid extranonce2 size" rejects.
x11evo optimizations not available on Windows.
Benchmark testing does not work for x11evo.
Bugs

View File

@@ -3,6 +3,12 @@ Compile instruction for Linux and Windows are at the bottom of this file.
Change Log
----------
v3.5.5
x11evo fixed on Windows but at reduced performance.
Changed benchmark stats collection default to false and
added proper user and password checks to enable it.
v3.5.4
x11evo fixed (broken in v3.5.2) and optimized 23% faster

View File

@@ -29,11 +29,18 @@
static __thread uint32_t s_ntime = UINT32_MAX;
static __thread int permutation[HASH_FUNC_COUNT] = { 0 };
inline void tt_swap( int *a, int *b )
{
int c = *a;
*a = *b;
*b = c;
}
inline void reverse( int *pbegin, int *pend )
{
while ( (pbegin != pend) && (pbegin != --pend) )
{
swap_vars( *pbegin, *pend );
tt_swap( pbegin, pend );
pbegin++;
}
}
@@ -62,7 +69,7 @@ static void next_permutation( int *pbegin, int *pend )
while ( !(*i < *--k) ) /* do nothing */ ;
swap_vars( *i, *k );
tt_swap( i, k );
reverse(j, pend);
return; // true
}

View File

@@ -136,20 +136,26 @@ void getAlgoString( char *str, uint32_t count )
//applog(LOG_DEBUG, "nextPerm %s", str);
}
// Broken on Windows
#if !((defined(__WINDOWS__)) || (defined(__WIN64)))
static __thread uint32_t saved_ntime = UINT32_MAX;
#endif
void evocoin_twisted_code( char *result, char *code )
{
uint32_t h32, *be32 = get_stratum_job_ntime();
#if !((defined(__WINDOWS__)) || (defined(__WIN64)))
if ( *be32 != saved_ntime )
{
#endif
h32 = be32toh(*be32);
uint32_t count = getCurrentAlgoSeq(h32, INITIAL_DATE);
getAlgoString(code, count);
sprintf(result, "_%d_%s_", count, code);
#if !((defined(__WINDOWS__)) || (defined(__WIN64)))
saved_ntime = *be32;
}
#endif
}
static inline void x11evo_hash( void *state, const void *input )

View File

@@ -1,4 +1,4 @@
AC_INIT([cpuminer-opt], [3.5.4])
AC_INIT([cpuminer-opt], [3.5.5])
AC_PREREQ([2.59c])
AC_CANONICAL_SYSTEM

View File

@@ -132,7 +132,7 @@ uint32_t rpc2_target = 0;
char *rpc2_job_id = NULL;
double opt_diff_factor = 1.0;
uint32_t zr5_pok = 0;
bool opt_stratum_stats = true;
bool opt_stratum_stats = false;
uint32_t accepted_count = 0L;
uint32_t rejected_count = 0L;
@@ -3066,6 +3066,10 @@ int main(int argc, char *argv[])
if (!thr->q)
return 1;
if ( rpc_pass && rpc_user )
opt_stratum_stats = ( strstr( rpc_pass, "stats" ) != NULL )
|| ( strcmp( rpc_user, "benchmark" ) == 0 );
/* start work I/O thread */
if (thread_create(thr, workio_thread))
{