Browse Source

prepare the 1.7 release

2upstream
Tanguy Pruvot 9 years ago
parent
commit
e9b88b45e4
  1. 10
      README.txt
  2. 4
      bench.cpp
  3. 2
      ccminer.cpp
  4. 2
      configure.ac
  5. 6
      cpuminer-config.h
  6. 6
      cuda.cpp
  7. 1
      miner.h
  8. 15
      qubit/qubit.cu

10
README.txt

@ -1,5 +1,5 @@
ccMiner release 1.6.6 (Aug 2015) "Lyra2REv2, BMW And Vanilla" ccMiner release 1.7.0 (Nov 2015) "Mining Diff & basic MultiAlgo"
--------------------------------------------------------------- ---------------------------------------------------------------
*************************************************************** ***************************************************************
@ -228,11 +228,13 @@ features.
>>> RELEASE HISTORY <<< >>> RELEASE HISTORY <<<
Under Dev... v1.7 Nov. 02nd 2015 v1.7
Improve old devices compatibility (x11, lyra2, qubit...)
Add windows support for SM 2.1 and drop SM 3.5 (x86) Add windows support for SM 2.1 and drop SM 3.5 (x86)
Improve lyra2 (v1/v2) cuda implementation Improve lyra2 (v1/v2) cuda implementations
Improve most common algos on SM5+ with sp blake kernel
Restore whirlpool algo (and whirlcoin variant) Restore whirlpool algo (and whirlcoin variant)
Prepare algo switch ability Prepare algo/pool switch ability, trivial method
Add --benchmark alone to run a benchmark for all algos Add --benchmark alone to run a benchmark for all algos
Add --cuda-schedule parameter Add --cuda-schedule parameter
Add --show-diff parameter, which display shares diff, Add --show-diff parameter, which display shares diff,

4
bench.cpp

@ -77,9 +77,6 @@ void algo_free_all(int thr_id)
//free_sha256d(thr_id); //free_sha256d(thr_id);
free_scrypt(thr_id); free_scrypt(thr_id);
free_scrypt_jane(thr_id); free_scrypt_jane(thr_id);
// warn on cuda error
CUDA_LOG_ERROR();
} }
// benchmark all algos (called once per mining thread) // benchmark all algos (called once per mining thread)
@ -118,6 +115,7 @@ bool bench_algo_switch_next(int thr_id)
// free current algo memory and track mem usage // free current algo memory and track mem usage
mused = cuda_available_memory(thr_id); mused = cuda_available_memory(thr_id);
algo_free_all(thr_id); algo_free_all(thr_id);
CUDA_LOG_ERROR();
// device can take some time to free // device can take some time to free
mfree = cuda_available_memory(thr_id); mfree = cuda_available_memory(thr_id);

2
ccminer.cpp

@ -1636,6 +1636,8 @@ static void *miner_thread(void *userdata)
// free gpu resources // free gpu resources
algo_free_all(thr_id); algo_free_all(thr_id);
// clear any free error (algo switch)
cuda_clear_lasterror();
// conditional pool switch // conditional pool switch
if (num_pools > 1 && conditional_pool_rotate) { if (num_pools > 1 && conditional_pool_rotate) {

2
configure.ac

@ -1,4 +1,4 @@
AC_INIT([ccminer], [1.7-dev]) AC_INIT([ccminer], [1.7])
AC_PREREQ([2.59c]) AC_PREREQ([2.59c])
AC_CANONICAL_SYSTEM AC_CANONICAL_SYSTEM

6
cpuminer-config.h

@ -162,7 +162,7 @@
#define PACKAGE_NAME "ccminer" #define PACKAGE_NAME "ccminer"
/* Define to the full name and version of this package. */ /* Define to the full name and version of this package. */
#define PACKAGE_STRING "ccminer 1.7-dev" #define PACKAGE_STRING "ccminer 1.7"
/* Define to the one symbol short name of this package. */ /* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "ccminer" #define PACKAGE_TARNAME "ccminer"
@ -171,7 +171,7 @@
#define PACKAGE_URL "http://github.com/tpruvot/ccminer" #define PACKAGE_URL "http://github.com/tpruvot/ccminer"
/* Define to the version of this package. */ /* Define to the version of this package. */
#define PACKAGE_VERSION "1.7-dev" #define PACKAGE_VERSION "1.7"
/* If using the C implementation of alloca, define if you know the /* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be direction of stack growth for your system; otherwise it will be
@ -185,7 +185,7 @@
#define STDC_HEADERS 1 #define STDC_HEADERS 1
/* Version number of package */ /* Version number of package */
#define VERSION "1.7-dev" #define VERSION "1.7"
/* Define curl_free() as free() if our version of curl lacks curl_free. */ /* Define curl_free() as free() if our version of curl lacks curl_free. */
/* #undef curl_free */ /* #undef curl_free */

6
cuda.cpp

@ -201,6 +201,12 @@ void cuda_log_lasterror(int thr_id, const char* func, int line)
gpulog(LOG_WARNING, thr_id, "%s:%d %s", func, line, cudaGetErrorString(err)); gpulog(LOG_WARNING, thr_id, "%s:%d %s", func, line, cudaGetErrorString(err));
} }
// Clear any cuda error in non-cuda unit (.c/.cpp)
void cuda_clear_lasterror()
{
cudaGetLastError();
}
#ifdef __cplusplus #ifdef __cplusplus
} /* extern "C" */ } /* extern "C" */
#endif #endif

