Compare commits

..

1 Commits

Author SHA1 Message Date
Jay D Dee
f31fe1e8c2 v3.11.4 2020-01-16 13:09:56 -05:00
9 changed files with 77 additions and 110 deletions

View File

@@ -33,53 +33,9 @@ supported.
64 bit Linux or Windows operating system. Apple, Android and Raspberry Pi
are not supported. FreeBSD YMMV.
Reporting bugs
--------------
Bugs can be reported by sending am email to JayDDee246@gmail.com or opening
an issue in git: https://github.com/JayDDee/cpuminer-opt/issues
Please include the following information:
1. CPU model, operating system, cpuminer-opt version (must be latest),
binary file for Windows, changes to default build procedure for Linux.
2. Exact comand line (except user and pw) and intial output showing
the above requested info.
3. Additional program output showing any error messages or other
pertinent data.
4. A clear description of the problem including history, scope,
persistence or intermittance, and reproduceability.
In simpler terms:
What is it doing?
What should it be doing instead?
Did it work in a previous release?
Does it happen for all algos? All pools? All options? Solo?
Does it happen all the time?
If not what makes it happen or not happen?
Change Log
----------
v3.11.5
Fixed AVX512 detection that could cause compilation errors on CPUs
without AVX512.
Fixed "BLOCK SOLVED" log incorrectly displaying "Accepted" when a block
is solved.
Added share counter to share submitited & accepted logs
Added job id to share submitted log.
Share submitted log is no longer highlighted blue, there was too much blue.
Another CPU temperature fix for Linux.
Added bug reporting tips to RELEASE NOTES.
v3.11.4
Fixed scrypt segfault since v3.9.9.1.

View File

@@ -15,7 +15,7 @@
#include "miner.h"
#include "simd-utils.h"
#if defined(__VAES__) && defined(__AVX512F__) && defined(__AVX512VL__) && defined(__AVX512DQ__) && defined(__AVX512BW__)
#if defined(__VAES__)
int groestl256_4way_init( groestl256_4way_context* ctx, uint64_t hashlen )

View File

@@ -18,8 +18,6 @@
#endif
#include <stdlib.h>
#if defined(__VAES__) && defined(__AVX512F__) && defined(__AVX512VL__) && defined(__AVX512DQ__) && defined(__AVX512BW__)
#define LENGTH (256)
//#include "brg_endian.h"
@@ -71,5 +69,4 @@ int groestl256_4way_init( groestl256_4way_context*, uint64_t );
int groestl256_4way_update_close( groestl256_4way_context*, void*,
const void*, uint64_t );
#endif
#endif

View File

