1
0
mirror of https://github.com/GOSTSec/ccminer synced 2025-01-10 06:47:53 +00:00
Commit Graph

212 Commits

Author SHA1 Message Date
Tanguy Pruvot
9dfa757dc7 warn on cuda errors + various small changes
The full benchmark can now be launched with "ccminer --benchmark"

add a new helper function which log a warning with last cuda error
(not shown with the quiet option) : CUDA_LOG_ERROR();
it can be used where miner.h is included (.c/.cpp/.cu)

fix x14 (in ccminer.cpp), a break was missing in switch..case
2015-10-12 08:46:13 +02:00
Tanguy Pruvot
8fbfe2cfda add gpulog() function helper, simple and multi-threads
when using multiple cpu threads per gpu, use the T prefix, ex:

[2015-10-11 09:52:49] GPU #0: app clocks set to P0 (3600/1228)
 vs
[2015-10-11 09:52:51] GPU T0: MSI GTX 960, 5953.35 kH/s

Only thr_id is required, the function take care of the dev id
2015-10-11 10:46:05 +02:00
Tanguy Pruvot
c6dcc5e5cf benchmark: show mem and default throughput in results
and prepare a new function to get the default intensity

also, take care of multiple threads per gpu...
2015-10-11 04:38:28 +02:00
Tanguy Pruvot
8db5a0bc9e blake: change dynamic round system
blakecoin was conflicting with lyra2, set the rounds more properly
2015-10-11 03:46:30 +02:00
Tanguy Pruvot
ab5cc7162e refactor: create bench.cpp and algos.h
Also enhance multi-thread benchmark synchro. with pthread barriers
2015-10-11 00:10:27 +02:00
Tanguy Pruvot
c2214091ae benchmark: free last memory leaks on algo switch
remains my original lyra2 implementation to fix... (cuda_lyra2.cu)

I guess some kind of memory overflow force the driver to allocate
memory... but was unable to free it without device reset.
2015-10-10 02:15:32 +02:00
Tanguy Pruvot
4e1e03b891 benchmark: store all algos results + cuda fixes
Note: lyra2, lyra2v2 and script seems to have problems
to coexist with other algos... to run after some of them...

moved lyra2 first and skip scrypt/jane for the moment...

Only stored in memory for now.. to display a table after the bench

ccminer -a auto --benchmark

Results may be exported later to a json file...
2015-10-09 02:07:08 +02:00
Tanguy Pruvot
934555994d benchmark: allow -a auto to bench all algos at once 2015-10-08 21:41:20 +02:00
Tanguy Pruvot
42789f1a0d whirlpool: allow stratum compat with new coins
make a difference between whirlpool and whirlcoin algos (stratum)

Look like the old SHA merkleroot method doesnt work on recent coins

Doesn't affect solo mining, only pools using stratum+tcp:// protocol
2015-10-07 02:26:17 +00:00
Tanguy Pruvot
5f12943de5 whirlpool: add algo free function + vstudio 2015-10-06 23:53:03 +02:00
Tanguy Pruvot
b641bfdf8b diff: rename functions like cpuminer-multi
more proper, intuitive...
2015-10-06 23:37:13 +02:00
Tanguy Pruvot
3f589cc4db restore the whirlpool algo 2015-10-06 23:37:07 +02:00
Tanguy Pruvot
2ebcd1fbd5 neoscrypt: handle both getwork data sizes FTC/ORB
only affect solo mining, this patch should handle more weird cases

also set getblocktemplate param type to an empty object (ORB)
2015-09-29 13:00:14 +02:00
Tanguy Pruvot
8fb92415fb stratum: prevent multiple bloc notifications on yaamp
yaamp always notify clean jobs,
was not correct for my "new bloc" detection system...
2015-09-26 10:15:52 +02:00
Tanguy Pruvot
e1c4b3042c algos: add functions to free allocated resources
Will be used later for algo switching

