Log

Author Commit Date CI Message
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.
Michael Kedzierski 513b445d 2011-07-02T13:10:30 autogen.sh fix
Ycros ec831917 2011-06-25T04:43:37 Build on windows using mingw32.
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.
Ycros 9fe21064 2011-06-25T08:18:29 Fixed up using config.h instead of cpuminer-config.h.
Con Kolivas f6490010 2011-07-02T12:55:29 Update gitignore.
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 594b38b8 2011-07-02T13:46:17 Fix redefinition of gnu source.
Con Kolivas 3320c627 2011-07-04T19:49:03 Added previously missing gnulib files. Conflicts: ocl.c
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.
Ycros 8313606b 2011-06-25T15:46:15 Fixed configure.ac to properly detect OpenCL on windows/mingw.
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 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.
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 f1114992 2011-06-26T09:07:52 Implement a potentially variable number of threads per gpu, setting it to 2 for now.
Con Kolivas 08f56f5f 2011-06-26T08:55:53 Set default CPU threads to 0 if GPU mining.
Con Kolivas 06f39506 2011-06-26T08:49:50 Fix typo which prevented BFI INT patch working on multi-GPUs.
Con Kolivas 30e38e2e 2011-06-26T00:59:07 Typo i - gpu
Con Kolivas fdb46f2d 2011-06-26T00:06:19 32bit fixes.
Con Kolivas 295ef0f9 2011-06-25T21:47:16 Discard accumulated work when longpoll indicates a new block.
Con Kolivas f44e8fac 2011-06-25T20:56:17 Curl appears to be not thread safe so only have one curl open at a time.
Con Kolivas 343ae851 2011-06-25T20:38:40 Intensity 5 is too high for a normal desktop causing unacceptable lag so change the default to 4.
Con Kolivas 88e2cf7b 2011-06-25T20:22:23 Initialise libcurl properly.
Con Kolivas 656b485d 2011-06-25T18:58:59 Make the worksize and vector width configurable.
Con Kolivas ead1281b 2011-06-25T18:27:56 Cleanup of return codes.
Con Kolivas 401586f9 2011-06-25T18:06:38 Only try to patch GPU referenced.
ckolivas e1dd27c5 2011-06-29T11:19:43 Ensure that we don't overflow due to 32 bit limitations.
Con Kolivas 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.
Con Kolivas 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.
ckolivas b38a02bd 2011-06-29T11:14:16 Make the log time hash rate a rolling exponential average so it doesn't fluctuate so dramatically.
Con Kolivas ac4ab6af 2011-06-25T12:32:30 Fix mutli-gpu initialisation when BFI_INT patching.
Con Kolivas d2cb012f 2011-06-25T10:07:29 Detach the thread once created so we don't have to explicitly try and join it.
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.
Con Kolivas 948b514c 2011-06-27T12:02:47 The buffer needs to be flushed before enqueueing the kernel again. Further optimise the mining loop by removing the need_work bool.
Con Kolivas a45c54aa 2011-06-27T11:31:05 Make postcalc_hash asynchronous as well.
Con Kolivas 378d18f8 2011-06-27T10:15:03 Submit all work asynchronously via a submit_work thread.
Con Kolivas 612c3a45 2011-06-27T09:32:12 Curl doesn't like multiple instances so go back to one instance.
Con Kolivas f0dcd127 2011-06-27T09:17:13 Show which cpu mining thread when giving affinity message.
Con Kolivas 58f6bf42 2011-06-26T16:21:58 Prevent 32bit overflow of local_mhashes as well.
Con Kolivas 00de8225 2011-06-26T15:28:33 Upper limit should be -hashes.
Con Kolivas c29a4322 2011-06-26T13:45:38 Only update the hashmeter once per second from gpu mining threads.
Con Kolivas 063adc64 2011-06-26T12:59:15 Implement runtime selectable numbers of GPU threads and rename CPU threads option.
Con Kolivas b6ae1db8 2011-06-26T10:53:16 The submit_lock is not required nor helpful.
Con Kolivas d1c0cccd 2011-06-26T09:09:07 Show correct GPU from thread number.
Con Kolivas b7a17753 2011-06-25T09:56:37 Make a separate thread for work submission that returns immediately so that miner threads aren't kept waiting when submitting results to slow pools.
ckolivas 64f268c8 2011-06-24T17:00:54 Display correct worksize.
ckolivas e8f4eead 2011-06-24T16:24:53 Use total mhashes as a counter to prevent 32 bit overflows.
Jeff Garzik 32ca93de 2011-06-14T02:40:24 Version 1.0.2.
Con Kolivas 808d5b07 2011-06-24T11:17:58 Make output debug.
ckolivas f7926088 2011-06-24T10:55:05 Limit intensity to 10. Anything larger overflows. Simplify test for new work.
ckolivas feb8cfc8 2011-06-24T09:51:54 applog fixes.
ckolivas b19ee2f5 2011-06-24T09:39:33 Make sure a GPU doesn't work on a block longer than opt_scantime.
ckolivas 26546ad5 2011-06-24T09:17:09 Make the optimisations per-gpu card and update code to work properly with multiple cards.
Con Kolivas 8253f141 2011-06-23T23:38:04 Use some line breaks in the kernel.
Con Kolivas 4257deaf 2011-06-23T23:14:47 Convert abcd... to an array.
Con Kolivas 75cf5ccd 2011-06-23T23:04:34 Replace Ws with an array.
Con Kolivas 852e78e7 2011-06-23T22:09:49 Fix mutex unlocking with only one thread and opt_log_interval.
Con Kolivas 70f73576 2011-06-23T21:58:46 Make the output display the 5 second and total average Mhash/s. Make the log interval configurable.
Con Kolivas debe7776 2011-06-23T21:23:46 Use cpu_from_thr_id when binding threads.
Con Kolivas afc83cb2 2011-06-23T21:10:19 Need gnu_source for memmem to work properly.
Con Kolivas 4cd5f47e 2011-06-23T21:09:22 Revert "Multiple compiler warning fixes." This reverts commit a5cbfbde2610e9f60e14b41a4e0595bcb34c772a. Broke.
Con Kolivas 88761e6c 2011-06-23T21:04:29 Multiple compiler warning fixes.
ckolivas d28f526b 2011-06-23T17:56:11 Need memmem in advance() to work properly for patching.
ckolivas 19eea906 2011-06-23T17:50:37 Implement code detecting max work size and optimal vector width. Use this to patch the kernel to suit the idea values for the card. Then use these values when invoking the kernel.
ckolivas 33352213 2011-06-23T16:39:56 Report preferred vector width.