|
ed233e8c
|
2011-07-07T09:58:26
|
|
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.
|
|
efebee5a
|
2011-07-06T16:47:29
|
|
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.
|
|
8d25df3c
|
2011-07-06T16:47:29
|
|
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.
|
|
3e818121
|
2011-07-06T16:47:29
|
|
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.
|
|
8b68dc44
|
2011-07-06T16:47:29
|
|
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.
|
|
5a83cc2d
|
2011-07-06T16:47:29
|
|
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.
|
|
a0d14d15
|
2011-07-06T16:47:25
|
|
ccan: add ccan/opt and dependencies to build.
|
|
e2d912eb
|
2011-07-06T16:44:36
|
|
vapplog: new helper function for reporting errors.
|
|
5969d65a
|
2011-07-06T15:57:50
|
|
First work for each thread is now queued in advance.
|
|
e9a397d4
|
2011-07-06T15:56:30
|
|
More space to wipe old text.
|
|
e9906980
|
2011-07-06T15:40:12
|
|
Fix the extra work queued every longpoll by queueing it all in the beginning.
|
|
719deb3a
|
2011-07-06T14:20:18
|
|
Create a wakeup thread that keeps the hashmeter going in case the mining threads all stall.
|
|
ddae5aa9
|
2011-07-06T13:29:01
|
|
Remove unused variable.
|
|
837e7b1a
|
2011-07-06T13:28:29
|
|
Remove unused cgpu rolling_local variable.
|
|
93800e57
|
2011-07-06T13:19:56
|
|
More output tidy.
|
|
56eee5f0
|
2011-07-06T13:16:47
|
|
Retry should get_work() fail for whatever reason.
|
|
07f6de8b
|
2011-07-06T13:05:57
|
|
Change ifdef order since batch is always defined if idle is.
|
|
cf1e4627
|
2011-07-06T13:04:35
|
|
Give error messages at all points of failure.
|
|
0f351d84
|
2011-07-06T12:57:38
|
|
Always log warnings and error messages.
|
|
ed7e5bf9
|
2011-07-06T12:51:12
|
|
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.
|
|
69d8df64
|
2011-07-06T08:59:51
|
|
More cleaning of output with detecting new block.
|
|
4800832b
|
2011-07-06T08:31:06
|
|
Import updated asm for cpu mining based on ufasoft assembly.
|
|
8333a2ff
|
2011-07-06T00:01:40
|
|
Improve output appearance +/- verbose mode.
|
|
1fb09eaa
|
2011-07-05T23:11:05
|
|
Implement -n/--ndevs option.
|
|
0ebdc39a
|
2011-07-05T23:07:18
|
|
Make debug mode imply verbose mode.
|
|
413e6b86
|
2011-07-05T22:08:13
|
|
Fix potential divide by zero.
|
|
660aabf7
|
2011-07-05T22:05:53
|
|
Merge https://github.com/ycros/cgminer into cgminer
|
|
0a80d4b0
|
2011-07-05T22:04:54
|
|
Display the output as a refreshing line and only push continuous log to stderr if desired.
|
|
a636a674
|
2011-07-05T21:31:41
|
|
Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer
|
|
52d6e7ca
|
2011-07-05T21:31:24
|
|
Fixed fread issues under Windows.
|
|
cb13e2cf
|
2011-07-05T19:47:03
|
|
Make it possible to build without opencl for cpu mining only.
|
|
a93b22c6
|
2011-07-05T17:34:54
|
|
Make it possible to build without GPU mining by picking up HAVE_OPENCL from config.h.
|
|
1f809987
|
2011-07-05T17:03:28
|
|
Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer
|
|
4172fec2
|
2011-07-05T16:47:19
|
|
Cope with invalid parameter passing.
|
|
bc7cde7b
|
2011-07-05T16:37:51
|
|
Implement short option parsing.
|
|
5f20777a
|
2011-07-05T16:00:59
|
|
Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer
|
|
13c57a57
|
2011-07-05T15:18:13
|
|
Properly initialise qd_lock mutex.
|
|
bbac2b93
|
2011-07-05T11:43:45
|
|
Added HAVE_OPENCL define to config.h, added OpenCL message at the end of configure script.
|
|
f90e73af
|
2011-07-05T10:47:47
|
|
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.
|
|
af6e7937
|
2011-07-05T10:42:11
|
|
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.
|
|
8a0bbf31
|
2011-07-04T20:50:35
|
|
Update news information reflecting overall summary of gpu mining code.
|
|
91f9c527
|
2011-07-04T20:33:31
|
|
Rename code and application binary to cgminer version 1.0.9 preempting version 1.1.0, moving main code to main.c.
|
|
131f60a5
|
2011-07-02T13:06:51
|
|
Move queueing of one request to separate function in preparation for variable length queues.
|
|
5d301c8b
|
2011-07-02T10:22:09
|
|
Make a binary load failure build from source.
|
|
ffdffe77
|
2011-07-02T12:12:35
|
|
Make sure the work gets attributed to the correct gpu.
Add an fflush to stderr to minimise garbled output when multiple threads write at once.
|
|
86e40ed9
|
2011-07-02T09:44:29
|
|
Stale block control makes it possible to make 2 threads per gpu the default again.
|
|
48caf248
|
2011-07-02T09:39:43
|
|
Check for stale block after failed submission as well.
|
|
09104ce3
|
2011-07-02T00:13:13
|
|
Flag the work back to just thread 0 used by all the threads to avoid lots of queued older work for each thread.
|
|
8f098e4a
|
2011-07-04T15:31:12
|
|
Put locking around the queued count to ensure we're never left without work.
|
|
122f0cf2
|
2011-07-04T13:59:24
|
|
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.
|
|
821da37c
|
2011-07-04T13:49:28
|
|
Add hardware name to binary kernel name allowing for unique kernels for different cards on the same machine.
|
|
9950aa39
|
2011-07-04T00:05:12
|
|
Fix 32 bit builds.
|
|
5cbc33e7
|
2011-07-03T22:36:56
|
|
Change default retry to 5 seconds.
|
|
de3d07d1
|
2011-07-03T22:14:32
|
|
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.
|
|
ad787e1c
|
2011-07-03T19:39:47
|
|
Move the flushing of old work into restart threads so it's done before any worker threads grab more work.
|
|
5007805d
|
2011-07-03T19:10:59
|
|
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.
|
|
e4f9ea68
|
2011-07-03T09:32:15
|
|
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.
|
|
8999bea1
|
2011-07-03T00:39:02
|
|
People expect miners to run indefinitely instead of giving up by default so change to never giving up if json call fails.
|
|
13b43cfa
|
2011-07-03T00:28:51
|
|
Update copyright and authors.
|
|
9f726400
|
2011-07-02T21:42:14
|
|
Logic error in the queueing of work ended up generating more stale blocks.
There is a small chance that a longpoll is signalled right at the start which would lead to a deadlock so check for first work before restart.
|
|
594b38b8
|
2011-07-02T13:46:17
|
|
Fix redefinition of gnu source.
|
|
513b445d
|
2011-07-02T13:10:30
|
|
autogen.sh fix
|
|
f6490010
|
2011-07-02T12:55:29
|
|
Update gitignore.
|
|
3320c627
|
2011-07-04T19:49:03
|
|
Added previously missing gnulib files.
Conflicts:
ocl.c
|
|
8313606b
|
2011-06-25T15:46:15
|
|
Fixed configure.ac to properly detect OpenCL on windows/mingw.
|
|
ec831917
|
2011-06-25T04:43:37
|
|
Build on windows using mingw32.
|
|
9fe21064
|
2011-06-25T08:18:29
|
|
Fixed up using config.h instead of cpuminer-config.h.
|
|
b645cc9f
|
2011-06-25T04:56:24
|
|
Updated README for building on win32.
|
|
edd0591e
|
2011-07-02T13:29:31
|
|
Make the number of queued work items configurable and default to 2.
|
|
bed69215
|
2011-07-01T23:45:15
|
|
Get rid of the requirement for a static struct that needs locking to cache work.
Make it possible to use the thread id for getting work again.
Flag the getwork() function when we have a new block to explicitly discard any cached work when a new block is detected.
Store the header of each new work and compare it to blocks we're about to submit to decide if they're stale due to a new block and don't try to submit them.
This should significantly decrease the number of rejected blocks.
|
|
e2fb3e84
|
2011-07-01T20:34:22
|
|
Queueing all kernel parameters dramatically reduces stale block rates.
|
|
7ae9afc4
|
2011-07-01T14:16:41
|
|
Profile points and warning clean ups.
|
|
b54a3425
|
2011-07-01T13:58:43
|
|
Change default number of threads back to 1. The 2nd just increases the time taken to complete a work item thus increasing stale blocks, despite increasing the rate slightly.
|
|
3983f1b9
|
2011-07-01T13:21:18
|
|
Breaks nvidia building. Roll back for now.
Revert "configure.ac, Makefile.am: Allow setting of OpenCL location"
This reverts commit a9893d818dac53cb52c2ed06ece59195228f44d9.
|
|
2a8475b5
|
2011-06-29T19:45:53
|
|
configure.ac, Makefile.am: Allow setting of OpenCL location
Add two new configure flags, --with-opencl-libdir and --with-opencl-inc
to specify where OpenCL headers and libraries exist. This now adds
a test for the OpenCL header file and makes not finding the library
or headers a fatal error.
Signed-off-by: Tom Rini <trini@kernel.crashing.org>
|
|
3aa5be4f
|
2011-07-01T01:14:43
|
|
Reinstate binary kernel loading with fixes.
Build binaries with unique filenames from the kernel generated and save them.
Try to load this cached binary if it matches on next kernel instantiation.
This speeds up start-up dramatically, and has a unique kernel binary for different kernel configurations.
|
|
88d9d631
|
2011-06-30T23:36:57
|
|
Use two separate curl instances for submit and get and use separate threads for each to prevent one blocking the other.
|
|
72baac08
|
2011-06-30T21:55:39
|
|
Clearly delineate the cpus from the gpus for their local data.
|
|
142576a9
|
2011-06-30T20:50:52
|
|
We already have gpu/cpu from id, so use that. Likely the current convoluted code is wrong and leading to segfaults!
|
|
18f8b0f9
|
2011-06-30T16:30:05
|
|
Submit work async is still unreliable and only used for cpu mining, so back it out for now.
|
|
60f0bb19
|
2011-06-30T15:47:17
|
|
Temporarily back out binary building till it's working more reliably.
|
|
d5d4d1da
|
2011-06-30T14:41:01
|
|
Don't want to free the work data out of the transient structs.
|
|
a095f0fa
|
2011-06-30T14:30:10
|
|
Broke source generated program. Fix.
|
|
d100281d
|
2011-06-30T14:21:34
|
|
Make sure correct thread id is in work struct and correct cpu is set for per-cpu data.
|
|
998d8d45
|
2011-06-30T11:30:37
|
|
Postcalc hash is already its own thread so work can be submitted synchronously from that.
|
|
4d730577
|
2011-06-30T10:36:19
|
|
Build binaries with unique filenames from the kernel generated and save them.
Try to load this cached binary if it matches on next kernel instantiation.
This speeds up start-up dramatically, and has a unique kernel binary for different kernel configurations.
|
|
973b2199
|
2011-06-30T08:58:07
|
|
Tidy.
|
|
2b6e8416
|
2011-06-29T23:38:16
|
|
Use a buffer of up to 512 * 4 integers when retrieving work from the GPU.
This allows each local thread id to have one slot to put any positive results into, thus making overlapping results far less likely.
Thus races will be much rarer, allowing more threads.
It should also pick up blocks close to each other more reliably and hopefully decrease the number of rejects and opencl errors.
Do the search over the buffer entirely in a separate thread to allow the GPU to stay as busy as possible.
Detach threads from themselves to prevent unlucky even where dereferencing occurs by freeing the data that stores the thread info.
|
|
6af84770
|
2011-06-29T11:30:06
|
|
Add spaces to make output clearer.
|
|
f6486efb
|
2011-06-25T13:40:42
|
|
Make the getting of work asynchronous from the mining threads requests by always having one work item queued.
This prevents drops in hash rates when getting work from a pool that is slow to respond.
Use a local static struct work in get_work that is used to queue one extra work item.
|
|
0cef8f8d
|
2011-06-25T12:50:15
|
|
Default scan timeout of 5 seconds is way too short leading to abandoning blocks too early and being seen as an "inefficient" miner. Increase it to 60.
|
|
ac4ab6af
|
2011-06-25T12:32:30
|
|
Fix mutli-gpu initialisation when BFI_INT patching.
|
|
d2cb012f
|
2011-06-25T10:07:29
|
|
Detach the thread once created so we don't have to explicitly try and join it.
|
|
e1dd27c5
|
2011-06-29T11:19:43
|
|
Ensure that we don't overflow due to 32 bit limitations.
|
|
b38a02bd
|
2011-06-29T11:14:16
|
|
Make the log time hash rate a rolling exponential average so it doesn't fluctuate so dramatically.
|
|
08a78210
|
2011-06-29T10:12:00
|
|
Make the log show what the thread is: cpu or gpu and what number.
|
|
1dfbe603
|
2011-06-29T09:24:38
|
|
Put sanity limit on work size since some nvidia fail :(
|
|
f490143a
|
2011-06-29T09:22:21
|
|
Add local thread count to info, store hw error count, and make share submission debug only.
|
|
e016d0c8
|
2011-06-28T23:41:57
|
|
Increase maximum intensity configurable to 14.
|
|
dfc52fd5
|
2011-06-28T21:46:09
|
|
Make sure we can have gpu and cpu threads running.
|