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

313 Commits

Author SHA1 Message Date
troky
01e96606f0 Fixed (pool) algo selection. 2014-04-11 10:41:37 +02:00
Noel Maersk
da667d63e0 config: write pool name and description to config. 2014-04-11 03:01:13 +03:00
Noel Maersk
2c00158216 Merge pull request #189 from Bllacky/patch-7
Update sgminer.c
2014-04-10 18:47:28 +03:00
Noel Maersk
b3d483a035 core: revert two of the changes in Bllacky's pull request #187.
`ndigits` is actually an int, used as a field width specifier in
snprintf().

s is an extensively-used pointer.
2014-04-09 22:37:07 +03:00
Bllacky
fe64ac99d6 Update sgminer.c
One small change to work well with previous ones.
Number of warnings now is 151, down from 157.

Still a long way to go. Most of the serious warnings are related to variables in miner.h, which is so intertwined with everything else that I fear of breaking something or making performance worse if I touch miner.h too much.
2014-04-09 22:17:37 +03:00
Bllacky
1dc8aabda9 Update sgminer.c
Minor changes to variable declaration.
Should reduce the number of warnings by about 5.
2014-04-09 22:03:12 +03:00
Noel Maersk
aa5f4c713b config: add const qualifier to set_pool_{algorithm,nfactor}().
MSVS doesn't like implicit casting.
2014-04-08 14:28:50 +03:00
Noel Maersk
e7078a5e16 misc: clarify currentpool() comment. 2014-04-07 22:51:23 +03:00
Noel Maersk
f6616aa63b config: allow specifying per-pool algorithm with --algorithm instead of --pool-algorithm.
This will probably only work with config file, though, since it relies
on json_array_index.
2014-04-07 22:43:43 +03:00
Noel Maersk
53a199a21d config: use get_pool_name() in set_pool_algorithm() and set_pool_nfactor(). 2014-04-07 22:21:57 +03:00
Noel Maersk
af879b1c77 core/misc: rename set_poolname() to set_pool_name(). 2014-04-07 22:19:57 +03:00
Noel Maersk
3ddf6baad9 core: rename default_algorithm to opt_algorithm.
... So it's easier to find when refactoring the configuration system
later on.
2014-04-07 22:09:05 +03:00
Noel Maersk
0793c96074 Merge remote-tracking branch 'mrbrdo/poolalgo' into poolalgo
Conflicts (resolved):
	ocl.h
	sgminer.c
2014-04-07 22:05:33 +03:00
Noel Maersk
b6218e20c1 config: rename --pool-priority to --priority, --coin to --description.
There are now get_current_pool() and current_pool(), which is confusing.
Moved them closer together, so it's at least obvious.
2014-04-07 21:14:17 +03:00
phm
7678db6801 Fixed problem with stratum support when mining FC, GRS and TWE. Added --difficulty-multiplier parameter for controlling stratum difficulty multiplier. 2014-04-05 20:55:22 +02:00
phm
769c9f8036 Merge branch 'twecoin'
Conflicts:
	Makefile.am
	configure.ac
	driver-opencl.c
	miner.h
	ocl.c
	sgminer.c
	sph/Makefile.am
2014-04-05 17:41:42 +02:00
phm
474091c426 Added support for Twecoin 2014-04-05 17:27:59 +02:00
Jan Berdajs
cdb817bcbd Change algorithm more robustly and faster, previous way was buggy 2014-03-31 21:05:20 +02:00
Jan Berdajs
c2131df6aa add support for setting algorithm/nfactor for each pool separately, and fix bugged OpenCL thread cleanup (thread shutdown) 2014-03-31 21:05:20 +02:00
phm
a683f935a4 Merge branch 'sifcoin'
Conflicts:
	Makefile.am
	configure.ac
	driver-opencl.c
	miner.h
	ocl.c
	sgminer.c
2014-03-31 17:06:16 +02:00
phm
0f88162c39 Added support for Sifcoin 2014-03-31 17:02:06 +02:00
Noel Maersk
a57f841570 Revert "fix for mingw-w64"
This reverts commit 32b13ccb46.