not really tested yet...
2015-09-25 07:51:57 +02:00
Tanguy Pruvot
8ec5dd7d8e Handle the getwork typo in neoscrypt wallets
allow solo mining neoscrypt coins... (FTC/UFO)
2015-09-24 20:53:17 +02:00
Tanguy Pruvot
ec054db317 Show shares diff on longpoll pools too
and remove unused remains of old difficulty functions
2015-09-24 13:23:24 +02:00
Tanguy Pruvot
41707760f5 stratum: force exit on pool auth failure
the miner was stuck instead of exiting after the retries...
2015-09-24 11:31:20 +02:00
Tanguy Pruvot
fade2b74b5 diff: cleanup after windows test 2015-09-24 03:57:12 +02:00
Tanguy Pruvot
5308898d1c start v1.7, apply new prototypes to all algos 2015-09-23 15:42:17 +02:00
Tanguy Pruvot
4babf37256 Add --show-diff parameter and fix pool net diff
which display submitted block and net difficulty and is able
to detect shares above net diff (solved blocs)

Note: only made on lyra2v2 and zr5 algos

TODO: compute the found diff on all algos...
require changes in all scan hash "kernel" function parameters

to be continued...
2015-09-23 14:44:59 +02:00
Tanguy Pruvot
cd64f9b0e7 Add a new cuda-schedule parameter
0: cudaDeviceScheduleAuto
1: cudaDeviceScheduleSpin
2: cudaDeviceScheduleYield
4: cudaDeviceScheduleBlockingSync

Also set the best one (4) for luffa algo by default...
2015-09-17 23:45:03 +02:00
Tanguy Pruvot
6e64383b32 klaus small fixes 2015-09-05 20:16:24 +02:00
Tanguy Pruvot
9a13624c2e check abort_flag in threads loops
This flag was added recently (scrypt) from cudaminer code,
and i missed some...

and prevent multiple calls to proper_exit(), one is enough...
2015-08-24 13:33:03 +02:00
Tanguy Pruvot
629d987177 Allow to load remote config files with curl
different samples of use:

  ccminer -c http://127.0.0.1/ccminer.json

or dynamically from a web application :
  ccminer -c http://127.0.0.1/ccminer/config.php?h=linux

Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>
2015-08-24 08:44:34 +02:00
Tanguy Pruvot
64e997e9d6 prepare release 1.6.6 2015-08-22 17:33:26 +02:00
Tanguy Pruvot
01f3183c31 bmw algo for MDT, with midstate
which could be extracted from json too

replace a satcoin by another one ;)

Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>
2015-08-22 15:01:51 +02:00
Tanguy Pruvot
e3548f46f3 drop animecoin support
no more really minable... just minable in french
2015-08-22 12:35:22 +02:00
Tanguy Pruvot
736f916da3 Restore default timeout (300s) for normal use
Was only useful to reduce pool switching problems but
some pools require a longer value.
2015-08-22 12:30:30 +02:00
Tanguy Pruvot
c9ef0b6b39 affinity: allow more than 8 cores values (and hexa) 2015-08-22 12:30:30 +02:00
Tanguy Pruvot
53cd591956 lyra2v2, bmw256 and cubehash256 cleanup + diff fix 2015-08-18 11:10:58 +02:00
Tanguy Pruvot
4b04ca8027 lyra2v2: aliases and readme 2015-08-18 09:27:30 +02:00
Tanguy Pruvot
d4e191610e Import and adapt lyra2v2
not tested on windows and with SM <= 5
2015-08-18 09:27:11 +02:00
Tanguy Pruvot
3788fef9fd Restore whirlpoolx algo 2015-08-15 06:53:40 +02:00
Tanguy Pruvot
21630d5fbc affinity: do not default to win32 2015-07-25 06:47:22 +02:00
Tanguy Pruvot
e2f73614c0 link the no-extranonce option to the cmdline 2015-07-22 01:19:49 +02:00
Tanguy Pruvot
d923f0c1b2 solo: improve getmininginfo 2015-07-21 13:17:24 +02:00
Tanguy Pruvot
c5df142124 Add c11 algo (x11 variant)
Used by Chaincoin and Flaxscript
2015-06-29 11:46:16 +02:00
Tanguy Pruvot
15293d063f remove pluck algo
Supcoin seems.... dead and the algo was not supported on all devices
2015-06-28 20:48:23 +02:00
Tanguy Pruvot
25a78c96b5 nvml: allow to keep modified clocks + vendors
--keep-clocks option prevent reset clocks on exit...
2015-06-25 14:21:25 +02:00
Tanguy Pruvot
7c5087d01c nvml: add --plimit and --pstate parameters
--pstate 0 is an alternative to clocks values to set the device in P0
mode, 1 will set appl. clocks to default P1 clocks, 2 to default P2..

