1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-10 23:08:07 +00:00
Commit Graph

1223 Commits

Author SHA1 Message Date
Rusty Russell
8d25df3c72 Cleanup --cpu-threads/-t logic
Currently it gets negated which means the default printed is wrong.
Use an explicit flag to tell if the user has overridden it; if they
haven't, and they turn off the GPUs, reset it to num_processors.
2011-07-06 16:47:29 +09:30
Rusty Russell
3e8181216c Use ccan/opt for commandline parsing.
This cleans up option handling, by using ccan/opt rather than
handcoded getopt_long.  We still have to open-code some things, such
as json config file handling.

The main change is that the --config option causes a file to be parsed
during commandline parsing, so you can override the results, and
provide multiple of them.

Other improvements are that 'help' and 'ndevs' are not valid arguments
in the config file; we use a separate argument table for such
commandline-only flags.
2011-07-06 16:47:29 +09:30
Rusty Russell
5a83cc2de4 ccan: downgrade ccan/opt license from GPLv3 (or later) to GPLv2 (or later)
As sole author, I can do this.  But as far as I know, the GPLv3 is just
a better GPL, and I prefer it.
2011-07-06 16:47:29 +09:30
Rusty Russell
a0d14d1564 ccan: add ccan/opt and dependencies to build. 2011-07-06 16:47:25 +09:30
Rusty Russell
e2d912eb4a vapplog: new helper function for reporting errors. 2011-07-06 16:44:36 +09:30
Con Kolivas
5969d65a04 First work for each thread is now queued in advance. 2011-07-06 15:57:50 +10:00
Con Kolivas
e9a397d4b9 More space to wipe old text. 2011-07-06 15:56:30 +10:00
Con Kolivas
e99069808a Fix the extra work queued every longpoll by queueing it all in the beginning. 2011-07-06 15:40:12 +10:00
Con Kolivas
719deb3aac Create a wakeup thread that keeps the hashmeter going in case the mining threads all stall. 2011-07-06 14:20:18 +10:00
Con Kolivas
ddae5aa9d0 Remove unused variable. 2011-07-06 13:29:01 +10:00
Con Kolivas
837e7b1a85 Remove unused cgpu rolling_local variable. 2011-07-06 13:28:29 +10:00
Con Kolivas
93800e5790 More output tidy. 2011-07-06 13:19:56 +10:00
Con Kolivas
56eee5f007 Retry should get_work() fail for whatever reason. 2011-07-06 13:16:47 +10:00
Con Kolivas
07f6de8b34 Change ifdef order since batch is always defined if idle is. 2011-07-06 13:05:57 +10:00
Con Kolivas
cf1e4627e4 Give error messages at all points of failure. 2011-07-06 13:04:35 +10:00
Con Kolivas
0f351d8466 Always log warnings and error messages. 2011-07-06 12:57:38 +10:00
Con Kolivas
ed7e5bf9a3 There is still potential for an uneven number of queued and dropped work items with this unnecessarily complex check. Flush work guarantees a symmetrical number of queue and discard already. 2011-07-06 12:51:12 +10:00
Con Kolivas
69d8df643a More cleaning of output with detecting new block. 2011-07-06 08:59:51 +10:00
Con Kolivas
4800832b1d Import updated asm for cpu mining based on ufasoft assembly. 2011-07-06 08:31:06 +10:00
Con Kolivas
8333a2ff40 Improve output appearance +/- verbose mode. 2011-07-06 00:01:40 +10:00
Con Kolivas
1fb09eaa0e Implement -n/--ndevs option. 2011-07-05 23:11:05 +10:00
Con Kolivas
0ebdc39a19 Make debug mode imply verbose mode. 2011-07-05 23:07:18 +10:00
Con Kolivas
413e6b8645 Fix potential divide by zero. 2011-07-05 22:08:13 +10:00
Con Kolivas
660aabf7f7 Merge https://github.com/ycros/cgminer into cgminer 2011-07-05 22:05:53 +10:00
Con Kolivas
0a80d4b04d Display the output as a refreshing line and only push continuous log to stderr if desired. 2011-07-05 22:04:54 +10:00
Ycros
a636a6744f Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer 2011-07-05 21:31:41 +10:00
Ycros
52d6e7ca37 Fixed fread issues under Windows. 2011-07-05 21:31:24 +10:00
Con Kolivas
cb13e2cfe5 Make it possible to build without opencl for cpu mining only. 2011-07-05 19:49:29 +10:00
Con Kolivas
a93b22c630 Make it possible to build without GPU mining by picking up HAVE_OPENCL from config.h. 2011-07-05 17:34:54 +10:00
Ycros
1f809987fa Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer 2011-07-05 17:03:28 +10:00
Con Kolivas
4172fec24a Cope with invalid parameter passing. 2011-07-05 16:47:19 +10:00
Con Kolivas
bc7cde7b36 Implement short option parsing. 2011-07-05 16:37:51 +10:00
Ycros
5f20777a50 Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer 2011-07-05 16:00:59 +10:00
Con Kolivas
13c57a5779 Properly initialise qd_lock mutex. 2011-07-05 15:18:13 +10:00
Ycros
bbac2b938b Added HAVE_OPENCL define to config.h, added OpenCL message at the end of configure script. 2011-07-05 11:50:41 +10:00
Con Kolivas
f90e73af51 Queue and pop precisely the same amount of work in flush_request to ensure all work is cleared and there isn't an uneven add/remove possible. 2011-07-05 10:47:47 +10:00
Con Kolivas
af6e7937ca Signal handling in dns lookup code is responsible for libcurl crashes when multithreading.
Disable signal handling and use many curl handles instead, thus making work more asynchronous.
Theoretically a curl can wait forever on a dns lookup with this but it's extremely unlikely.
2011-07-05 10:42:11 +10:00
Con Kolivas
8a0bbf31d4 Update news information reflecting overall summary of gpu mining code. 2011-07-04 20:50:35 +10:00
Con Kolivas
91f9c527ba Rename code and application binary to cgminer version 1.0.9 preempting version 1.1.0, moving main code to main.c. 2011-07-04 20:33:31 +10:00
Con Kolivas
8f098e4ab4 Put locking around the queued count to ensure we're never left without work. 2011-07-04 19:56:27 +10:00
Con Kolivas
122f0cf260 With pre-emptive queueing of work there is no need to have extra work in the queue by default. Make it a list of extra queue items instead of a total and default to 0. 2011-07-04 19:56:27 +10:00
Con Kolivas
821da37c84 Add hardware name to binary kernel name allowing for unique kernels for different cards on the same machine. 2011-07-04 19:56:27 +10:00
Con Kolivas
9950aa3927 Fix 32 bit builds. 2011-07-04 19:56:27 +10:00
Con Kolivas
5cbc33e756 Change default retry to 5 seconds. 2011-07-04 19:56:27 +10:00
Con Kolivas
de3d07d13b Make the next work item queue 2/3 of the way through the work on the current work item.
Load the first queued extra work in the main function to avoid having a once-off variable in get_work().
Load an extra set of work for each function in advance once a longpoll is detected since every thread will need to get new work.
Discard requests with a separate function to ensure the right number is always queued.
2011-07-04 19:56:27 +10:00
Con Kolivas
ad787e1c2a Move the flushing of old work into restart threads so it's done before any worker threads grab more work. 2011-07-04 19:56:27 +10:00
Con Kolivas
5007805d1f Update CPU reentrant scan code to work properly for extended periods up to scantime and adjust rate properly.
Simplify locking in hashmeter since it's called relatively infrequently anyway.
Set gpuminer hashmeter interval update to log interval / 5 as well.
2011-07-04 19:56:27 +10:00
Con Kolivas
e4f9ea68a9 CPU mining is spending too much time in the work thread and not receiving restart messages.
Update the code to return at log interval / 5 and only get work at the right time.
2011-07-04 19:56:27 +10:00
Con Kolivas
8999bea110 People expect miners to run indefinitely instead of giving up by default so change to never giving up if json call fails. 2011-07-04 19:56:27 +10:00
Con Kolivas
13b43cfad1 Update copyright and authors. 2011-07-04 19:56:27 +10:00