Reported by Wolf0 (aka wolf9466) to not break MinGW 64-bit compilation
with GCC 4.8.2 (latest stable).
2014-03-29 03:04:30 +02:00
Noel Maersk
db0f7cf6f0 core: silence gcc warning about sprintf() use in add_pool() - this time for sure. 2014-03-28 17:21:10 +02:00
Noel Maersk
5896da18b1 core: remove total_users, total_passes, total_userpasses (no longer used).
Silence gcc warnings.

Need for these accounting vars removed a few commits ago by troky.
2014-03-28 16:30:11 +02:00
Noel Maersk
08ff1574df config: write algorithm to config if not default.
Closes https://github.com/veox/sgminer/issues/175
2014-03-28 16:28:15 +02:00
Noel Maersk
8203fea539 config: move --coin in config table (alphabetically). 2014-03-27 17:58:16 +02:00
Noel Maersk
e7ca7fabba Merge pull request #168 from troky/testing
--pool-priority, --coin and fix for #80
2014-03-27 17:51:01 +02:00
Noel Maersk
10ec7769c8 pool: don't pass unused argument to sprintf() in add_pool().
Silences gcc warning.
2014-03-26 18:41:18 +02:00
Noel Maersk
ac3d13880c Revert "core: correctly parse boolean configuration values."
This reverts commit 8dd1c2d4af.

Introduced a security bug: since CCAN/opt is used to parse the JSON
config (something it is not meant to do), it was possible to specify
the default of

    "api-listen":false

in .conf and expect the API to be disabled. However, since CCAN/opt
does not check for parameters to OPT_WITHOUT_ARG, this got set to
true anyway, and enabled the API on a (possibly unfirewalled) network.

For this reason, configuration options are not named uniformly.

This should have been reverted as soon as it became known:

4c4b909be6 (Fri Feb 28)

Sorry for that.
2014-03-26 18:34:49 +02:00
troky
bcb78ed91b Added --coin pool parameter. 2014-03-26 11:10:41 +01:00
troky
17f5e296a9 Fixed configuration/command line parsing. 2014-03-26 10:46:17 +01:00
troky
8db53026cb Added --pool-priority 2014-03-25 20:37:45 +01:00
Martin Danielsen
01b3f70b63 A new --no-client-reconnect command that disables the 'client.reconnect' function.
It looks like there's an exploit that abuses said command, but it is still not clear exactly how.

There's also an additional message when the reconnect happens: "WARNING: POTENTIAL CLIENT.EXPLOIT!", but it requires you to be actively monitoring your log to catch it, and in which case you already get a "Reconnect requested from Pool 0 to 127.0.0.1" message.

Note that disabling 'client.reconnect' might affect some pools that rely on the feature, like pools that you lease your rig to.

Oh and this is dry-coded. :)
2014-03-24 15:12:40 +02:00
phm
983eae1142 Merge branch 'groestlcoin'
Conflicts:
	Makefile.am
	configure.ac
	driver-opencl.c
	miner.h
	ocl.c
	sgminer.c
2014-03-22 23:58:10 +01:00
phm
764d8706b4 Added support for GroestlCoin. 2014-03-22 23:50:21 +01:00
phm
a0c0975bb8 Merge branch 'animecoin'
Conflicts:
	Makefile.am
	configure.ac
	driver-opencl.c
	miner.h
	ocl.c
	sgminer.c
2014-03-20 18:36:28 +01:00
phm
35744a86c2 Merge branch 'inkcoin'
Conflicts:
	Makefile.am
	configure.ac
	driver-opencl.c
	miner.h
	ocl.c
	sgminer.c
2014-03-20 17:52:31 +01:00
Noel Maersk
106dbee1f9 core: check if GPU thread is disabled before checking if it's waiting on getwork.
Otherwise the watchdog thread segfaults on checking an uninitialised
thr->getwork value.
2014-03-17 21:57:00 +02:00
Noel Maersk
87801c2578 opencl: rename cgpu_info->kname to cgpu_info->kernelname. 2014-03-17 21:57:00 +02:00
Noel Maersk
1333ed576d core: simplify kernel selection code.
WIP!

Use a string instead of a state-machine-ey kernel selection mechanism
where kernel names have to be predefined. This should allow just dropping
new kernels into dir `kernel` without bloating the code in three other
places.