@@ -15,7 +15,7 @@
#include "miner.h"
#include "simd-utils.h"
#if defined(__VAES__) && defined(__AVX512F__) && defined(__AVX512VL__) && defined(__AVX512DQ__) && defined(__AVX512BW__)
#if defined(__VAES__)
int groestl512_4way_init( groestl512_4way_context* ctx, uint64_t hashlen )
{

View File

@@ -10,8 +10,6 @@
#endif
#include <stdlib.h>
#if defined(__VAES__) && defined(__AVX512F__) && defined(__AVX512VL__) && defined(__AVX512DQ__) && defined(__AVX512BW__)
#define LENGTH (512)
/* some sizes (number of bytes) */
@@ -58,5 +56,4 @@ int groestl512_4way_update_close( groestl512_4way_context*, void*,
int groestl512_4way_full( groestl512_4way_context*, void*,
const void*, uint64_t );
#endif // VAES
#endif // GROESTL512_HASH_4WAY_H__
#endif /* __hash_h */

20
configure vendored
View File

@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for cpuminer-opt 3.11.5.
# Generated by GNU Autoconf 2.69 for cpuminer-opt 3.11.4.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -577,8 +577,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='cpuminer-opt'
PACKAGE_TARNAME='cpuminer-opt'
PACKAGE_VERSION='3.11.5'
PACKAGE_STRING='cpuminer-opt 3.11.5'
PACKAGE_VERSION='3.11.4'
PACKAGE_STRING='cpuminer-opt 3.11.4'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1332,7 +1332,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures cpuminer-opt 3.11.5 to adapt to many kinds of systems.
\`configure' configures cpuminer-opt 3.11.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1404,7 +1404,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of cpuminer-opt 3.11.5:";;
short | recursive ) echo "Configuration of cpuminer-opt 3.11.4:";;
esac
cat <<\_ACEOF
@@ -1509,7 +1509,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
cpuminer-opt configure 3.11.5
cpuminer-opt configure 3.11.4
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2012,7 +2012,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by cpuminer-opt $as_me 3.11.5, which was
It was created by cpuminer-opt $as_me 3.11.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2993,7 +2993,7 @@ fi
# Define the identity of the package.
PACKAGE='cpuminer-opt'
VERSION='3.11.5'
VERSION='3.11.4'
cat >>confdefs.h <<_ACEOF
@@ -6690,7 +6690,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by cpuminer-opt $as_me 3.11.5, which was
This file was extended by cpuminer-opt $as_me 3.11.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -6756,7 +6756,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
cpuminer-opt config.status 3.11.5
cpuminer-opt config.status 3.11.4
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

View File

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

View File

@@ -885,7 +885,6 @@ static uint32_t hi_temp = 0;
struct share_stats_t
{
int share_count;
struct timeval submit_time;
double net_diff;
double share_diff;
@@ -895,7 +894,7 @@ struct share_stats_t
};
#define s_stats_size 8
static struct share_stats_t share_stats[ s_stats_size ] = {{0}};
static struct share_stats_t share_stats[ s_stats_size ] = {0};
static int s_get_ptr = 0, s_put_ptr = 0;
static struct timeval last_submit_time = {0};
@@ -1057,7 +1056,7 @@ static int share_result( int result, struct work *null_work,
my_stats.net_diff * 100.;
// check result
if ( likely( result ) )
if ( result )
{
accepted_share_count++;
if ( ( my_stats.net_diff > 0. ) && ( my_stats.share_diff >= net_diff ) )
@@ -1085,7 +1084,7 @@ static int share_result( int result, struct work *null_work,
hashrate += thr_hashrates[i];
global_hashrate = hashrate;
if ( likely( result ) )
if ( result )
{
accept_sum++;
norm_diff_sum += my_stats.target_diff;
@@ -1107,58 +1106,66 @@ static int share_result( int result, struct work *null_work,
if ( use_colors )
{
if ( likely( result ) )
{
if ( unlikely( solved ) )
{
sres = CL_MAG "BLOCK SOLVED" CL_WHT;
bcol = CL_MAG;
}
else
sres = CL_GRN "Accepted" CL_WHT;
acol = CL_GRN;
}
/*
if ( unlikely( solved ) )
{
sres = CL_MAG "BLOCK SOLVED" CL_WHT;
bcol = CL_MAG;
acol = CL_GRN;
}
else if ( likely( result ) )
if ( likely( result ) )
{
sres = CL_GRN "Accepted" CL_WHT;
acol = CL_GRN;
}
*/
else if ( stale )
{
sres = CL_YL2 "Stale share" CL_WHT;
scol = CL_YL2;
sprintf( job_id, "%sjob %s%s", CL_YL2, my_stats.job_id, CL_N );
}
else
{
sres = CL_RED "Rejected" CL_WHT;
rcol = CL_RED;
if ( stale )
{
sres = CL_YL2 "Stale share" CL_WHT;
scol = CL_YL2;
sprintf( job_id, "%sjob %s%s", CL_YL2, my_stats.job_id, CL_N );
}
else
{
sres = CL_RED "Rejected" CL_WHT;
rcol = CL_RED;
}
}
/*
sres = solved ? CL_MAG "BLOCK SOLVED" CL_WHT
: ( result ? CL_GRN "Accepted" CL_WHT
: ( stale ? CL_YL2 "Stale share" CL_WHT
: CL_RED "Rejected" CL_WHT ) );
if ( solved_block_count ) bcol = CL_MAG; else bcol = "\0";
if ( accepted_share_count ) acol = CL_GRN; else acol = "\0";
if ( stale_share_count ) scol = CL_YL2; else scol = "\0";
if ( rejected_share_count ) rcol = CL_RED; else rcol = "\0";
if ( stale ) sprintf( job_id, "%sjob %s%s",
CL_YL2, my_stats.job_id, CL_N );
*/
}
else // monochrome
sres = solved ? "BLOCK SOLVED"
: ( result ? "Accepted"
: stale ? "Stale share" : "Rejected" );
applog( LOG_NOTICE, "%d: %s, %.3f secs (%dms), %sA:%d" CL_WHT " %sS:%d" CL_WHT " %sR:%d" CL_WHT " %sB:%d" CL_WHT,
my_stats.share_count, sres, share_time, latency, acol,
accepted_share_count, scol, stale_share_count, rcol,
rejected_share_count, bcol, solved_block_count );
applog( LOG_NOTICE, "%s, %.3f secs (%dms), %sA:%d" CL_WHT " %sS:%d" CL_WHT " %sR:%d" CL_WHT " %sB:%d" CL_WHT,
sres, share_time, latency, acol, accepted_share_count, scol,
stale_share_count, rcol, rejected_share_count, bcol,
solved_block_count );
if ( have_stratum && !opt_quiet )
applog2( LOG_INFO, "Share diff %.3g (%5f%%), block %d, %s",
my_stats.share_diff, share_ratio, stratum.block_height,
job_id );
if ( unlikely( reason && !result ) )
if ( reason )
{
if ( !opt_quiet && !stale )
applog( LOG_WARNING, "Reject reason: %s", reason );
@@ -1182,7 +1189,7 @@ static int share_result( int result, struct work *null_work,
applog2( LOG_INFO, "Target: %s...", str3 );
}
if ( unlikely( opt_reset_on_stale && stale ) )
if ( opt_reset_on_stale && stale )
stratum_need_reset = true;
}
@@ -1820,7 +1827,6 @@ void work_set_target_ratio( struct work* work, uint32_t* hash )
// it can overflow the queue and overwrite stats for a share.
pthread_mutex_lock( &stats_lock );
share_stats[ s_put_ptr ].share_count = submitted_share_count;
gettimeofday( &share_stats[ s_put_ptr ].submit_time, NULL );
share_stats[ s_put_ptr ].share_diff = work->sharediff;
share_stats[ s_put_ptr ].net_diff = net_diff;
@@ -1841,13 +1847,12 @@ bool submit_solution( struct work *work, void *hash,
submitted_share_count++;
work_set_target_ratio( work, hash );
if ( !opt_quiet )
applog( LOG_NOTICE, "%d: submitted by thread %d, job %s",
submitted_share_count, thr->id, work->job_id );
applog( LOG_BLUE, "Share %d submitted by thread %d",
submitted_share_count, thr->id );
return true;
}
else
applog( LOG_WARNING, "%d: failed to submit share.",
submitted_share_count );
applog( LOG_WARNING, "Failed to submit share." );
return false;
}
@@ -1859,13 +1864,12 @@ bool submit_lane_solution( struct work *work, void *hash,
submitted_share_count++;
work_set_target_ratio( work, hash );
if ( !opt_quiet )
applog( LOG_NOTICE, "%d: submitted by thread %d, lane %d, job %s",
submitted_share_count, thr->id, lane, work->job_id );
applog( LOG_BLUE, "Share %d submitted by thread %d, lane %d",
submitted_share_count, thr->id, lane );
return true;
}
else
applog( LOG_WARNING, "%d: failed to submit share.",
submitted_share_count );
applog( LOG_WARNING, "Failed to submit share." );
return false;
}
@@ -2269,15 +2273,13 @@ static void *miner_thread( void *userdata )
// If unsubmiited nonce(s) found, submit now.
if ( nonce_found && !opt_benchmark )
{
applog( LOG_WARNING, "BUG: See RELEASE_NOTES for reporting bugs. Algo = %s.",
algo_names[ opt_algo ] );
if ( !submit_work( mythr, &work ) )
{
applog( LOG_WARNING, "Failed to submit share." );
break;
}
if ( !opt_quiet )
applog( LOG_NOTICE, "%d: submitted by thread %d.",
applog( LOG_BLUE, "Share %d submitted by thread %d.",
accepted_share_count + rejected_share_count + 1,
mythr->id );

View File

@@ -41,7 +41,7 @@
"/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp1_input"
#define HWMON_PATH3 \
"/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input"
"/sys/class/hwmon/hwmon0/temp1_input"
#define HWMON_PATH \
"/sys/class/hwmon/hwmon2/temp1_input"
@@ -84,6 +84,21 @@ static inline float linux_cputemp(int core)
if (!fd)
fd = fopen(HWMON_PATH, "r");
if (!fd)
// fd = fopen(HWMON_ALT1, "r");
// if (!fd)
fd = fopen(HWMON_ALT2, "r");
if (!fd)
fd = fopen(HWMON_ALT3, "r");
if (!fd)
fd = fopen(HWMON_ALT4, "r");
if (!fd)
fd = fopen(HWMON_ALT5, "r");
if (!fd)
return tc;