mirror of
https://github.com/JayDDee/cpuminer-opt.git
synced 2025-09-17 23:44:27 +00:00
v3.5.5
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user