Is in dire need of a cleanup, function parameter check, edge case check -
all the usual testing.

In particular, checking these definitions/keywords:

* enum cl_kernels
* kname
* [c]gpu[s]->kernel (and similar)
* memory cleanup after strdup()?..
* chosen_kernel
* queue_scrypt_kernel
* strbuf
* initCl
2014-03-17 21:56:43 +02:00
phm
e260e79ab2 Added support for FugueCoin 2014-03-17 19:25:43 +01:00
Noel Maersk
fc902f0f41 pool: add back --poolname as hidden option for backward compatibility.
+ Udate NEWS.
2014-03-15 19:08:24 +02:00
troky
49aef7100f Reverting "poolname" to "name". 2014-03-15 19:08:24 +02:00
unknown
958764fecc MSVS build: Fixed debug build. MSVS doesn't like uninitialized variables. 2014-03-15 12:47:32 +01:00
Noel Maersk
8079d054d6 Merge branch 'nfactor'
Conflicts (resolved):
	Makefile.am
	winbuild/sgminer.vcxproj.filters
2014-03-14 17:46:54 +02:00
unknown
0e37fc24b0 Added algorrithm name to "coin" API command. Changed default algo name to "scrypt". 2014-03-13 23:02:51 +01:00
Noel Maersk
a3f9b24c69 core: set default algorithm for when neither --algorithm nor --nfactor are provided. 2014-03-07 02:27:06 +02:00
Noel Maersk
c6a27709f8 core: use global algorithm structure instead of opt_nfactor.
Also squashed:

config: add log messages to set_algo() and set_nfactor().

algorithm: use set_algorithm_nfactor() when setting default nfactor in set_algorithm().

Otherwise algorithm->n defaults to 0.

P.S. Did I already mention how this could have been C++?..
2014-03-07 02:27:06 +02:00
Noel Maersk
a0c52bf67c config: introduce set_nfactor() and use it to call set_algorithm_nfactor().
Had two bugs:

1. Will not compile due to unknown algorithm_t size.
2. nfactor is set to 0 (bad calling, fix later).

So squashed two commits:

1. algorithm: move algorithm_t definition to header.
2. config: if --nfactor is specified, properly set algorithm->nfactor.
2014-03-07 02:27:06 +02:00
Noel Maersk
92b7770212 config: add --algorithm option and documentation.
Doc in `doc/configuration.md` (has to be started sometime, no?).

Configuration function has to be lamely-named set_algo(), because
set_algorithm() is already declared in algorithm.h (prevent namespace
conflict).

algorithm has to be added as global variable due to the way the
callback is done (by CCAN/opt, which in itself is nice).

This can be cleaned up significantly by (at least) introducing a
global configuration struct, but there is no reason to do it now
just for this - better a wholesale manana.
2014-03-07 02:27:00 +02:00
phm
66f508d01f Added support for AnimeCoin 2014-03-05 18:00:30 +01:00
Noel Maersk
ded4452316 ui: check for opt_incognito is Display settings menu. 2014-03-02 20:41:49 +02:00
Noel Maersk
9c0f912434 core: remove ifdef from opt_compact and opt_incognito declaration. 2014-03-02 19:13:08 +02:00
phm
8fe1b860c5 Added support for MyriadCoin groestl algorithm. 2014-03-01 09:33:32 +01:00
Noel Maersk
428061e416 pool: display URL instead of "Pool N" if no poolname provided.
This works since get_pool_name() in pool.c checks if an empty string is
provided, and uses the URL instead if so.
2014-02-28 23:56:14 +02:00
Noel Maersk
d58de45c0e pool: use get_pool_name() where appropriate. 2014-02-28 23:22:40 +02:00
Noel Maersk
0a4f71882c pool: use get_pool_user(). 2014-02-28 22:45:07 +02:00
Noel Maersk
8e4fb3c554 pool: abstract get_pool_name()
The introduction of get_pool_name() warrants a separate function
so opt_incognito does not litter everywhere.
2014-02-28 22:15:39 +02:00
Noel Maersk
0d562ffbf5 core: use opt_incognito in a few more applog() places. 2014-02-28 22:13:42 +02:00
Noel Maersk
888fab437f ui: <incognito> pool name in incognito mode, too.
Ah, what the heck. If it's a pool-related, we'll just ask.
2014-02-28 04:13:22 +02:00
Noel Maersk
a511266959 doc: minor fix for --help message on --incognito. 2014-02-28 03:35:32 +02:00
Noel Maersk
5a8f84b49b ui: allow switching to incognito mode through ncurses interface. 2014-02-28 03:00:12 +02:00
Noel Maersk
d78f372712 core: undo some of previous two commits and andd conditionals to display user name as <incognito> instead.
Fix whitspace (squashed).
2014-02-28 02:46:56 +02:00
Noel Maersk
2561295e3d log: do not set poolname in log in incognito mode. 2014-02-28 02:11:26 +02:00
Noel Maersk
f737992f41 core: introduce --incognito + minimal revision of --compact.
`--incognito` is for sharing output without disclosing login
information.

