Log

Author Commit Date CI Message
Rusty Russell 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.
Rusty Russell 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.
Rusty Russell a0d14d15 2011-07-06T16:47:25 ccan: add ccan/opt and dependencies to build.
Rusty Russell e2d912eb 2011-07-06T16:44:36 vapplog: new helper function for reporting errors.
Con Kolivas 5969d65a 2011-07-06T15:57:50 First work for each thread is now queued in advance.
Con Kolivas e9a397d4 2011-07-06T15:56:30 More space to wipe old text.
Con Kolivas e9906980 2011-07-06T15:40:12 Fix the extra work queued every longpoll by queueing it all in the beginning.
Con Kolivas 719deb3a 2011-07-06T14:20:18 Create a wakeup thread that keeps the hashmeter going in case the mining threads all stall.
Con Kolivas ddae5aa9 2011-07-06T13:29:01 Remove unused variable.
Con Kolivas 837e7b1a 2011-07-06T13:28:29 Remove unused cgpu rolling_local variable.
Con Kolivas 93800e57 2011-07-06T13:19:56 More output tidy.
Con Kolivas 56eee5f0 2011-07-06T13:16:47 Retry should get_work() fail for whatever reason.
Con Kolivas 07f6de8b 2011-07-06T13:05:57 Change ifdef order since batch is always defined if idle is.
Con Kolivas cf1e4627 2011-07-06T13:04:35 Give error messages at all points of failure.
Con Kolivas 0f351d84 2011-07-06T12:57:38 Always log warnings and error messages.
Con Kolivas 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.
Con Kolivas 69d8df64 2011-07-06T08:59:51 More cleaning of output with detecting new block.
Con Kolivas 4800832b 2011-07-06T08:31:06 Import updated asm for cpu mining based on ufasoft assembly.
Con Kolivas 8333a2ff 2011-07-06T00:01:40 Improve output appearance +/- verbose mode.
Con Kolivas 1fb09eaa 2011-07-05T23:11:05 Implement -n/--ndevs option.
Con Kolivas 0ebdc39a 2011-07-05T23:07:18 Make debug mode imply verbose mode.
Con Kolivas 413e6b86 2011-07-05T22:08:13 Fix potential divide by zero.
Con Kolivas 660aabf7 2011-07-05T22:05:53 Merge https://github.com/ycros/cgminer into cgminer
Con Kolivas 0a80d4b0 2011-07-05T22:04:54 Display the output as a refreshing line and only push continuous log to stderr if desired.
Ycros a636a674 2011-07-05T21:31:41 Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer
Ycros 52d6e7ca 2011-07-05T21:31:24 Fixed fread issues under Windows.
Con Kolivas cb13e2cf 2011-07-05T19:47:03 Make it possible to build without opencl for cpu mining only.
Con Kolivas a93b22c6 2011-07-05T17:34:54 Make it possible to build without GPU mining by picking up HAVE_OPENCL from config.h.
Ycros 1f809987 2011-07-05T17:03:28 Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer
Con Kolivas 4172fec2 2011-07-05T16:47:19 Cope with invalid parameter passing.
Con Kolivas bc7cde7b 2011-07-05T16:37:51 Implement short option parsing.
Ycros 5f20777a 2011-07-05T16:00:59 Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer
Con Kolivas 13c57a57 2011-07-05T15:18:13 Properly initialise qd_lock mutex.
Ycros bbac2b93 2011-07-05T11:43:45 Added HAVE_OPENCL define to config.h, added OpenCL message at the end of configure script.
Con Kolivas 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.
Con Kolivas 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.
Con Kolivas 8a0bbf31 2011-07-04T20:50:35 Update news information reflecting overall summary of gpu mining code.
Con Kolivas 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.
Con Kolivas 48caf248 2011-07-02T09:39:43 Check for stale block after failed submission as well.
Con Kolivas 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.
Con Kolivas 8f098e4a 2011-07-04T15:31:12 Put locking around the queued count to ensure we're never left without work.
Con Kolivas 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.
Con Kolivas 821da37c 2011-07-04T13:49:28 Add hardware name to binary kernel name allowing for unique kernels for different cards on the same machine.
Con Kolivas 9950aa39 2011-07-04T00:05:12 Fix 32 bit builds.
Con Kolivas 5cbc33e7 2011-07-03T22:36:56 Change default retry to 5 seconds.
Con Kolivas 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.
Con Kolivas 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.
Con Kolivas 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.
Con Kolivas 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.
Con Kolivas 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.
Con Kolivas 13b43cfa 2011-07-03T00:28:51 Update copyright and authors.
Con Kolivas 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.
Con Kolivas 594b38b8 2011-07-02T13:46:17 Fix redefinition of gnu source.
Michael Kedzierski 513b445d 2011-07-02T13:10:30 autogen.sh fix
Con Kolivas f6490010 2011-07-02T12:55:29 Update gitignore.
Con Kolivas 3320c627 2011-07-04T19:49:03 Added previously missing gnulib files. Conflicts: ocl.c
Ycros 8313606b 2011-06-25T15:46:15 Fixed configure.ac to properly detect OpenCL on windows/mingw.
Ycros ec831917 2011-06-25T04:43:37 Build on windows using mingw32.
Ycros 9fe21064 2011-06-25T08:18:29 Fixed up using config.h instead of cpuminer-config.h.
Ycros b645cc9f 2011-06-25T04:56:24 Updated README for building on win32.
Con Kolivas edd0591e 2011-07-02T13:29:31 Make the number of queued work items configurable and default to 2.
Con Kolivas 131f60a5 2011-07-02T13:06:51 Move queueing of one request to separate function in preparation for variable length queues.
Ycros 5d301c8b 2011-07-02T10:22:09 Make a binary load failure build from source.
Con Kolivas 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.
Con Kolivas 86e40ed9 2011-07-02T09:44:29 Stale block control makes it possible to make 2 threads per gpu the default again.
Con Kolivas 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.
Con Kolivas e2fb3e84 2011-07-01T20:34:22 Queueing all kernel parameters dramatically reduces stale block rates.
ckolivas 7ae9afc4 2011-07-01T14:16:41 Profile points and warning clean ups.
ckolivas 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.
ckolivas 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.
Tom Rini 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>
Con Kolivas 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.
Con Kolivas 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.
Con Kolivas 72baac08 2011-06-30T21:55:39 Clearly delineate the cpus from the gpus for their local data.
Con Kolivas 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!
Con Kolivas 18f8b0f9 2011-06-30T16:30:05 Submit work async is still unreliable and only used for cpu mining, so back it out for now.
Con Kolivas 60f0bb19 2011-06-30T15:47:17 Temporarily back out binary building till it's working more reliably.
Con Kolivas d5d4d1da 2011-06-30T14:41:01 Don't want to free the work data out of the transient structs.
Con Kolivas a095f0fa 2011-06-30T14:30:10 Broke source generated program. Fix.
Con Kolivas d100281d 2011-06-30T14:21:34 Make sure correct thread id is in work struct and correct cpu is set for per-cpu data.
Con Kolivas 998d8d45 2011-06-30T11:30:37 Postcalc hash is already its own thread so work can be submitted synchronously from that.
Con Kolivas 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.
Con Kolivas 973b2199 2011-06-30T08:58:07 Tidy.
Con Kolivas 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.
ckolivas 6af84770 2011-06-29T11:30:06 Add spaces to make output clearer.
ckolivas e1dd27c5 2011-06-29T11:19:43 Ensure that we don't overflow due to 32 bit limitations.
ckolivas b38a02bd 2011-06-29T11:14:16 Make the log time hash rate a rolling exponential average so it doesn't fluctuate so dramatically.
ckolivas 08a78210 2011-06-29T10:12:00 Make the log show what the thread is: cpu or gpu and what number.
ckolivas 1dfbe603 2011-06-29T09:24:38 Put sanity limit on work size since some nvidia fail :(
ckolivas f490143a 2011-06-29T09:22:21 Add local thread count to info, store hw error count, and make share submission debug only.
Con Kolivas e016d0c8 2011-06-28T23:41:57 Increase maximum intensity configurable to 14.
Con Kolivas dfc52fd5 2011-06-28T21:46:09 Make sure we can have gpu and cpu threads running.
Con Kolivas 24a28e29 2011-06-28T21:28:50 Make it possible to run as a pure cpu miner by setting gpu threads to 0.
ckolivas e1d01d06 2011-06-28T11:18:26 Minor fixes.
Con Kolivas 6c6bb02b 2011-06-28T21:16:37 There is no point having vectors in the it variable.
Con Kolivas 6374e0fa 2011-06-28T21:11:04 Import the phatk kernel. Enable it only for hardware with amd media ops for now since it crashes nvidia et. al. Fallback to the poclbm kernel for the rest. Try harder to avoid stale blocks around longpoll detecting new blocks.
Con Kolivas 2dbb3944 2011-06-27T22:05:03 Base was being set wrongly meaning we were repeating searches and the rate was actually lower than displayed :( Tweak Ma with new changes. Change default vectors to 2 since it's faster than 4 even when 4 is reported as preferred.
Con Kolivas c5666051 2011-06-27T16:41:39 Tab dainbramage.
Con Kolivas 11c88185 2011-06-27T16:08:46 32 bit only builds one elf, not an elf in an elf, so account for it to be able to bfi int patch properly.
Con Kolivas 623b9b9f 2011-06-27T12:45:03 Patch bitalign separately from bfi_int. Recover from failing to patch for bfi int.