Browse Source

various small changes and update readme

master
Tanguy Pruvot 10 years ago
parent
commit
77c737ff72
  1. 2
      Algo256/cuda_blake256.cu
  2. 27
      README.txt
  3. 22
      ccminer.cpp
  4. 5
      ccminer.vcxproj
  5. 7
      ccminer.vcxproj.filters
  6. 4
      util.cpp

2
Algo256/cuda_blake256.cu

@ -73,7 +73,7 @@ static const uint32_t c_u256[16] = {
} }
//#define ROTL32(x, n) ((x) << (n)) | ((x) >> (32 - (n))) //#define ROTL32(x, n) ((x) << (n)) | ((x) >> (32 - (n)))
#define ROTR32(x, n) (((x) >> (n)) | ((x) << (32 - (n)))) //#define ROTR32(x, n) (((x) >> (n)) | ((x) << (32 - (n))))
#define hostGS(a,b,c,d,x) { \ #define hostGS(a,b,c,d,x) { \
const uint32_t idx1 = c_sigma[r][x]; \ const uint32_t idx1 = c_sigma[r][x]; \
const uint32_t idx2 = c_sigma[r][x+1]; \ const uint32_t idx2 = c_sigma[r][x+1]; \

27
README.txt

@ -1,5 +1,5 @@
ccMiner release 1.5.3-tpruvot (11 Feb 2015) - "Default Config" ccMiner release 1.6.0-tpruvot (Mar 2015) - "Pluck & Whirlpoolx"
--------------------------------------------------------------- ---------------------------------------------------------------
*************************************************************** ***************************************************************
@ -32,7 +32,7 @@ JackpotCoin
QuarkCoin family & AnimeCoin QuarkCoin family & AnimeCoin
TalkCoin TalkCoin
DarkCoin and other X11 coins DarkCoin and other X11 coins
NEOS blake (256 14-rounds) Saffroncoin blake (256 14-rounds)
BlakeCoin (256 8-rounds) BlakeCoin (256 8-rounds)
Keccak (Maxcoin) Keccak (Maxcoin)
Deep, Doom and Qubit Deep, Doom and Qubit
@ -58,7 +58,7 @@ its command line interface and options.
-a, --algo=ALGO specify the algorithm to use -a, --algo=ALGO specify the algorithm to use
anime use to mine Animecoin anime use to mine Animecoin
blake use to mine NEOS (Blake 256) blake use to mine Saffroncoin (Blake 256)
blakecoin use to mine Old Blake 256 blakecoin use to mine Old Blake 256
deep use to mine Deepcoin deep use to mine Deepcoin
dmd-gr use to mine Diamond-Groestl dmd-gr use to mine Diamond-Groestl
@ -74,10 +74,12 @@ its command line interface and options.
myr-gr use to mine Myriad-Groest myr-gr use to mine Myriad-Groest
nist5 use to mine TalkCoin nist5 use to mine TalkCoin
penta use to mine Joincoin / Pentablake penta use to mine Joincoin / Pentablake
pluck use to mine Supcoin
quark use to mine Quarkcoin quark use to mine Quarkcoin
qubit use to mine Qubit Algo qubit use to mine Qubit Algo
s3 use to mine 1coin s3 use to mine 1coin
whirl use to mine Whirlcoin whirl use to mine Whirlcoin
whirlpoolx use to mine Vanillacoin
x11 use to mine DarkCoin x11 use to mine DarkCoin
x14 use to mine X14Coin x14 use to mine X14Coin
x15 use to mine Halcyon x15 use to mine Halcyon
@ -88,8 +90,8 @@ its command line interface and options.
Alternatively give string names of your card like Alternatively give string names of your card like
gtx780ti or gt640#2 (matching 2nd gt640 in the PC). gtx780ti or gt640#2 (matching 2nd gt640 in the PC).
-i, --intensity GPU threads per call 8-31 (default: 0=auto) -i, --intensity=N[,N] GPU threads per call 8-25 (2^N + F, default: 0=auto)
Decimals are allowed for fine tuning Decimals and multiple values are allowed for fine tuning
-f, --diff Divide difficulty by this factor (std is 1) -f, --diff Divide difficulty by this factor (std is 1)
-v, --vote Heavycoin block vote (default: 512) -v, --vote Heavycoin block vote (default: 512)
-o, --url=URL URL of mining server -o, --url=URL URL of mining server
@ -152,6 +154,12 @@ and password with -O (or -u -p) as specified in the wallet config.
The wallet must also be started with the -server option and/or with the server=1 flag in the .conf file The wallet must also be started with the -server option and/or with the server=1 flag in the .conf file
>>> Configuration files <<<
With the -c parameter you can use a json config file to set your prefered settings.
An example is present in source tree, and is also the default one when no command line parameters are given.
This allow you to run the miner without batch/script.
>>> API and Monitoring <<< >>> API and Monitoring <<<
@ -175,6 +183,13 @@ features.
>>> RELEASE HISTORY <<< >>> RELEASE HISTORY <<<
Mar. 2015 v1.6.0 (Note for CryptoMiningBlog: NOT YET RELEASED/FINISHED!)
Import pluck (djm34) and whirlpoolx (alexis78) algos
Hashrate units based on hashing rate values (Hs/kHs/MHs/GHs)
Default config file (also help to debug without command line)
Various small fixes
More to come soon...
Feb. 11th 2015 v1.5.3 Feb. 11th 2015 v1.5.3
Fix anime algo Fix anime algo
Allow a default config file in user or ccminer folder Allow a default config file in user or ccminer folder
@ -323,7 +338,7 @@ Notable contributors to this application are:
Christian Buchner, Christian H. (Germany): Initial CUDA implementation Christian Buchner, Christian H. (Germany): Initial CUDA implementation
djm34, tsiv, sp for cuda algos implementation and optimisation djm34, tsiv, sp and klausT for cuda algos implementation and optimisation
Tanguy Pruvot : 750Ti tuning, blake, colors, general code cleanup/opts Tanguy Pruvot : 750Ti tuning, blake, colors, general code cleanup/opts
API monitoring, linux Config/Makefile and vstudio stuff... API monitoring, linux Config/Makefile and vstudio stuff...