--plimit 150W really works on the 9xx and allow to limit/reduce the gpu usage

Note: nvml interface is only available on linux and windows x64

Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>
2015-06-24 10:35:34 +02:00
Tanguy Pruvot
f73f5f6a2e nvml: use the right nvmlDeviceGetPciInfo_v2 api
so... pciutils branch is no more required on windows :p
2015-06-23 14:38:12 +02:00
Tanguy Pruvot
7661f73317 prepare the 1.6.5 release 2015-06-23 05:42:06 +02:00
Tanguy Pruvot
cb9d51c026 x64: link nvml api to allow app. clocks and P0
_WIN32 is also defined on x64 builds...

+ fix compat/getopt dos2unix (there was mixed CRLF)
2015-06-23 05:24:18 +02:00
Tanguy Pruvot
9aac7ca713 simplify diff factor and multiplier 2015-06-19 02:02:59 +02:00
Tanguy Pruvot
576884b199 refactor: move pool functions in pools.cpp
ccminer.cpp begins to be too big...
2015-06-18 04:44:52 +02:00
Tanguy Pruvot
79ee0ec264 zr5: some pok cleanup...
rename the var and only show warnings with --debug
2015-06-13 04:41:18 +02:00
Tanguy Pruvot
2907a7c678 zr5: add support for pok mining (getwork)
I dont store txs on biggest transactions to reduce memory usage.

In this case, the pok bool is not enabled for the bloc...

Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>
2015-06-12 08:24:50 +02:00
Tanguy Pruvot
39238f077d diff: import bitcoin bignum class for conversions
BIGNUM is defined in OpenSSL...
2015-06-11 00:03:19 +02:00
Tanguy Pruvot
5636e2be5e remove double reference to luffa algo
doomcoin is dead but the luffa algo is still used (Joincoin)..

keep doom as alias for compat... rename functions...
2015-06-10 22:10:16 +02:00
Tanguy Pruvot
d25b42e41b Add diff-multiplier (-m) option
Remove -v and -m short params specific to heavycoin
 Add --diff-multiplier (-m) and rename --diff to --diff-factor (-f)

 --diff is kept for compat, but no more in help

This prevent using weird values like -f 0.0000125
2015-06-10 21:14:36 +02:00
Tanguy Pruvot
555504bd98 some changes related to wait stats 2015-06-05 20:36:48 +02:00
Tanguy Pruvot
2ea4635ef7 windows: scan time debug log was casted to 64bits int 2015-05-31 20:33:31 +02:00
Tanguy Pruvot
76b63b5a71 print the right cuda version 2015-05-31 19:00:20 +02:00
Tanguy Pruvot
e791039592 check work restart status in miner thread
also reduce a bit possible duplicate shares...
2015-05-30 13:20:35 +02:00
Tanguy Pruvot
c2f319fa86 multipool: fix some params like time-limit 2015-05-29 15:38:45 +02:00
Tanguy Pruvot
85394cf22b cuda: reduce possible segfaults on exit
not perfect but helps...
2015-05-28 15:58:38 +02:00
Tanguy Pruvot
0c545eb724 nvml: check available memory clocks and fix param for -d 1
"-d 1 --gpu-clock 1200" was not working
2015-05-28 07:49:31 +02:00
Tanguy Pruvot
75d721adb9 stratum: check if we have multiple pools to failover 2015-05-28 06:50:21 +02:00
Tanguy Pruvot
a08056ed2a linux: reset modified application clocks 2015-05-27 15:50:10 +02:00
Tanguy Pruvot
c9d110e543 linux: allow to set application clocks
Since linux driver 346.72, nvidia-smi allow to query gpu/mem clocks