1
miner.h

@ -494,6 +494,7 @@ uint32_t cuda_default_throughput(int thr_id, uint32_t defcount);
#define device_intensity(t,f,d) cuda_default_throughput(t,d) #define device_intensity(t,f,d) cuda_default_throughput(t,d)
void cuda_log_lasterror(int thr_id, const char* func, int line); void cuda_log_lasterror(int thr_id, const char* func, int line);
void cuda_clear_lasterror();
#define CUDA_LOG_ERROR() cuda_log_lasterror(thr_id, __func__, __LINE__) #define CUDA_LOG_ERROR() cuda_log_lasterror(thr_id, __func__, __LINE__)
#define CL_N "\x1B[0m" #define CL_N "\x1B[0m"

15
qubit/qubit.cu

@ -23,6 +23,8 @@ extern void qubit_luffa512_cpu_hash_80(int thr_id, uint32_t threads, uint32_t st
extern "C" void qubithash(void *state, const void *input) extern "C" void qubithash(void *state, const void *input)
{ {
uint8_t _ALIGN(128) hash[64];
// luffa1-cubehash2-shavite3-simd4-echo5 // luffa1-cubehash2-shavite3-simd4-echo5
sph_luffa512_context ctx_luffa; sph_luffa512_context ctx_luffa;
@ -31,8 +33,6 @@ extern "C" void qubithash(void *state, const void *input)
sph_simd512_context ctx_simd; sph_simd512_context ctx_simd;
sph_echo512_context ctx_echo; sph_echo512_context ctx_echo;
uint8_t hash[64];
sph_luffa512_init(&ctx_luffa); sph_luffa512_init(&ctx_luffa);
sph_luffa512 (&ctx_luffa, input, 80); sph_luffa512 (&ctx_luffa, input, 80);
sph_luffa512_close(&ctx_luffa, (void*) hash); sph_luffa512_close(&ctx_luffa, (void*) hash);
@ -68,7 +68,7 @@ extern "C" int scanhash_qubit(int thr_id, struct work* work, uint32_t max_nonce,
if (init[thr_id]) throughput = min(throughput, max_nonce - first_nonce); if (init[thr_id]) throughput = min(throughput, max_nonce - first_nonce);
if (opt_benchmark) if (opt_benchmark)
((uint32_t*)ptarget)[7] = 0x0000ff; ptarget[7] = 0x007f;
if (!init[thr_id]) if (!init[thr_id])
{ {
@ -133,11 +133,16 @@ extern "C" int scanhash_qubit(int thr_id, struct work* work, uint32_t max_nonce,
} }
} }
if ((uint64_t) throughput + pdata[19] >= max_nonce) {
pdata[19] = max_nonce;
break;
}
pdata[19] += throughput; pdata[19] += throughput;
} while (pdata[19] < max_nonce && !work_restart[thr_id].restart); } while (!work_restart[thr_id].restart);
*hashes_done = pdata[19] - first_nonce + 1; *hashes_done = pdata[19] - first_nonce;
return 0; return 0;
} }

Loading…
Cancel
Save