22
ccminer.cpp

@ -159,7 +159,7 @@ bool opt_quiet = false;
static int opt_retries = -1; static int opt_retries = -1;
static int opt_fail_pause = 30; static int opt_fail_pause = 30;
int opt_timeout = 270; int opt_timeout = 270;
static int opt_scantime = 5; static int opt_scantime = 10;
static json_t *opt_config; static json_t *opt_config;
static const bool opt_time = true; static const bool opt_time = true;
static enum sha_algos opt_algo = ALGO_X11; static enum sha_algos opt_algo = ALGO_X11;
@ -249,12 +249,12 @@ Options:\n\
x15 X15\n\ x15 X15\n\
x17 X17 (peoplecurrency)\n\ x17 X17 (peoplecurrency)\n\
whirl Whirlcoin (old whirlpool)\n\ whirl Whirlcoin (old whirlpool)\n\
whirlpoolx Whirlpoolx (Vanilla coin)\n\ whirlpoolx Vanilla coin\n\
-d, --devices Comma separated list of CUDA devices to use.\n\ -d, --devices Comma separated list of CUDA devices to use.\n\
Device IDs start counting from 0! Alternatively takes\n\ Device IDs start counting from 0! Alternatively takes\n\
string names of your cards like gtx780ti or gt640#2\n\ string names of your cards like gtx780ti or gt640#2\n\
(matching 2nd gt640 in the PC)\n\ (matching 2nd gt640 in the PC)\n\
-i --intensity=N GPU intensity 8-31 (default: auto) \n\ -i --intensity=N[,N] GPU intensity 8.0-25.0 (default: auto) \n\
Decimals are allowed for fine tuning \n\ Decimals are allowed for fine tuning \n\
-f, --diff Divide difficulty by this factor (std is 1) \n\ -f, --diff Divide difficulty by this factor (std is 1) \n\
-v, --vote=VOTE block reward vote (for HeavyCoin)\n\ -v, --vote=VOTE block reward vote (for HeavyCoin)\n\
@ -271,7 +271,7 @@ Options:\n\
-R, --retry-pause=N time to pause between retries, in seconds (default: 30)\n\ -R, --retry-pause=N time to pause between retries, in seconds (default: 30)\n\
-T, --timeout=N network timeout, in seconds (default: 270)\n\ -T, --timeout=N network timeout, in seconds (default: 270)\n\
-s, --scantime=N upper bound on time spent scanning current work when\n\ -s, --scantime=N upper bound on time spent scanning current work when\n\
long polling is unavailable, in seconds (default: 5)\n\ long polling is unavailable, in seconds (default: 10)\n\
-N, --statsavg number of samples used to display hashrate (default: 30)\n\ -N, --statsavg number of samples used to display hashrate (default: 30)\n\
--no-gbt disable getblocktemplate support (height check in solo)\n\ --no-gbt disable getblocktemplate support (height check in solo)\n\
--no-longpoll disable X-Long-Polling support\n\ --no-longpoll disable X-Long-Polling support\n\
@ -1421,7 +1421,7 @@ static void *miner_thread(void *userdata)
case ALGO_WHIRLPOOLX: case ALGO_WHIRLPOOLX:
rc = scanhash_whirlpoolx(thr_id, work.data, work.target, rc = scanhash_whirlpoolx(thr_id, work.data, work.target,
max_nonce, &hashes_done); max_nonce, &hashes_done);
break; break;
case ALGO_X11: case ALGO_X11:
@ -1436,17 +1436,17 @@ static void *miner_thread(void *userdata)
case ALGO_X14: case ALGO_X14:
rc = scanhash_x14(thr_id, work.data, work.target, rc = scanhash_x14(thr_id, work.data, work.target,
max_nonce, &hashes_done); max_nonce, &hashes_done);
break; break;
case ALGO_X15: case ALGO_X15:
rc = scanhash_x15(thr_id, work.data, work.target, rc = scanhash_x15(thr_id, work.data, work.target,
max_nonce, &hashes_done); max_nonce, &hashes_done);
break; break;
case ALGO_X17: case ALGO_X17:
rc = scanhash_x17(thr_id, work.data, work.target, rc = scanhash_x17(thr_id, work.data, work.target,
max_nonce, &hashes_done); max_nonce, &hashes_done);
break; break;
default: default:
@ -2248,8 +2248,8 @@ int main(int argc, char *argv[])
#else #else
printf(" Built with the nVidia CUDA SDK 6.5\n\n"); printf(" Built with the nVidia CUDA SDK 6.5\n\n");
#endif #endif
printf(" Originally based on cudaminer by Christian Buchner and Christian H.,\n"); printf(" Originally based on Christian Buchner and Christian H. project\n");
printf(" Include some work of djm34, sp, tsiv and klausT\n\n"); printf(" Include some of the work of djm34, sp, tsiv and klausT.\n\n");
printf("BTC donation address: 1AJdfCpLWPNoAMDfHF1wD5y8VgKSSTHxPo (tpruvot)\n\n"); printf("BTC donation address: 1AJdfCpLWPNoAMDfHF1wD5y8VgKSSTHxPo (tpruvot)\n\n");
rpc_user = strdup(""); rpc_user = strdup("");
@ -2302,7 +2302,7 @@ int main(int argc, char *argv[])
// extra credits.. // extra credits..
if (opt_algo == ALGO_WHIRLPOOLX) { if (opt_algo == ALGO_WHIRLPOOLX) {
printf(" Whirlpoolx support by Alexis Provos.\n"); printf(" Whirlpoolx support by Alexis Provos.\n");
printf("VNL donation address: VrjvyQJ9d1Bfte5kVSA8qfZoYdN2C6weCG\n\n"); printf("VNL donation address: Vr5oCen8NrY6ekBWFaaWjCUFBH4dyiS57W\n\n");
} }
if (!opt_benchmark && !strlen(rpc_url)) { if (!opt_benchmark && !strlen(rpc_url)) {

5
ccminer.vcxproj

@ -495,6 +495,9 @@
<ItemGroup> <ItemGroup>
<ResourceCompile Include="res\ccminer.rc" /> <ResourceCompile Include="res\ccminer.rc" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Text Include="README.txt" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets"> <ImportGroup Label="ExtensionTargets">
<Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 6.5.targets" /> <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 6.5.targets" />
@ -506,4 +509,4 @@
<Target Name="AfterClean"> <Target Name="AfterClean">
<Delete Files="@(FilesToCopy->'$(OutDir)%(Filename)%(Extension)')" TreatErrorsAsWarnings="true" /> <Delete Files="@(FilesToCopy->'$(OutDir)%(Filename)%(Extension)')" TreatErrorsAsWarnings="true" />
</Target> </Target>
</Project> </Project>

7
ccminer.vcxproj.filters

@ -582,4 +582,9 @@
<Filter>Ressources</Filter> <Filter>Ressources</Filter>
</ResourceCompile> </ResourceCompile>
</ItemGroup> </ItemGroup>
</Project> <ItemGroup>
<Text Include="README.txt">
<Filter>Ressources</Filter>
</Text>
</ItemGroup>
</Project>

4
util.cpp

@ -160,7 +160,7 @@ void get_defconfig_path(char *out, size_t bufsize, char *argv0)
#endif #endif
if (dir && stat(out, &info) != 0) { if (dir && stat(out, &info) != 0) {
// binary folder if not present in user folder // binary folder if not present in user folder
snprintf(out, bufsize, "%s%sccminer.conf\0", dir, sep); snprintf(out, bufsize, "%s%sccminer.conf%s", dir, sep, "");
} }
if (stat(out, &info) != 0) { if (stat(out, &info) != 0) {
out[0] = '\0'; out[0] = '\0';
@ -1266,7 +1266,7 @@ static bool stratum_notify(struct stratum_ctx *sctx, json_t *params)
ntime = swab32(ntime) - (uint32_t) time(0); ntime = swab32(ntime) - (uint32_t) time(0);
if (ntime > sctx->srvtime_diff) { if (ntime > sctx->srvtime_diff) {
sctx->srvtime_diff = ntime; sctx->srvtime_diff = ntime;
if (!opt_quiet && ntime > 20) if (opt_protocol && ntime > 20)
applog(LOG_DEBUG, "stratum time is at least %ds in the future", ntime); applog(LOG_DEBUG, "stratum time is at least %ds in the future", ntime);
} }

Loading…
Cancel
Save