NCurses interface code, as stated before, is pretty lousy.
2014-02-27 23:29:03 +02:00
Zuikkis
2b9a588e25 Update sgminer.c & scrypt.c
Default opt_nfactor was 11 instead of 10, my typo.. :) Sorry.

scrypt_1024_1_1_256_sp renamed to scrypt_n_1_1_256_sp
2014-02-23 14:39:40 -05:00
phm
3e89fb950f Merge branch 'quark'
Conflicts:
	Makefile.am
	configure.ac
	driver-opencl.c
	miner.h
	ocl.c
	sgminer.c
2014-02-23 18:56:05 +01:00
Teemu Suikki
73bb1504e9 Scrypt-nfactor support!
Added new configuration parameter "nfactor", which defaults to 10 (normal scrypt).
Use 11 for vertcoin.

Kernels modified accordingly.
2014-02-23 04:44:17 +02:00
phm
d9fc7ccb4e Added support for QubitCoin 2014-02-22 19:21:05 +01:00
phm
c336a8399a Added support for INKcoin. 2014-02-22 16:58:00 +01:00
phm
089bfddc9b Merge branch 'quark' into inkcoin
Conflicts:
	Makefile.am
	configure.ac
	driver-opencl.c
	ocl.c
	sgminer.c
2014-02-22 16:56:59 +01:00
Noel Maersk
44aed3570e Merge branch 'build-msvs2010-upd' into build-msvs2010-merge
Test in separate branch before merging into master.

Conflicts (resolved):
	api.c
	util.c
2014-02-22 17:05:07 +02:00
Noel Maersk
a38f01c9a2 misc: explain gpu-threads comment FIXME. 2014-02-22 16:38:47 +02:00
phm
e92d5ebf6e Added support for InkCoin 2014-02-22 12:46:46 +01:00
phm
60a0e00243 Added support for quarkcoin difficulty calculation. 2014-02-22 11:04:06 +01:00
Spencer Shimko
45a16f1ac2 Fixup --help on intensities.
Current help contains conflict statements regarding intensity
priorities.

