1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-09 22:38:01 +00:00
Commit Graph

313 Commits

Author SHA1 Message Date
ystarnaud
cf4aa31be0 Switcher thread fix
Fixed the mining threads block causing the miner to hang on algo
switcher. Thanks @mrbrdo for the help.
2014-07-02 09:25:17 -04:00
ystarnaud
55cd3ec220 Hangup fix
The switcher would hang when no settings needed to be applied and it
tried to tell the mining threads to resume working. Still an issue if
you attempt to switch between two pools that apply settings but don't
perform a hard reset.
2014-07-01 14:48:17 -04:00
ystarnaud
f3a773f279 Merge pull request #307 from sgminer-dev/v5_0-x15
V5 0 x15
2014-07-01 09:06:47 -04:00
troky
dc3ec7907e Thread info struct should be initialized/allocated for disabled devices, too. 2014-07-01 09:24:22 +02:00
ystarnaud
5c9126fd61 X14 Implementation
Added X14 and cleaned up the X13/X15 kernels so all 3 offshoots are in
sync. New option "--hamsi-short" or "hamsi-short":true to add a small
boost. May not work on all GPUs.
2014-07-01 01:33:20 -04:00
Jan Berdajs
1c2de13498 fix broken disabled devices when remove-disabled is set 2014-07-01 02:08:58 +02:00
Jan Berdajs
8f53b7c86c safer 2014-07-01 01:47:14 +02:00
Jan Berdajs
976873ba49 more locks for devices 2014-07-01 01:38:32 +02:00
Jan Berdajs
92deefcbca Fix bad lock 2014-07-01 01:19:07 +02:00
Jan Berdajs
40894db5d2 Changing disabled devices on pool switch is not possible if remove-disabled is set (enabled) 2014-07-01 01:12:14 +02:00
Jan Berdajs
7507790880 GPUs cannot be hotplugged 2014-07-01 01:04:44 +02:00
Jan Berdajs
7f0451336b Refactor and stability improvements when restarting threads
enable_device should not modify mining_threads because this is unsafe after initialization. it is also not necessary in most cases where it is currently used, except in initialization
refactored some of the new restart_mining_threads code and incorporated above change for better stability
properly handle disabled devices in restart_mining_threads when opt_removedisabled is set
total_devices was set incorrectly if the disabled devices were not at the end of devices, so total_devices is now always the number of detected devices, since that is what is in the devices variable
2014-06-30 23:57:02 +02:00
Jan Berdajs
be7d47dcee add lock when accessing mining_threads 2014-06-30 22:12:19 +02:00
Jan Berdajs
028f19e946 remove old commented-out code 2014-06-30 21:54:55 +02:00
Jan Berdajs
ba7c4892fb Remove obsolete benchmark mode
This mode/setting is unusable left-over from SHA-256 cgminer. It does not work with Scrypt or other algorithms that are used in sgminer. Removed in single commit so it can be used as reference, if benchmark mode is added in the future.
2014-06-30 21:44:44 +02:00
ystarnaud
9d54637e3c Fix HW Issue at startup
Fixed an issue where the GPUs would be initialized on first pool alive,
but the mining threads would end up being initialized on another pool
because it was selected right away.
2014-06-30 00:12:12 -04:00
ystarnaud
3ae5f97b94 Algorithm Switcher Update
Updated Algorithm switcher to change on pool rather than on algorithm.
This way if, for example, 2 pools use the same algorithm but different
GPU settings, the settings will be applied when changing pool.

Additionally:
* Included a "common" algorithm type in API pool/profile listing. For
example using "marucoin-mod" will return "X13", "darkcoin-mod" will
return "X11", scrypt + nfactor != 10 will return "NScrypt", etc...

* Added "kernel" config option to be backwards compatible with other
miners' configs.

* Added a few algorithm aliases: x11mod -> darkcoin-mod, x13mod ->
marucoin-mod...