Tested ok on the Asus Strix 970, but fails on the Gigabyte 750 Ti

system could require first persistence mode and app clock unlock :
    nvidia-smi -pm 1
    nvidia-smi -acp 0

supported values are displayed by
    nvidia-smi -q -d SUPPORTED_CLOCKS

Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>
2015-05-27 14:34:39 +02:00
Tanguy Pruvot
692041aa74 multipool: allow failover switch from getwork 2015-05-26 09:51:46 +02:00
Tanguy Pruvot
b2b76f8006 stratum: check stratum_gen_work result
and remove useless purge test...
2015-05-25 07:43:39 +02:00
Tanguy Pruvot
f1a55b3388 algo aliases, fix max-diff param without pool config 2015-05-25 03:17:53 +02:00
Tanguy Pruvot
bbd2c704f9 multipool: Squashed commit (v2)
commit a9d3c1ffdb71d2a4985749acba3d424161154ab4
Author: Tanguy Pruvot <tanguy.pruvot@gmail.com>
Date:   Thu May 21 05:39:24 2015 +0200

    multipool: last changes before squashed merge

    and fix net diff on wallets.. was longpoll specific

commit a63f0024f3f1fb52d2c4369518bf87c33a9e16ae
Author: Tanguy Pruvot <tanguy.pruvot@gmail.com>
Date:   Thu May 21 05:02:27 2015 +0200

    update api sample for the protocol 1.5

commit adda14b22edde6485932be56550166478f6f00dd
Author: Tanguy Pruvot <tanguy.pruvot@gmail.com>
Date:   Thu May 21 04:43:25 2015 +0200

    stats: store pool number in scanlog

commit e1a0274b01c29409ce16f9096b9985a35cf78ba7
Author: Tanguy Pruvot <tanguy.pruvot@gmail.com>
Date:   Thu May 21 03:36:15 2015 +0200

    api: switchpool and new pool stats variables (API v1.5)

    add accepted/rej by pool, wait time on conditional, net diff and rate

    also add scantime per pool config option and do some pool cleanup..

commit 1a30450ad2a5e068983531b9d2a96629b970c1e8
Author: Tanguy Pruvot <tanguy.pruvot@gmail.com>
Date:   Wed May 20 06:39:09 2015 +0200

    prevent concurrent pool switching

    and limit condtionnal wait messages to the first thread/device

commit e3922c7a331a3ad2730bc83082fcd6b2547542f5
Author: Tanguy Pruvot <tanguy.pruvot@gmail.com>
Date:   Wed May 20 05:39:45 2015 +0200

    add some pool rotate options, like pool time-limit

    update sample pools.conf for time rotation

commit 312bd905412d49fd5a9f9e7ff2bc72b23edf38ed
Author: Tanguy Pruvot <tanguy.pruvot@gmail.com>
Date:   Wed May 20 04:31:19 2015 +0200

    do not try to restart threads from threads

    Start inconditionally the stratum and longpoll threads,
    these threads are just waiting a tq_push() if unused...

    so add some checks to know if vars are set for the right pool

commit d4a9428fefdd9e9d70c3c8231f10961e7cd41760
Author: Tanguy Pruvot <tanguy.pruvot@gmail.com>
Date:   Wed May 20 01:06:31 2015 +0200

    pools: add name and removed attributes

    also increase max defined pools to 8

    to be tested on windows..

commit d840d683ecb2cc4767f0a0612b8359c52d4bad29
Author: Tanguy Pruvot <tanguy.pruvot@gmail.com>
Date:   Tue May 19 22:33:11 2015 +0200

    parse json config file pools array

commit d6c29b1f7f6b786c56e1f0cb8a90305f06cc7aec
Author: Tanguy Pruvot <tanguy.pruvot@gmail.com>
Date:   Tue May 19 03:29:30 2015 +0200

    multi-pools: prepare storage/switch of credentials

    for the moment:
    - allow the storage of multiple -o params (and user/pass)
    - allow a failover pool on connection failed
    - switch to the next pool with the "seturl" api remote command
    - longpoll to stratum switch (reverse to check...)

    todo: mix stratum/getwork, new api commands, json config...