Per commit d11df698d1:
- rawintensity overrides both xintensity and intensity
- xintensity overrides intensity
2014-02-21 17:46:10 -05:00
phm
a17ec112f6 Added support for Quark mining. 2014-02-21 15:45:29 +01:00
phm
9585d2a8e6 Added support for DarkCoin kernel. Modified stats display to handle low difficulty values. 2014-02-19 23:06:29 +01:00
Con Kolivas
a825524325 We shouldn't block on no work situations directly from the getwork scheduler itself. 2014-02-17 17:34:50 +02:00
Con Kolivas
b9b3abe264 Make the pthread cond wait in the getwork scheduler a timed wait in case we miss a wakeup. 2014-02-17 17:33:23 +02:00
Con Kolivas
7134cd7050 Add debug output when get_work() is blocked for an extended period and add grace time to the device's last valid work to prevent false positives for device failure. 2014-02-16 15:13:08 +02:00
Con Kolivas
26c4be818a Show device info in noffset nonce share above target message. 2014-02-16 15:12:43 +02:00
Con Kolivas
117c032b92 Slowly remove work even if it's not being used to keep the getwork counter incrementing even if work is not used and as a test that pools are still working. 2014-02-16 15:09:22 +02:00
Con Kolivas
5dad99caf6 Give device info with share above target message. 2014-02-16 15:08:39 +02:00
Con Kolivas
b5abf68938 Always show the stratum share lag time in debug mode. 2014-02-16 14:45:15 +02:00
Con Kolivas
9c59fe2c31 Add stratum share response lag time to verbose output if it's greater than 1 second. 2014-02-16 14:43:53 +02:00
Con Kolivas
7731806417 Add stratum share submission lag time to verbose information if it's over 1 second. 2014-02-16 14:43:31 +02:00
Con Kolivas
95ac0c4356 Export the flush_queue function for use by drivers. 2014-02-16 14:41:02 +02:00
Con Kolivas
ab805ec146 Remove wrong goto 2014-02-16 14:40:42 +02:00
Con Kolivas
d5d34f2168 Remove the unqueued work reference when we discard work from get queued as well. 2014-02-16 14:40:23 +02:00
Con Kolivas
ee7fb11cfb Wake the global work scheduler when we remove a work item from the unqueued work pointer. 2014-02-16 14:39:47 +02:00
Con Kolivas
2cea7ce439 Discard work that is stale in the get_queued() function, returning NULL instead. 2014-02-16 14:39:18 +02:00
ckolivas
8592226ad2 Add a get and queue helper work function. 2014-02-16 14:37:16 +02:00
Con Kolivas
011512561a Add a call to a driver specific zero stats function when zero stats is called to allow each driver to reset its own stats as well if desired. 2014-02-16 14:24:06 +02:00
Con Kolivas
dc767487e2 Fix displayed diff when solo mining at >2^32 diff. 2014-02-16 14:21:29 +02:00
Con Kolivas
c31de2601b Store when the last getwork was retrieved and display it in the API summary. 2014-02-16 14:14:40 +02:00
ckolivas
d1e2bfaf7f Make submit_tested_work return a bool about whether it meets the work target or not. 2014-02-16 14:10:31 +02:00
ckolivas
a58ef1b8c7 Provide a helper function for determining dev runtime and use it in the hashmeters used. 2014-02-16 14:09:51 +02:00
Con Kolivas
3323f9f9bf Generically increase the queue if we are mining on a pool without local work generation each time we run out of work. 2014-02-16 13:59:15 +02:00
Con Kolivas
5167962840 Change new block detection message since longpoll is rarely relevant today. 2014-02-16 13:58:40 +02:00
Con Kolivas
1ad3285f56 Use unused line at the top of the log window which often gets stuck unchanging. 2014-02-16 13:58:09 +02:00
Con Kolivas
cc2aa215a8 Clear pool work on a stratum reconnect message. 2014-02-16 13:57:20 +02:00
Kano
faf63ec036 Modify thread naming to make them easier to identify 2014-02-16 13:56:14 +02:00
Noel Maersk
87102ecd07 pool: additional debug logging for stratum pools.
Might help in trying to resove issue 88.
2014-02-12 21:11:59 +02:00
Noel Maersk
dab1d35efd log: add LOG_INFO message about suspended stratum to stratum_rthread().
Also a minor style/syntax fix while searching for why pools don't
restart if gone "dead". A pool is considered "dead" if pool->idle
is true.
2014-02-11 17:33:28 +02:00
Noel Maersk
c09a5b4406 core: remove num_processors (unused). 2014-02-08 15:41:31 +02:00
Noel Maersk
3f5485ae43 misc: clarify comments in switch_pools(). 2014-02-08 15:37:21 +02:00
unknown
b178ade675 VS2010 build: Added PSW kernel. Version bump to 4.1.0. 2014-02-08 12:40:20 +01:00
Noel Maersk
dff7876b7a Merge branch 'master' into build-msvs2010-upd 2014-02-07 21:45:26 +02:00
Noel Maersk
8043af5ec7 core: write gpu-threads to config when using ncurses menu. 2014-02-07 00:52:49 +02:00
Noel Maersk
b5b20c19f6 core: make errors on reading experimental options from config less scary.
The config file is written poorly: first off, not all available options
are written (they have to be written manually, since there's no struct
enumeration); then, default values are not commented out.
2014-02-07 00:34:56 +02:00
Noel Maersk
8dd1c2d4af core: correctly parse boolean configuration values.
Also, with style.
2014-02-05 22:03:46 +02:00
Noel Maersk
0e8ec8d060 pools: Allow disabling pool even if it's the last one enabled.
Pool state machine is incomplete, and enabled_pools is not increased if
pool state is not explicitly set to "enabled" in config. However,
there is no reason why the user should not be allowed to disable
all pools.

