Commit Graph

  • 821da37c84 Add hardware name to binary kernel name allowing for unique kernels for different cards on the same machine. Con Kolivas 2011-07-04 13:49:28 +1000
  • 9950aa3927 Fix 32 bit builds. Con Kolivas 2011-07-04 00:05:12 +1000
  • 5cbc33e756 Change default retry to 5 seconds. Con Kolivas 2011-07-03 22:36:56 +1000
  • 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. Con Kolivas 2011-07-03 22:14:32 +1000
  • ad787e1c2a Move the flushing of old work into restart threads so it's done before any worker threads grab more work. Con Kolivas 2011-07-03 19:39:47 +1000
  • 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. Con Kolivas 2011-07-03 19:10:59 +1000
  • 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. Con Kolivas 2011-07-03 09:32:15 +1000
  • 8999bea110 People expect miners to run indefinitely instead of giving up by default so change to never giving up if json call fails. Con Kolivas 2011-07-03 00:39:02 +1000
  • 13b43cfad1 Update copyright and authors. Con Kolivas 2011-07-03 00:28:51 +1000
  • 9f726400d4 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 2011-07-02 21:42:14 +1000
  • 594b38b8cb Fix redefinition of gnu source. Con Kolivas 2011-07-02 13:46:17 +1000
  • 513b445d6a autogen.sh fix Michael Kedzierski 2011-07-02 13:10:30 +1000
  • f6490010bc Update gitignore. Con Kolivas 2011-07-02 12:55:29 +1000
  • 3320c627f0 Added previously missing gnulib files. Con Kolivas 2011-07-04 19:49:03 +1000
  • 8313606b5f Fixed configure.ac to properly detect OpenCL on windows/mingw. Ycros 2011-06-25 15:46:15 +1000
  • ec8319176e Build on windows using mingw32. Ycros 2011-06-25 04:43:37 +1000
  • 9fe2106467 Fixed up using config.h instead of cpuminer-config.h. Ycros 2011-06-25 08:18:29 +1000
  • b645cc9f00 Updated README for building on win32. Ycros 2011-06-25 04:56:24 +1000
  • edd0591e19 Make the number of queued work items configurable and default to 2. Con Kolivas 2011-07-02 13:29:31 +1000
  • 131f60a5ee Move queueing of one request to separate function in preparation for variable length queues. Con Kolivas 2011-07-02 13:06:51 +1000
  • 5d301c8ba0 Make a binary load failure build from source. Ycros 2011-07-02 10:22:09 +1000
  • ffdffe77d3 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 2011-07-02 12:12:35 +1000
  • 86e40ed9c8 Stale block control makes it possible to make 2 threads per gpu the default again. Con Kolivas 2011-07-02 09:44:29 +1000
  • 48caf248a7 Check for stale block after failed submission as well. Con Kolivas 2011-07-02 09:39:43 +1000
  • 09104ce3e8 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 2011-07-02 00:13:13 +1000
  • bed692152f 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 2011-07-01 23:45:15 +1000
  • e2fb3e84cb Queueing all kernel parameters dramatically reduces stale block rates. Con Kolivas 2011-07-01 20:34:22 +1000
  • 7ae9afc40f Profile points and warning clean ups. ckolivas 2011-07-01 14:16:41 +1000
  • b54a342529 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 2011-07-01 13:58:43 +1000
  • 3983f1b9c3 Breaks nvidia building. Roll back for now. ckolivas 2011-07-01 13:21:18 +1000
  • 2a8475b5bd configure.ac, Makefile.am: Allow setting of OpenCL location Tom Rini 2011-06-29 19:45:53 -0700
  • 3aa5be4fcf 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 2011-07-01 01:14:43 +1000
  • 88d9d631e3 Use two separate curl instances for submit and get and use separate threads for each to prevent one blocking the other. Con Kolivas 2011-06-30 23:36:57 +1000
  • 72baac0889 Clearly delineate the cpus from the gpus for their local data. Con Kolivas 2011-06-30 21:55:39 +1000
  • 142576a961 We already have gpu/cpu from id, so use that. Likely the current convoluted code is wrong and leading to segfaults! Con Kolivas 2011-06-30 20:50:52 +1000
  • 18f8b0f9a5 Submit work async is still unreliable and only used for cpu mining, so back it out for now. Con Kolivas 2011-06-30 16:30:05 +1000
  • 60f0bb19de Temporarily back out binary building till it's working more reliably. Con Kolivas 2011-06-30 15:47:17 +1000
  • d5d4d1da16 Don't want to free the work data out of the transient structs. Con Kolivas 2011-06-30 14:41:01 +1000
  • a095f0fae2 Broke source generated program. Fix. Con Kolivas 2011-06-30 14:30:10 +1000
  • d100281df3 Make sure correct thread id is in work struct and correct cpu is set for per-cpu data. Con Kolivas 2011-06-30 14:21:34 +1000
  • 998d8d45f4 Postcalc hash is already its own thread so work can be submitted synchronously from that. Con Kolivas 2011-06-30 11:30:37 +1000
  • 4d73057772 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 2011-06-30 10:36:19 +1000
  • 973b2199e1 Tidy. Con Kolivas 2011-06-30 08:58:07 +1000
  • 2b6e841673 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. Con Kolivas 2011-06-29 23:38:16 +1000
  • 6af84770d0 Add spaces to make output clearer. ckolivas 2011-06-29 11:30:06 +1000
  • e1dd27c5c2 Ensure that we don't overflow due to 32 bit limitations. ckolivas 2011-06-29 11:19:43 +1000
  • b38a02bd24 Make the log time hash rate a rolling exponential average so it doesn't fluctuate so dramatically. ckolivas 2011-06-29 11:14:16 +1000
  • 08a7821072 Make the log show what the thread is: cpu or gpu and what number. ckolivas 2011-06-29 10:12:00 +1000
  • 1dfbe60353 Put sanity limit on work size since some nvidia fail :( ckolivas 2011-06-29 09:24:38 +1000
  • f490143a9a Add local thread count to info, store hw error count, and make share submission debug only. ckolivas 2011-06-29 09:22:21 +1000
  • e016d0c8f3 Increase maximum intensity configurable to 14. Con Kolivas 2011-06-28 23:41:57 +1000
  • dfc52fd543 Make sure we can have gpu and cpu threads running. Con Kolivas 2011-06-28 21:46:09 +1000
  • 24a28e29e9 Make it possible to run as a pure cpu miner by setting gpu threads to 0. Con Kolivas 2011-06-28 21:28:50 +1000
  • e1d01d0635 Minor fixes. ckolivas 2011-06-28 11:18:26 +1000
  • 6c6bb02b90 There is no point having vectors in the it variable. Con Kolivas 2011-06-28 21:16:37 +1000
  • 6374e0fafe 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 2011-06-28 21:11:04 +1000
  • 2dbb39444d 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 2011-06-27 22:05:03 +1000
  • c566605195 Tab dainbramage. Con Kolivas 2011-06-27 16:41:39 +1000
  • 11c8818558 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 2011-06-27 16:08:46 +1000
  • 623b9b9fd8 Patch bitalign separately from bfi_int. Recover from failing to patch for bfi int. Con Kolivas 2011-06-27 12:45:03 +1000
  • 948b514cf2 The buffer needs to be flushed before enqueueing the kernel again. Further optimise the mining loop by removing the need_work bool. Con Kolivas 2011-06-27 12:02:47 +1000
  • a45c54aaf8 Make postcalc_hash asynchronous as well. Con Kolivas 2011-06-27 11:31:05 +1000
  • 378d18f8eb Submit all work asynchronously via a submit_work thread. Con Kolivas 2011-06-27 10:15:03 +1000
  • 612c3a456f Curl doesn't like multiple instances so go back to one instance. Con Kolivas 2011-06-27 09:32:12 +1000
  • f0dcd127b4 Show which cpu mining thread when giving affinity message. Con Kolivas 2011-06-27 09:17:13 +1000
  • 58f6bf42e2 Prevent 32bit overflow of local_mhashes as well. Con Kolivas 2011-06-26 16:21:58 +1000
  • 00de822534 Upper limit should be -hashes. Con Kolivas 2011-06-26 15:28:33 +1000
  • c29a4322dd Only update the hashmeter once per second from gpu mining threads. Con Kolivas 2011-06-26 13:45:38 +1000
  • 063adc6434 Implement runtime selectable numbers of GPU threads and rename CPU threads option. Con Kolivas 2011-06-26 12:59:15 +1000
  • b6ae1db838 The submit_lock is not required nor helpful. Con Kolivas 2011-06-26 10:53:16 +1000
  • d1c0cccdf1 Show correct GPU from thread number. Con Kolivas 2011-06-26 09:09:07 +1000
  • f11149928a Implement a potentially variable number of threads per gpu, setting it to 2 for now. Con Kolivas 2011-06-26 09:07:52 +1000
  • 08f56f5f2f Set default CPU threads to 0 if GPU mining. Con Kolivas 2011-06-26 08:55:53 +1000
  • 06f3950658 Fix typo which prevented BFI INT patch working on multi-GPUs. Con Kolivas 2011-06-26 08:49:50 +1000
  • 30e38e2ef8 Typo i - gpu Con Kolivas 2011-06-26 00:59:07 +1000
  • fdb46f2d9b 32bit fixes. Con Kolivas 2011-06-26 00:06:19 +1000
  • 295ef0f9b8 Discard accumulated work when longpoll indicates a new block. Con Kolivas 2011-06-25 21:47:16 +1000
  • f44e8fac12 Curl appears to be not thread safe so only have one curl open at a time. Con Kolivas 2011-06-25 20:56:17 +1000
  • 343ae85137 Intensity 5 is too high for a normal desktop causing unacceptable lag so change the default to 4. Con Kolivas 2011-06-25 20:38:40 +1000
  • 88e2cf7b34 Initialise libcurl properly. Con Kolivas 2011-06-25 20:22:23 +1000
  • 656b485d80 Make the worksize and vector width configurable. Con Kolivas 2011-06-25 18:58:59 +1000
  • ead1281b57 Cleanup of return codes. Con Kolivas 2011-06-25 18:27:56 +1000
  • 401586f92a Only try to patch GPU referenced. Con Kolivas 2011-06-25 18:06:38 +1000
  • f6486efb71 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 2011-06-25 13:40:42 +1000
  • 0cef8f8da4 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. Con Kolivas 2011-06-25 12:50:15 +1000
  • ac4ab6afdc Fix mutli-gpu initialisation when BFI_INT patching. Con Kolivas 2011-06-25 12:32:30 +1000
  • d2cb012f5a Detach the thread once created so we don't have to explicitly try and join it. Con Kolivas 2011-06-25 10:07:29 +1000
  • b7a177532d Make a separate thread for work submission that returns immediately so that miner threads aren't kept waiting when submitting results to slow pools. Con Kolivas 2011-06-25 09:56:37 +1000
  • 64f268c8c7 Display correct worksize. ckolivas 2011-06-24 17:00:54 +1000
  • e8f4eeade1 Use total mhashes as a counter to prevent 32 bit overflows. ckolivas 2011-06-24 16:24:53 +1000
  • 32ca93de4f Version 1.0.2. Jeff Garzik 2011-06-14 02:40:24 -0400
  • 808d5b07f9 Make output debug. Con Kolivas 2011-06-24 11:17:58 +1000
  • f792608893 Limit intensity to 10. Anything larger overflows. Simplify test for new work. ckolivas 2011-06-24 10:55:05 +1000
  • feb8cfc8fa applog fixes. ckolivas 2011-06-24 09:51:54 +1000
  • b19ee2f5f5 Make sure a GPU doesn't work on a block longer than opt_scantime. ckolivas 2011-06-24 09:39:33 +1000
  • 26546ad5b9 Make the optimisations per-gpu card and update code to work properly with multiple cards. ckolivas 2011-06-24 09:17:09 +1000
  • 8253f1414b Use some line breaks in the kernel. Con Kolivas 2011-06-23 23:38:04 +1000
  • 4257deafdb Convert abcd... to an array. Con Kolivas 2011-06-23 23:14:47 +1000
  • 75cf5ccda6 Replace Ws with an array. Con Kolivas 2011-06-23 23:04:34 +1000
  • 852e78e7b4 Fix mutex unlocking with only one thread and opt_log_interval. Con Kolivas 2011-06-23 22:09:49 +1000