commit 2d6b3fddf6631d7df1ac6ca74eee91c33a3c09ee
Author: Tanguy Pruvot <tanguy.pruvot@gmail.com>
Date:   Fri May 22 08:26:40 2015 +0200

    multipool: increase stability, but not 100% perfect

    several problems fixed:
    - submit to the pool set in work (source pool)
    - longpoll curl timeout could be too high and could lock the switch
    - mutexes cant be copied on windows (stratum global var to fully remove later)

    I linked the -T timeout option to curl and tried to remove all fixed timeout values

commit 6fd935c369cf33949dab98c8b09b2ca8cab3e7ea
Author: Tanguy Pruvot <tanguy.pruvot@gmail.com>
Date:   Fri May 22 11:23:07 2015 +0200

    stratum: remove last rpc_ vars in stratum thread

commit ee9c821525be303282e5dab512ffd2ae81ad524f
Author: Tanguy Pruvot <tanguy.pruvot@gmail.com>
Date:   Sat May 23 03:53:50 2015 +0200

    stratum: do not alloc empty merkle tree

commit 69852a2874bd18c4ed1daa9180a10d12976424dc
Author: Tanguy Pruvot <tanguy.pruvot@gmail.com>
Date:   Sat May 23 04:25:12 2015 +0200

    stratum: properly free jobs on disconnect

Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>
2015-05-23 05:28:12 +02:00
Tanguy Pruvot
298573b45d Drop Whirlpool and whirpoolx algos, no more used...
Vanillacoin is now PoS only
2015-05-19 01:05:38 +02:00
Tanguy Pruvot
7456acc01c netdiff: quark is specific too, qubit is normal 2015-05-19 00:36:37 +02:00
Tanguy Pruvot
a2b6488c01 Compute and display network diff (nbits) if max-diff
was only made on the wallets with getmininginfo

Todo: double check for all algos/pools

tested ok on x11, lyra2, skein, skein2, zr5 stratum/longpoll

Scrypt-Jane pool net diff seems incorrect, disabled
Neoscrypt could be different also (untested, disabled)...
2015-05-18 08:17:45 +02:00
Tanguy Pruvot
809cd3dc42 Allow to retrieve benchmark results with a time-limit
sample command line :
ccminer -a x11 -d 0 --benchmark --time-limit 30 2>result.txt
2015-05-15 22:09:28 +02:00
Tanguy Pruvot
4daaf1908d some cleanup... 2015-05-15 21:45:43 +02:00
Tanguy Pruvot
0d89236fd4 windows: do not trap CTRL_CLOSE event 2015-05-15 01:20:51 +02:00
Tanguy Pruvot
b4ab64e5f3 prepare the 1.6.3 release 2015-05-14 23:42:11 +02:00
Tanguy Pruvot
76f8fbabae stratum: prevent gpu scans before a job is retrieved
and remove loopcnt var, can be done with firstwork_time
2015-05-14 23:36:25 +02:00
Tanguy Pruvot
51abf151ee internal opt_extranonce param, not linked to cmdline... 2015-05-14 21:22:00 +02:00
Tanguy Pruvot
477d3bfd7c summer is close, start conditional mining
add params --max-temp 75, --max-rate 112.5M and --max-diff 5.0 (best for solo mining)

Note: not all the wallets are reporting the network mining difficulty and hashrate
2015-05-14 20:41:42 +02:00
Tanguy Pruvot
3955eb7a1d windows: implement background option
was only for linux, so reduce usage difference

beware, no way to turn it back to visible yet...