enabled_pools is a bookkeeping variable, and bookkeeping is cumbersome.
Rather than trying to fix this regression, get rid of another place
where enabled_pools is used.

Closes https://github.com/veox/sgminer/issues/75
2014-02-05 16:28:27 +02:00
Noel Maersk
3f34049302 core: change default scantime/expiry to 7/28 (back to 1:4 ratio).
Previous defaults (before 10/30) were optimised for Bitcoin that has
a much higher average block time. Optimise for Litecoin (currently
largest scrypt network.)

Not pushing it further down so as not to scare people with dropping
hashrates.

Thanks to MissedOutOnBTC @ freenode for testing.

Closes https://github.com/veox/sgminer/issues/22
2014-02-04 21:00:26 +02:00
Noel Maersk
f2f2bcedc7 build: use git version if available.
Borrowed from Arch Linux pacman:

https://projects.archlinux.org/pacman.git/tree/
2014-02-04 15:18:27 +02:00
Noel Maersk
52e9df8d78 help: temp-target and temp-overheat had identical descriptions that do not describe what they actually do.
Closes https://github.com/veox/sgminer/issues/65
2014-02-03 13:56:43 +02:00
Brandon Tuomela
bda1070259 kernel: add psw kernel. 2014-02-01 15:51:03 +02:00
troky
b3dbe146ad Fixed le25todouble() casting.
Conflicts (resolved):
	sgminer.c
2014-02-01 00:27:51 +02:00
troky
e0c380a2c9 Fixed missing realloc removed by mistake.
Conflicts (resolved):
	sgminer.c
2014-02-01 00:26:57 +02:00
Noel Maersk
b97a641ed9 Merge branch 'master' into build-msvs2010-upd
Conflicts (resolved):
	sgminer.c
2014-02-01 00:25:56 +02:00
Noel Maersk
c23522036d ui: Don't display pool list N times if N pools are set hidden in config.
Also, add some comments do #endif's.
2014-01-31 21:39:44 +02:00
Noel Maersk
9f99474e69 pools: Revert back to "Pool N" default pool name, and use json_array_index to set it.
Closes https://github.com/veox/sgminer/issues/51

Using j_a_i allows us to get rid of accounting vars like total_poolnames,
and pool names don't get mixed up if they're not specified for some pools.

It would still be desirable to show the URL as a pool name if poolname is not
set.
2014-01-30 15:22:19 +02:00
Noel Maersk
ed61c38ec8 build/mingw: style fixup after tonobitc merge.
Use `#defined(...)` instead of `#defined ...`.

Remove comments about issues - anyone removing those lines can check blame
to see why they were added.

Add tonobitc to AUTHORS.md.
2014-01-29 22:25:38 +02:00
Noel Maersk
241c94cbdd Merge remote-tracking branch 'tonokip/master' 2014-01-29 22:22:52 +02:00
tonobitc
32b13ccb46 fix for mingw-w64 2014-01-28 16:04:19 -08:00
tonobitc
d56d4ced64 include winsock2.h to resolve ws2tcpip.h conflict 2014-01-28 15:31:31 -08:00
Noel Maersk
e123cc20c3 kernel: search in pwd/kernel/ for kernels.
Closes https://github.com/veox/sgminer/issues/49.
2014-01-29 00:48:12 +02:00
Noel Maersk
d203dddabb ui: remove mention of cgminer in "Settings" menu. 2014-01-28 23:59:31 +02:00
Noel Maersk
d9eb547c5a VS2010 build: revert le256todouble() cast/ref/deref change.
Introduced by commit 87e5f35745

The cast/ref/deref is performed wrong and breaks share/best share display.
It is not the value of target that should be increased, but its address.

If all else fails, add an `#ifdef _MSVC_VER`; we should avoid it if possible.