* New config keyword: "includes", which holds an array of include files.
This is to counter the JSON limitation not allowing multiple values with
the same name, thus preventing inclusion of multiple files.
2014-06-28 00:54:17 -04:00
Noel Maersk
78014ab0d5 work queue: verbose log as to why staged work is being discarded. 2014-06-24 19:20:32 +03:00
ystarnaud
7024d14c88 Fix high fan issue at startup/algo switch
Was setting fan speed to gpu_fan (which is the max) instead of min_fan on GPU settings change.
2014-06-24 10:45:43 -04:00
ystarnaud
99082f4269 GPU initialization update
Undo 212009a48a as it caused some issues with some pools and configs.
2014-06-23 20:45:16 -04:00
ystarnaud
212009a48a GPU Initialization update
Moved the GPU initialization block to happen when a pool is actually switched to. Sometimes the first pool alive isn't the first pool switched to. This would result in unnecessary kernel loading if the first pool detected alive isn't used right away.
2014-06-23 17:20:26 -04:00
ystarnaud
76287736e2 Fixed GPU initialization
Fixed the GPU initialization to happen only after the first pool alive is switched to. This way no unnecessary kernels are loaded.
2014-06-23 16:40:34 -04:00
ystarnaud
e9b82991ec 60 second quit fix after algo switch 2014-06-23 12:04:05 -04:00
ystarnaud
1914cef959 Fixed x13 and other issues
Corrected the x13 errors and fixed a few issues with the config parser's
handling of the default_profile.
2014-06-21 15:18:20 -04:00
Noel Maersk
513307c790 config: remove commented-out old config-loading code. 2014-06-20 20:43:08 +03:00
Noel Maersk
5309da57cc config: remove unused variable. 2014-06-20 16:53:00 +03:00
Noel Maersk
832ac82bf6 Updated API functionality
Fixed addpool to specify a profile or algorithm and sets defaults if
nothing specified. Also added a new API function to change multipool
strategy.

Conflicts (resolved):
	sgminer.c
2014-06-20 16:52:59 +03:00
ystarnaud
d9b4798e8e More options added
Added the following options to profiles/pools:
device (set devices on/off per profile), lookup-gap, shaders, worksize,
gpu-powertune, gpu-vddc
2014-06-20 16:50:06 +03:00
Noel Maersk
9fe5272c92 Updated config writer
Config writer now supports profiles and pool specific values. In
addition, the config writer now makes use of the jansson library to
create proper json objects and save them to the config file. This is
much better than trying to write our own json code.

Conflicts (resolved):
	sgminer.c
2014-06-20 16:49:51 +03:00
Yann St. Arnaud
9faa8fa59f Updated the config parser
Updated the config parser to provide better readability and flexibility
in config files. The latest features introduced a really messy way to
handle config files and this update alleviates this by adding the
ability to create profiles and associate them to pools.

