Con Kolivas
bb49287449
Make longpoll aware of when new block detection has detected a new block first and avoid flushing the work queue twice.
14 years ago
Con Kolivas
186666d3d1
Prevent buffer overflow.
14 years ago
Con Kolivas
25bebf3b92
Make the output line much terser now that it has a lot of information on it.
14 years ago
Con Kolivas
1b2355176b
Merge branch 'cgminer' into mfontani
...
Conflicts:
main.c
14 years ago
Con Kolivas
ed233e8cb5
Put work into a staging area which makes it possible to check the latest work data received.
...
Then check the latest work data against a store of the current_block and use it to determine if we have moved to a new block.
This makes --no-longpoll work just as efficiently as longpoll, and works around when longpoll is unreliable.
14 years ago
Marco Fontani
c815de4991
Add "efficiency" and "utility"
...
Efficiency is the percentage of getworks compared to the amount of
work requested from the pool. It can go higher than 100% in case
more shares than getworks were found. Some pools prefer miners to
have a high efficiency; CPU miners likely exhibit a low efficiency.
Utility is the number of shares found per minute, since the miner
was started. It is another way to describe the effectiveness of
a miner.
14 years ago
Rusty Russell
efebee5ab8
Fix the case where there are no GPUs, and exit if they give errors.
...
If there are no GPUs, set nDevs to 0 not -1 (status is set to an
unhelpful -1001 here on my laptop, so we can't rely on a particular
status value).
Also, if nDevs is -1, exit rather than screwing up later.
14 years ago
Rusty Russell
8b68dc44d4
Fix --ndevs/-n option.
...
The option should be called from within the callback, and just use
printf to give the raw result, rather than using applog which prepends
a timestamp.
14 years ago
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.
14 years ago
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.
14 years ago
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.
14 years ago
Rusty Russell
a0d14d1564
ccan: add ccan/opt and dependencies to build.
14 years ago
Rusty Russell
e2d912eb4a
vapplog: new helper function for reporting errors.
14 years ago
Con Kolivas
5969d65a04
First work for each thread is now queued in advance.
14 years ago
Con Kolivas
e9a397d4b9
More space to wipe old text.
14 years ago
Con Kolivas
e99069808a
Fix the extra work queued every longpoll by queueing it all in the beginning.
14 years ago
Con Kolivas
719deb3aac
Create a wakeup thread that keeps the hashmeter going in case the mining threads all stall.
14 years ago
Con Kolivas
ddae5aa9d0
Remove unused variable.
14 years ago
Con Kolivas
837e7b1a85
Remove unused cgpu rolling_local variable.
14 years ago
Con Kolivas
93800e5790
More output tidy.
14 years ago
Con Kolivas
56eee5f007
Retry should get_work() fail for whatever reason.
14 years ago
Con Kolivas
07f6de8b34
Change ifdef order since batch is always defined if idle is.
14 years ago
Con Kolivas
cf1e4627e4
Give error messages at all points of failure.
14 years ago
Con Kolivas
0f351d8466
Always log warnings and error messages.
14 years ago
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.
14 years ago
Con Kolivas
69d8df643a
More cleaning of output with detecting new block.
14 years ago
Con Kolivas
4800832b1d
Import updated asm for cpu mining based on ufasoft assembly.
14 years ago
Con Kolivas
8333a2ff40
Improve output appearance +/- verbose mode.
14 years ago
Con Kolivas
1fb09eaa0e
Implement -n/--ndevs option.
14 years ago
Con Kolivas
0ebdc39a19
Make debug mode imply verbose mode.
14 years ago
Con Kolivas
413e6b8645
Fix potential divide by zero.
14 years ago
Con Kolivas
660aabf7f7
Merge https://github.com/ycros/cgminer into cgminer
14 years ago
Con Kolivas
0a80d4b04d
Display the output as a refreshing line and only push continuous log to stderr if desired.
14 years ago
Ycros
a636a6744f
Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer
14 years ago
Ycros
52d6e7ca37
Fixed fread issues under Windows.
14 years ago
Con Kolivas
cb13e2cfe5
Make it possible to build without opencl for cpu mining only.
14 years ago
Con Kolivas
a93b22c630
Make it possible to build without GPU mining by picking up HAVE_OPENCL from config.h.
14 years ago
Ycros
1f809987fa
Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer
14 years ago
Con Kolivas
4172fec24a
Cope with invalid parameter passing.
14 years ago
Con Kolivas
bc7cde7b36
Implement short option parsing.
14 years ago
Ycros
5f20777a50
Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer
14 years ago
Con Kolivas
13c57a5779
Properly initialise qd_lock mutex.
14 years ago
Ycros
bbac2b938b
Added HAVE_OPENCL define to config.h, added OpenCL message at the end of configure script.
14 years ago
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.
14 years ago
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.
14 years ago
Con Kolivas
8a0bbf31d4
Update news information reflecting overall summary of gpu mining code.
14 years ago
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.
14 years ago
Con Kolivas
8f098e4ab4
Put locking around the queued count to ensure we're never left without work.
14 years ago
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.
14 years ago
Con Kolivas
821da37c84
Add hardware name to binary kernel name allowing for unique kernels for different cards on the same machine.
14 years ago