In either case, constructs like `&(*(((uint64_t *)target) + 24))` must be
explained (in a comment).
2014-01-28 20:30:00 +02:00
Noel Maersk
761f100ab9 VS2010 build: fix a segfault from a removed realloc. 2014-01-28 03:29:23 +02:00
Noel Maersk
108ac24e2a core: check for GPU_* environment variables unconditionally. 2014-01-28 02:51:42 +02:00
Sanjin Trošelj
87e5f35745 VS2010 build: commit elist.h and relevant changes in sgminer.c and util.c
Cherry-picked by veox.

Introduces a segfault. Expect a HEAD reset.
2014-01-28 02:42:56 +02:00
Noel Maersk
d7c8d1d300 core: change scantime/expiry to 10/30 from 30/120. 2014-01-27 02:43:52 +02:00
Noel Maersk
64fc8324b8 pools: initial implementation of pool state machines.
moved enable_pool(), disable_pool() and other functions related to
state. These could probably be factored out altogether.

Pool state default is now "enabled" - it was previosly "disabled",
but there was an unconditional function call to enable all pools
in main() previously. It was factored out by joe's earlier commits,
so not visible in this one.
2014-01-27 02:28:58 +02:00
Noel Maersk
1ebcb07302 Merge branch 'master' into pools 2014-01-27 00:54:16 +02:00
Noel Maersk
cae071b837 Merge branch 'kernels' 2014-01-27 00:48:25 +02:00
Noel Maersk
e269656959 Merge branch 'pools-joe' 2014-01-26 23:57:18 +02:00
Noel Maersk
048c82b9b2 pools: rename 'pool->enabled' to 'pool->state'. 2014-01-26 20:02:00 +02:00
Noel Maersk
22b78e91f6 tui: Refactor status line printing.
Default pool name is now URL and port instead of "Pool N" (which
is confusing).

Status line displays user-defined name.
2014-01-26 19:44:39 +02:00
Noel Maersk
6417bcce61 Merge remote-tracking branch 'joe/pool_options' into pools 2014-01-26 16:51:38 +02:00
Joe4782
b1eb2ab8f8 Implemented the 'remove-pool' config option for json file pools 2014-01-26 01:26:00 +00:00
Joe4782
817ed55b6a Pool management option now shows pool name when available 2014-01-26 00:56:58 +00:00
Joe4782
1d81196238 Added a 'disable-pool' option to the json configuration, to allow pools to be started up disabled 2014-01-25 20:33:45 +00:00
gacheson
1eacb3f1c2 Fixes for "--pools" flag and fatal JSON error 2014-01-25 10:50:18 -06:00
Joe4782
712385160b Added the stratum port to the status print 2014-01-23 21:54:40 +00:00
Noel Maersk
de08e71ea2 core: write xintensity and rawintensity to config, add vectors back as a hidden option; a little whitespace for readability. 2014-01-23 21:43:22 +02:00
Noel Maersk
dda62843fd core: Add -v as an shorthand for --verbose. 2014-01-23 20:42:14 +02:00
Noel Maersk
5f795be64a core: use kernel name defines now that version date is not in the filenames.
Ideally, even this should not be needed, and specifying a kernel name string
should search for the appropriate file in kernel-path.
2014-01-23 11:46:47 +02:00
Martin Danielsen
d11df698d1 --rawintensity option, by request of Dead2.
This setting allows to set the GPU intensity value directly without any modifiers, it does not
get any more raw than this! Look at the xintensity description raw for examples of regular
intensity values. You can also set this value through the ncurses interface by pressing:
G -> A -> select device id -> enter value.

Minor xintensity code cleanup as well.

Conflicts:
	driver-opencl.c
	miner.h
	sgminer.c
2014-01-22 18:24:43 +02:00
Martin Danielsen
967c757cdf Cleaned a few messages up after pool naming feature. 2014-01-22 17:42:09 +02:00
Martin Danielsen
cb174d433a Failover pool switching back delay is now configurable.
--failover-switch-delay sets the delay in seconds before switching back to a failed pool,
default is 60 seconds.
2014-01-22 12:06:04 +02:00
Noel Maersk
5f326d64f5 kernel: allow choosing Alexey Karimov's kernels.
Am I the only one who gets a segfault?..
2014-01-21 10:36:55 +02:00
Noel Maersk
7950c10374 kernel: integrate Zuikkis' kernel, selectable with --kernel=zuikkis.
Kernel ckolivas is still the default. Needs documentation, too.

