cpu-miner.c


Log

Author Commit Date CI Message
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 f490143a 2011-06-29T09:22:21 Add local thread count to info, store hw error count, and make share submission debug only.
ckolivas e1d01d06 2011-06-28T11:18:26 Minor fixes.
Con Kolivas a45c54aa 2011-06-27T11:31:05 Make postcalc_hash asynchronous as well.
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 378d18f8 2011-06-27T10:15:03 Submit all work asynchronously via a submit_work thread.
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 612c3a45 2011-06-27T09:32:12 Curl doesn't like multiple instances so go back to one instance.
Con Kolivas ead1281b 2011-06-25T18:27:56 Cleanup of return codes.
Con Kolivas f0dcd127 2011-06-27T09:17:13 Show which cpu mining thread when giving affinity message.
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.
Con Kolivas e016d0c8 2011-06-28T23:41:57 Increase maximum intensity configurable to 14.
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 58f6bf42 2011-06-26T16:21:58 Prevent 32bit overflow of local_mhashes as well.
Con Kolivas d2cb012f 2011-06-25T10:07:29 Detach the thread once created so we don't have to explicitly try and join it.
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 dfc52fd5 2011-06-28T21:46:09 Make sure we can have gpu and cpu threads running.
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 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 24a28e29 2011-06-28T21:28:50 Make it possible to run as a pure cpu miner by setting gpu threads to 0.
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 295ef0f9 2011-06-25T21:47:16 Discard accumulated work when longpoll indicates a new block.
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 e8f4eead 2011-06-24T16:24:53 Use total mhashes as a counter to prevent 32 bit overflows.
ckolivas 14ca8883 2011-06-23T14:59:17 Update help.
ckolivas c08be809 2011-06-23T14:56:27 Fix the setting of number of processors. Add scan intensity variable.
ckolivas 2ab6180d 2011-06-23T10:34:40 Reset count once all threads are started to avoid slow rate being shown initially. Update copyright notice and comments.
Con Kolivas 932ff72f 2011-06-22T23:35:23 The gpuminer thread uses very little cpu and needs to keep the gpu busy with as few delays as possible. Don't nice it.
Con Kolivas f54d2cc0 2011-06-22T23:07:30 Make poclbm use 4 vectors and decrease worksize to keep pipelines fullish. Make it possible to have 0 CPU threads and update docs. Fix counter with no cpu threads.
ckolivas 66240481 2011-06-22T15:39:27 Fix deref.
ckolivas fa2f6b19 2011-06-22T13:54:06 Unwind.
ckolivas 79fec01a 2011-06-22T12:27:57 Remove the input buffer and just pass args to the kernel as per plugin design.
Con Kolivas f117675a 2011-06-22T10:15:23 Optimise work loop to make cl calls asynchronous where possible.
Con Kolivas f05270b8 2011-06-22T01:19:19 Optimise loop and make debug debug only.
Con Kolivas 91e5cef3 2011-06-22T00:13:46 Actually get first BFI_INT patch working.
Con Kolivas 910e6943 2011-06-19T22:21:51 Increase baseline threads to 1<<22. Make total counter regularly update every 5 seconds. Only write the blank buffer when it needs to be blanked.
ckolivas 6b77d850 2011-06-17T14:00:41 Fixes.
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 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 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 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 237a5067 2011-06-23T15:28:12 Skip trying to start thread of GPUs that don't successfully initcl().
ckolivas ce3382ca 2011-06-14T16:26:34 Don't run gpu thread idle prio.
Con Kolivas dde70397 2011-06-14T10:32:54 Merge gpumining from oclmine. Unstable.
ckolivas 51817422 2011-06-14T14:09:10 Cope with older linux kernel headers that don't have the newer scheduling policies defined.
Con Kolivas 0a8ac14c 2011-06-12T14:26:26 Forgot the else.
Con Kolivas 4f8045c2 2011-06-12T11:40:15 Only increase solutions count when confirmed true.
Con Kolivas ce750e42 2011-06-12T01:35:08 Add a solution counter to the output.
Con Kolivas 7062557e 2011-06-12T01:19:04 Implement global hash rate counter through mutex lock protected data. Make the output easier to read. Don't do hashmeter updates if no output is requested. Remove redundant output when using a single thread.
Jeff Garzik 4d6be0c1 2011-06-09T03:47:07 Fix number-of-threads init logic on Windows
Jeff Garzik 8e0e2493 2011-06-08T22:30:10 only read processor count via sysconf on non-Windows platforms
ckolivas 262b98ca 2011-06-09T11:45:06 Linux + x86_64 optimisations. Add likely() macro. Optimise a few obvious code paths with likely/unlikely. Change algo to sse2_amd64 by default. Move priority change to worker threads only. Detect number of CPUs and set default number of threads == CPUs. Add scheduling policy change to worker threads to SCHED_IDLE first and fallback to SCHED_BATCH on linux. Don't error when failing to set priority. Add CPU affinity and bind worker threads to CPUs when number of threads is a multiple of number of CPUs. Update NEWS with changes.
Jeff Garzik 69529c38 2011-03-24T14:09:49 Support full URL, in X-Long-Polling header
Jeff Garzik 46819af3 2011-03-21T20:50:59 --user/--pass fixes Also, some newline fixes (applog callers do not need newlines in strings)
Jeff Garzik 81352ca4 2011-03-21T04:27:02 Support --user and --pass, as alternative to --userpass
Jeff Garzik 2fd9d544 2011-03-21T04:02:13 Convert remaining [f]print to applog(). Also, remove a few superfluous printouts.
Jeff Garzik 144cf62d 2011-03-21T03:45:26 Avoid potential for div-by-zero, when calculating max-nonce
Jeff Garzik d49d6392 2011-03-21T03:42:57 cpu-miner.c: Remove newline from applog() call
Jeff Garzik 24afd617 2011-03-18T17:24:16 Introduce more standardized logging (incl. optional syslog). Also, improve portability of alloca.
Jeff Garzik 7a87bee9 2011-03-18T02:53:13 Add long polling support
Jeff Garzik 6818c692 2011-03-17T23:22:10 Improve max nonce auto-adjustment with some basic algebra.
Jeff Garzik 2d49a9a5 2011-03-17T22:02:28 Introduce ability to interrupt hash scanners in the middle of scanning.
Jeff Garzik 0258fae4 2011-03-14T23:36:28 Fix Windows build, that broke with yasm integration
Jeff Garzik 4f7a51e9 2011-03-14T23:17:34 Move all RPC I/O to separate thread.
Mark Crichton 96d2287c 2011-03-05T22:22:57 X86_64 SSE2 support for Linux
Jeff Garzik 4a7f3f70 2011-02-17T01:58:53 Show date/time when proof-of-work is found.
Jeff Garzik fa7e80b8 2011-02-17T01:21:16 Extract get-work logic into separate function.
Jeff Garzik 6d288293 2011-02-13T03:04:02 Add support for JSON-format configuration file
Jeff Garzik c0935a94 2011-02-10T00:41:44 Re-use CURL object, thereby caching DNS and HTTP connections where possible.
Jeff Garzik e47076ca 2011-02-04T11:54:31 Fix max-nonce auto-adjustment logic to actually work
Jeff Garzik e8ee4cb0 2011-02-03T00:54:03 Add --retry-pause, to set length of pause time between failure retries
Jeff Garzik 714c0fd7 2011-02-03T00:46:55 Continue scanhash, even if high 32 bits are zero. Previously, we would stop the scan if the high 32 bits of the hash were zero, as a quick shortcut for testing the full hash. If this quick test succeeded, we would pass the work to the server for full validation. Change this logic to perform full validation inside minerd, so that work may be resumed more quickly if hash > target.
Jeff Garzik 453101d9 2011-01-29T23:55:11 Remove "PROOF OF WORK FOUND?" debug output; redundant.
Jeff Garzik f889476b 2011-01-29T01:14:12 Dynamically adjust time spent hashing current work unit, to meet target
Jeff Garzik 0b677407 2011-01-29T00:56:24 Pass max-nonce as arg to each sha256 algo. Should be an equivalent transformation, with no behavior changes.
Jeff Garzik f570ffcf 2011-01-29T00:47:48 Code movement: move second hash time sampling to main miner loop
Jeff Garzik e4117142 2011-01-29T00:28:19 Fix non-working short options -q and -r N, by listing them in optstring.
Jeff Garzik fc4ed179 2010-12-28T22:38:57 Release version 0.5.
Jeff Garzik 16006f90 2010-12-28T21:10:41 Rather than sleep-loop, main thread waits for all threads to exit.
Jeff Garzik 872211ca 2010-12-27T02:13:15 Add --quiet option, to disable hashmeter output.
Jeff Garzik d88648dd 2010-12-23T20:21:00 sha256_via: ensure that found nonce is copied back into output data buffer Also, some minor cleanups, removing unused args.
Jeff Garzik d363a1d6 2010-12-19T21:37:30 sha256_via: ensure proper data area is fully checksummed
Jeff Garzik ee592d0a 2010-12-18T22:22:06 Handle temporary JSON failures (due to server reboot, etc.)
Jeff Garzik 857ba8f6 2010-12-18T16:31:28 Release version 0.3.
Jeff Garzik ce1c9a8a 2010-12-06T20:21:22 Display version on minerd --help usage output.
Jeff Garzik f1fcd76b 2010-12-06T20:14:58 sha256_cryptopp: Add crypto++ 32-bit assembly implementation