to prevent hiding your console, you can use :
start ccminer -B -c ccminer.conf
2015-05-12 18:54:35 +02:00
Tanguy Pruvot
7c769211a8 intensity: fix value on multi-threaded devices
Set the value for all threads when using -i 20 -d 0,0,0 ...
2015-05-12 02:40:50 +02:00
Tanguy Pruvot
e1b274ef65 neoscrypt: fix bad source file ext (cu/cpp) 2015-05-04 13:37:56 +02:00
Tanguy Pruvot
15584e4f05 neoscrypt: adapt for visual studio compat
todo: fix SM 3.0 builds
2015-05-03 15:53:02 +02:00
Tanguy Pruvot
65c1d787e7 add neoscrypt based on djm34 work
indent, link --intensity, and some clean up

Tested speed on linux ~= 160kH/s on a 750Ti (Black Edition)

To be continued...
2015-05-03 14:38:15 +02:00
Tanguy Pruvot
d1966cc085 remove dyn alloc of thr_hashrates 2015-04-24 12:12:45 +02:00
Tanguy Pruvot
a6d88abbc9 scrypt: finish scrypt-jane algo import 2015-04-21 13:20:35 +02:00
Tanguy Pruvot
1ad34dc13d reset: take care of multi-threaded gpus (-d 0,0)
to be tested... could create problems when reset in a chain like x11...
2015-04-21 09:12:43 +02:00
Tanguy Pruvot
c7698afb4a scrypt: add --interactive option
also tested batchsize and texturecache but seems useless,
they can be tested/tuned directly in kernel variants...

Note: -i cuduminer param is already used in ccminer (--intensity)
2015-04-19 15:25:14 +02:00
Tanguy Pruvot
c6a94c9998 Add time-limit option and exit codes
based on cudaminer implementation...
2015-04-19 12:16:01 +02:00
Tanguy Pruvot
b8b810f30d scrypt: autotune, launch-config and lookup-gap options
also enhance scrypt variants algo checks to be case insensitive
2015-04-19 11:37:30 +02:00
Tanguy Pruvot
9dc78da2ee import and adapt scrypt from cudaminer project
scrypt-jane under work...
2015-04-18 18:24:55 +02:00
Tanguy Pruvot
d58d53f2b2 update README, small changes, prepare release 1.6.1
still need a SM 3.0 fix for skein...
2015-04-14 23:28:00 +02:00
Tanguy Pruvot
7963dbb438 skein2 algo for woodcoin
Also known as Double Skein

Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>
2015-04-14 02:03:58 +02:00
Tanguy Pruvot
7c25f6dc0a zr5: disable some of the stratum stale work checks 2015-03-28 15:23:03 +01:00
Tanguy Pruvot
4426700e31 Add the -n (--ndevs) option like cgminer 2015-03-27 15:24:44 +01:00
Tanguy Pruvot
f86784ee56 Add skein algo (Skeincoin, Myriad, Unat...)
SKEIN512 + SHA256

Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>
2015-03-27 15:24:27 +01:00
Tanguy Pruvot
a37e909db9 Add zr5 algo (for SM 3.5+)
uint4 copy + keccak cleanup, groestl: small uint4 opt

Signed-off-by: Tanguy Pruvot <tanguy.pruvot@gmail.com>
2015-03-27 15:16:25 +01:00
Tanguy Pruvot
5988e945ef some cleanup and longpoll changes 2015-03-27 08:03:26 +01:00
Tanguy Pruvot
35cc5908ee windows: return to normal priority, fix json decref
the jansson error seems only seen in windows debug mode
2015-03-10 19:14:15 +01:00
Tanguy Pruvot
8b1137d5ec solo: get mining infos (diff/net hashrate)
will be exported in the api too...
2015-03-10 04:19:49 +01:00
Tanguy Pruvot
7f00bce5ae longpoll: auto disable gbt when not supported 2015-03-10 01:09:47 +01:00
Tanguy Pruvot
c1cfb3a131 cmdline: fix multi-gpu intensity
the comma presence check was wrong...
2015-03-08 16:45:09 +01:00
Tanguy Pruvot
77c737ff72 various small changes and update readme 2015-03-08 16:33:53 +01:00
Tanguy Pruvot
7939dce0aa pluck: adaptation from djm repo
remains the cpu validation check to do...

throughput for this algo is divided by 128 to keep same kind of intensity values (default 18.0)
2015-03-08 15:16:11 +01:00