https://github.com/veox/sgminer/issues/4
2014-01-20 23:38:39 +02:00
Noel Maersk
9d1db95a28 misc: move scrypt130511.cl kernel file to kernel/ckolivas.cl
Prepare for more kernels. :)

Get rid of the kernel date, since this fudges up commit history.

Named after Con Kolivas, the most recent committer.
2014-01-20 16:04:43 +02:00
Luke Dashjr
3faf4dd4a6 Use lround instead of llround, since it has better compatibility with older MingW and Cygwin versions 2014-01-19 01:46:09 +02:00
Martin Danielsen
7aeae40af2 EXPERIMENTAL: A new way of setting intensity; introducing xintensity!
All of this is credited to ArGee of RGMiner, he did the initial ground work for this setting.

This new setting allows for a much finer grained intensity setting and also opens up for dual gpu threads on devices not previously able to. Note: make sure to use lower thread-concurrency values when you increase cpu threads.

Intensity is currently used to spawn GPU threads as a simple 2^value setting.
  I:13 =    8192 threads
  I:15 =   32768 threads
  I:17 =  131072 threads
  I:18 =  262144 threads
  I:19 =  524288 threads
  I:20 = 1048576 threads
Notice how the higher settings increase thread count tremendously.

Now enter the xintensity setting (Yes, I am a genius with my naming convention!).
It is simply a shader multiplier, obviously based on the amount of shaders you got on a card, this should allow the same value to scale with different card models.
   6970 with 1536 shaders: xI:64 = 98304 threads
R9 280X with 2048 shaders: xI:64 = 131072 threads
 R9 290 with 2560 shaders: xI:64 = 180224 threads
R9 290X with 2816 shaders: xI:64 = 163840 threads

   6970 with 1536 shaders: xI:300 = 460800 threads
R9 280X with 2048 shaders: xI:300 = 614400 threads
 R9 290 with 2560 shaders: xI:300 = 768000 threads
R9 290X with 2816 shaders: xI:300 = 844800 threads

It's now much easier to control thread intensity and it potentially allows for a uniform way of setting the intensity on your system. I'm very interested in constructive feedback, as I do not have access to a lot of different card models.

This change has been tested on 6970, R9 290, R9 290X - all with equal or a little better speeds than regular intensity setting after a little tuning, but your mileage may vary. Don't fret it, if this doesn't work for you, the regular intensity setting is still available.

Conflicts:
	driver-opencl.c
	sgminer.c
2014-01-18 21:11:31 +02:00
Martin Danielsen
d7e469bd76 Stratum servers can now be named.
The names will be used throughout the display in the program, when not set "Pool 1" will
simply be used instead. The names are not exposed through API yet, it's on my TODO list.

Use "poolname" like this:

	{
		"poolname" : "Example pool",
		"url" : "stratum+tcp://example.com:8080",
		"user" : "y",
		"pass" : "x"
	},

Conflicts:
	sgminer.c
	util.c
2014-01-18 21:05:26 +02:00
Noel Maersk
11920081ec ui: Don't pad most displayed strings with spaces. 2014-01-15 17:20:54 +02:00
Noel Maersk
e46581dea1 Remove --vectors (current kernel only supports 1 vector).
The functionality to set the number of vectors still remains, though.
2014-01-15 17:03:50 +02:00
Noel Maersk
e6b5fb7aa8 core: remove deprecated --scrypt option. 2014-01-15 16:45:04 +02:00
Noel Maersk
50066cf3c7 misc: Replace all remaining instances of 'cgminer' with 'sgminer'.
sed again.
2014-01-15 16:36:48 +02:00
Noel Maersk
6ea3b93809 core: fix build error due to CGMINER_PREFIX reference. 2014-01-15 16:03:24 +02:00
Noel Maersk
5b977125fa misc: Replace many (but not all) instances of 'cgminer' with 'sgminer'.
Just ran a `sed -i 's/cgminer/sgminer/'` on several files.
2014-01-15 15:36:19 +02:00