Todo: Update the config file writer, in-program options and continue to
break off the config parsing/command line option code out of sgminer.c
to reduce clutter.
2014-06-20 16:49:07 +03:00
Elbandi
3b298478a3 Made opt_algorithm to simple variable 2014-06-17 18:11:59 +02:00
troky
b2e500e2a6 Fixed pool name display in rejected share notice when pool name is longer than 20 chars. 2014-06-16 15:52:48 +02:00
troky
d83d7bd386 Removed original sha2 and made code use sph_sha2 2014-06-12 13:19:30 +02:00
troky
f9a8e66f70 Fixed crash when changing display modes (#237) 2014-06-11 11:18:36 +02:00
troky
cd9864f92b Removed unneccessary code introduced in 954c0e6 2014-06-11 00:12:45 +02:00
troky
cbc22823df Removed trailing slashes from folder paths to avoid kernel building under Windows (MSVS). 2014-06-10 16:40:37 +02:00
platinum4
280a64e537 Squelch "Network diff set" unless --more-notices
space " "
2014-06-09 17:51:01 +02:00
Jan Berdajs
2ea8f5d018 just in case, read-lock devices 2014-06-09 17:31:22 +02:00
Jan Berdajs
9fdd23e6ff since mining_threads count can change, we need to lock more carefully and get_thread function is not helpful anymore 2014-06-09 17:25:24 +02:00
Jan Berdajs
2877e8d49c of course it needs to be a write lock! fixes segfault 2014-06-09 17:02:14 +02:00
Jan Berdajs
d1f7ef6133 is already locked at this point 2014-06-09 16:33:35 +02:00
Jan Berdajs
954c0e6fbc fix opt_kernel_path writing over the allocated memory! also some small changes for more robust hard restart 2014-06-09 15:56:39 +02:00
Jan Berdajs
77c996858b fix compiler warning and indentation 2014-06-09 02:37:07 +02:00
platinum4
a5fd98c832 declare opt_morenotices; 2014-06-09 02:35:13 +02:00
platinum4
0f9bf18172 Add option --more-notices & shorten stale submit 2014-06-09 02:35:07 +02:00
Jan Berdajs
ff05aacdc3 attempt to fix memory issues when doing curl calls
From curl CURLOPT_ERRORBUFFER docs: You must keep the associated storage available until libcurl no longer needs it. Failing to do so will cause very odd behavior or even crashes. libcurl will need it until you call curl_easy_cleanup(3) or you set the same option again to use a different pointer.
2014-06-09 01:17:29 +02:00
Jan Berdajs
881355d873 add --hamsi-expand-big option for setting EXPAND_BIG in X13 kernels 2014-06-08 20:36:39 +02:00
Jan Berdajs
5e3142cf68 remove unused code (mostly intended for ASICs which are not supported in sgminer), fix some compiler warnings 2014-06-08 20:36:33 +02:00
Jan Berdajs
6152638dd7 fix compile without ADL 2014-06-06 13:52:59 +02:00
blagodarenko
1bca4a7921 fix "diff 0.000/0.000" 2014-06-06 14:16:32 +04:00
troky
1bb452e321 Fixed kernel path bug introduced in 8198286597 2014-06-06 09:20:39 +02:00
Anatoly
32824e56a0 Total uptime drop fix 2014-06-06 08:03:30 +08:00
troky
1f73ae040e Merge branch 'v5_0' of https://github.com/sgminer-dev/sgminer into v5_0 2014-06-05 23:12:38 +02:00
troky
8198286597 Fixed MSVS build. 2014-06-05 23:11:29 +02:00
Jan Berdajs
00d17d16fe fix segfault (watchdog thread declares threads sick and tries to restart them while they are already being restarted) 2014-06-05 22:57:20 +02:00
Noel Maersk
4f387321ce misc: update AUTHORS.md, add CR to sgminer.c, minor style. 2014-06-05 23:07:14 +03:00
Jan Berdajs
f0e47ec8ec make sure reinit_device cannot happen while algo switching, which would probably result in segfault 2014-06-05 18:40:27 +02:00
Jan Berdajs
e58cd00db7 fix bug in thread_reportin (watchdog can detect getwork is false before thr->last is set), and a few cosmetic changes 2014-06-05 18:35:46 +02:00
troky
b8a1c1f660 MSVS compatibility update. 2014-06-05 10:20:43 +02:00
Jan Berdajs
e4a4efdb42 fix some potential memory leaks, remove a few old unused functions 2014-06-05 00:13:43 +02:00
Jan Berdajs
87bbca6148 only change gpu engine, memclock, fans, if ADL is enabled 2014-06-05 00:13:34 +02:00
Anatoly
8c48255802 Code cleanup
WATCHDOG_SICK_TIME increase reverted
Hardcode in get_work_blockdiff removed
2014-06-04 18:07:20 +02:00
Anatoly
99db17145f show-coindiff option added 2014-06-04 18:07:13 +02:00
Anatoly
8f10cbfac5 Total uptime length
Conflicts:
	sgminer.c
2014-06-04 18:07:12 +02:00
Anatoly
d89e53b3db Extend time to sick state 2014-06-04 18:07:07 +02:00
Jan Berdajs
2ec09155e6 per-pool gpu-fan 2014-05-30 00:00:36 +02:00
Jan Berdajs
f596631a07 adjust ncurses interface when we change mining_threads count 2014-05-29 02:05:15 +02:00
Jan Berdajs
6c5ce535d9 fix compiler warnings 2014-05-29 01:34:29 +02:00
Jan Berdajs
13cdc33809 pool-gpu-threads setting 2014-05-29 00:52:07 +02:00
Jan Berdajs
19fc4cc93c remove gpu_threads which is identical to mining_threads. refactor mining threads init code 2014-05-29 00:07:32 +02:00
Jan Berdajs
24d0ce4884 all hail SPACE 2014-05-28 23:38:58 +02:00
Jan Berdajs
c4f2b78d65 per-pool gpu-engine, gpu-memclock and thread_concurrency 2014-05-28 23:19:04 +02:00
Jan Berdajs
06d8e1d1dc extranonce - some cleanup and better description for pool setting 2014-05-28 23:18:14 +02:00
elbandi
91a26c46b7 Protect pool name with lock
Disconnect from pool, if auth is failed

handle mining.set_extranonce method

subscribe for mining.extranonce

Allow disable extranonce subscribe

Send subscribe request before auth

Change mining.set_extranonce method as stratum notification

Set extranonce.subscribe timeout to 2sec

Some tweaks for extranonce

Handle pool response, who send errors in invalid format

Move no-extranonce-subscribe parameter to a pool config

Include pool.h

Set the pool idle and switch pool, if need

Mark pool as idle if stratum restart is failed

Conflicts:
	sgminer.c
2014-05-28 23:17:51 +02:00
Jan Berdajs
cac833e5c2 fix bug which can occur when switching from a very low diff algo (darkcoin) to a high diff algo (scrypt), which caused invalid nonces 2014-05-28 00:37:53 +02:00
Jan Berdajs
5b8adcd9a1 add todo comment if we ever fix the broken config parser 2014-05-27 04:21:41 +02:00
Jan Berdajs
efe1ebd7ae Intensity can be set for each pool individually 2014-05-27 04:13:52 +02:00
Jan Berdajs
9d9f5b7586 Add MaxCoin support 2014-05-27 01:12:30 +02:00
Jan Berdajs
c0baf790f6 making new algorithms and other changes merged from sph-sgminer work with current version of sgminer 2014-05-27 01:11:54 +02:00
Jan Berdajs
93e3a6d107 Merge branch 'master' into sph
Not working yet, need to upgrade algorithm_t

Conflicts:
	configure.ac
	driver-opencl.c
	miner.h
	ocl.c
	sgminer.c
	util.c
2014-05-24 21:22:04 +02:00
troky
22a3c5b6fe Reverting 83d71da. VS2010 fix. 2014-05-22 09:55:43 +02:00
Noel Maersk
ecfd497467 core: remove second-to-last remnants of hotplug.
If you grep hotplug, you'll find two more occurences as a function
argument, but it's unused.
2014-05-11 17:28:25 +03:00
elbandi
e32dcd7190 Mark pool as idle if stratum restart is failed 2014-05-08 00:04:01 +02:00
elbandi
98676763b9 Set the pool idle and switch pool, if need 2014-05-08 00:02:39 +02:00
elbandi
a8d683cda9 Mark pool as idle if stratum restart is failed 2014-05-07 00:03:41 +02:00
Noel Maersk
5b054542db config: Don't write commas if not needed, default to opt_algorithm when adding pool without one set explicitly. 2014-05-05 15:34:02 +03:00
elbandi
08b7ab1dd4 Add build_number to version string 2014-05-04 01:29:28 +02:00
elbandi
28ff05e327 Set the pool idle and switch pool, if need 2014-05-02 22:33:38 +02:00
sterlingpickens
83d71da225 Update sgminer.c 2014-05-02 09:36:35 -07:00
elbandi
a32ec16169 Move no-extranonce-subscribe parameter to a pool config 2014-04-27 19:32:23 +02:00
elbandi
e7bca31941 Some tweaks for extranonce 2014-04-26 01:17:14 +02:00
elbandi
281bcd75e9 Send subscribe request before auth 2014-04-24 20:40:20 +02:00
elbandi
4ad62b9a78 Allow disable extranonce subscribe 2014-04-24 15:44:33 +02:00
elbandi
b742ced4eb subscribe for mining.extranonce 2014-04-24 14:34:50 +02:00
Elbandi
973dcefa8c Use get_pool_name everywhere 2014-04-24 12:09:56 +02:00
Noel Maersk
3d7167ce2c config: improve pool section writing.
Order so JSON's not broken, write `priority` and `algorithm`.

Closes #102.
2014-04-18 17:31:06 +03:00
phm
0001517ac0 Merge branch 'marucoin'
Conflicts:
	Makefile.am
	configure.ac
	driver-opencl.c
	miner.h
	ocl.c
	sgminer.c
2014-04-15 19:43:30 +02:00
phm
67cf41a50c Added support for MaruCoin 2014-04-15 00:20:05 +02:00
Noel Maersk
92c3b5eb48 api: set algorithm properly on addpool. 2014-04-12 17:32:41 +03:00
Noel Maersk
3c3a58475e ui+api: ask for pool name/description/algorithm when adding pool from NCurses/API.
Closes #116.

This is trivial and shouldn't be so hard: it required modifying
functions in both sgminer.c (for NCurses stuff) and api.c. There is
much code repetition, since the NCurses interface is hard-coded in.
Removing it would simplify things greatly.
2014-04-11 15:06:36 +03:00