mirror of
https://github.com/GOSTSec/ccminer
synced 2025-01-22 12:34:17 +00:00
prepare the 1.7 release
This commit is contained in:
parent
d3e2088398
commit
e9b88b45e4
10
README.txt
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,
|
||||||
|
@ -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);
|
||||||
|
@ -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) {
|
||||||
|
@ -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
|
||||||
|
@ -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
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
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"
|
||||||
|
@ -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…
x
Reference in New Issue
Block a user