miner.h


Log

Author Commit Date CI Message
Con Kolivas 063efb19 2011-09-02T10:37:00 Rename localgen occasions to getwork fail occasions since localgen is unrelated now.
Con Kolivas 84965341 2011-09-01T13:19:51 Add start and stop time scheduling for regular time of day running or once off start/stop options.
Con Kolivas a593afdb 2011-08-31T13:23:36 Use the curses_lock to protect the curses_active variable and test it under lock.
Con Kolivas 4969162c 2011-08-29T10:12:34 Check for SSE2 before trying to build 32 bit SSE2 assembly version. Prevents build failure when yasm is installed but -msse2 is not specified.
Con Kolivas 3d5f5554 2011-08-25T14:42:03 Allow a custom kernel path to be entered on the command line.
Con Kolivas 7dc3db23 2011-08-25T11:19:40 Implement SSE2 32 bit assembly algorithm as well.
Con Kolivas dbf0a136 2011-08-24T21:50:04 Use the new hashes directly for counts instead of the fragile counters currently in use.
Con Kolivas 666fcc3f 2011-08-24T08:06:15 Move staged threads to hashes so we can sort them by time.
Con Kolivas ced4a9ac 2011-08-23T11:40:48 Clean up the pool switching to not be dependent on whether the work can roll or not by setting a lagging flag and then the idle flag.
Con Kolivas 324d849b 2011-08-20T23:03:49 Attempt to restart a GPU once every minute while it's sick. Don't kill off the reinit thread if it fails to init a GPU but returns safely. Only declare a GPU dead if there's been no sign of activity from the reinit thread for 10 mins.
Znort 987 e49bfbf2 2011-08-18T12:17:10 Add per-device statics log output
Phateus d15d225a 2011-08-16T23:19:46 Changed phatk version to 2.2
Con Kolivas 1e77f044 2011-08-17T12:43:39 Clean up the longpoll management to ensure the right paths go to the right pool and display whether we're connected to LP or not in the status line.
Con Kolivas 4e48561a 2011-08-15T22:21:17 Rework the last-initialised time displayed.
Con Kolivas b1289a01 2011-08-15T20:26:46 Revert "Move the non cl_ variables into the cgpu info struct to allow creating a new cl state on reinit, preserving known GPU variables." This reverts commit 28880d0dc7c601ee4479921502b66e913e38e36d.
Con Kolivas 7c50bb02 2011-08-15T20:26:27 Revert "Display last initialised time in gpu management info." This reverts commit 177e07aed32e6b38f615f52d3243620625ff93e0.
Con Kolivas 50504ef9 2011-08-14T13:57:58 If a work item has had any mining done on it, don't consider it discarded work.
Con Kolivas 639d38fb 2011-08-14T07:54:45 Revert "Make sure to give work items a starting time only once when they're staged." This reverts commit 626ae10d7c90c8a21897343758e5dd0b00016950. Failed to address all work items.
Con Kolivas 626ae10d 2011-08-14T02:33:55 Make sure to give work items a starting time only once when they're staged.
Con Kolivas d6dd5d70 2011-08-14T01:54:47 Test each work item to see if it can be rolled instead of per-pool and roll whenever possible, adhering to the 60 second timeout.
Con Kolivas 177e07ae 2011-08-12T14:25:44 Display last initialised time in gpu management info.
Con Kolivas 28880d0d 2011-08-13T20:54:20 Move the non cl_ variables into the cgpu info struct to allow creating a new cl state on reinit, preserving known GPU variables. Create a new context from scratch in initCQ in case something was corrupted to maximise our chance of succesfully creating a new worker thread.
Con Kolivas 947a74bf 2011-07-30T01:23:17 Differentiate thread failure from GPU failure by declaring a GPU sick first and trying to restart the thread without re-initialising the card. If that fails, then try once more at ten minutes and declare it dead. This should prevent an attempted re-initialising of the GPU from taking out other GPUs.
Con Kolivas 38037606 2011-07-29T11:11:42 Reimplement the per-thread getwork count with proper accounting at get_work().
Con Kolivas 0fe22d8d 2011-07-29T11:02:47 Revert "Only update the thread getwork queue count if it actually results in a getwork request from the server." This reverts commit 2e607d44f2baa8e8f1156e7bd074128e1e0e8eeb. The count looks far too difficult to add up with this change since many are queued generically.
Con Kolivas 2e607d44 2011-07-29T10:39:58 Only update the thread getwork queue count if it actually results in a getwork request from the server.
Con Kolivas 0006eb2d 2011-07-28T10:36:48 Make the "quiet" mode still update the status and display errors, and add a new --real-quiet option which disables all output and can be set once while running.
Con Kolivas e82e3902 2011-07-27T16:40:52 If work has been cloned it is already at the head of the list and when being reinserted into the queue it should be placed back at the head of the list.
Con Kolivas 98f609b5 2011-07-27T10:31:44 Sanity check to prove locking.
Con Kolivas 1536e085 2011-07-26T20:48:05 Increase efficiency of slow mining threads such as CPU miners dramatically. Do this by detecting which threads cannot complete searching a work item within the scantime and then divide up a work item into multiple smaller work items. Detect the age of the work items and if they've been cloned before to prevent doing the same work over. If the work is too old to be divided, then see if it can be time rolled and do that to generate work. This dramatically decreases the number of queued work items from a pool leading to higher overall efficiency (but the same hashrate and share submission rate).
Con Kolivas fa17f034 2011-07-26T11:58:45 Implement much more accurate rolling statistics per thread and per gpu and improve accuracy of rolling displayed values.
Con Kolivas 7707ed4d 2011-07-26T10:26:03 Add a menu to manage GPUs on the fly allowing you to enable/disable GPUs or try restarting them. Keep track of which GPUs are alive versus enabled. Start threads for devices that are even disabled, but don't allow them to start working.
Con Kolivas 020cf7d6 2011-07-23T16:19:51 Build support in for all SSE if possible and only set the default according to machine capabilities.
Ycros a150140e 2011-07-23T16:00:49 Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer
Con Kolivas a9e1a255 2011-07-23T15:15:46 Make it possible to select the choice of kernel on the command line.
Con Kolivas 116a9dc0 2011-07-23T14:17:25 Update phatk kernel to one with new parameters for slightly less overhead again. Make the queue kernel parameters call a function pointer to select phatk or poclbm.
Ycros d37c3fe5 2011-07-22T23:43:26 Win32 threading and longpoll keepalive fixes.
Con Kolivas ec86da70 2011-07-22T20:06:06 Limit rolltime work generation to 10 iterations only.
Con Kolivas b0a8f279 2011-07-22T11:46:26 Implement the ability to live add, enable, disable, and switch to pools.
Con Kolivas 7841486f 2011-07-21T14:41:12 Add a bool for explicit enabling/disabling of pools.
Con Kolivas 6305146b 2011-07-20T13:07:41 Implement proper flagging of idle pools, test them with the watchdog thread, and failover correctly.
Con Kolivas d518f7cb 2011-07-20T10:24:25 Track pool number.
Con Kolivas ced0e5ad 2011-07-20T09:31:45 Reinstate the mining thread watchdog restart. Add a getpoll bool into the thread information and don't restart threads stuck waiting on work. Rename the idlenet bool for the pool for later use.
Con Kolivas 81ff7fb3 2011-07-19T13:01:08 Explicitly probe each pool to see if work can be retrieved from it and what it supports.
Con Kolivas 913e1202 2011-07-19T12:29:33 Test for rolltime and save it correctly when testing for longpoll.
Con Kolivas 0ce3df10 2011-07-19T11:45:58 Store whether each server supports X-Roll-Ntime or not.
Con Kolivas b8ba2fd4 2011-07-19T09:54:50 Implement a per-pool mutex and use that for locking the internal flags.
Con Kolivas 961c4306 2011-07-19T00:09:45 Abstract out the pool data to begin move to multiple pool support.
Con Kolivas 0aa98873 2011-07-18T11:27:58 Add an sse4 algorithm to CPU mining.
Con Kolivas 0c253734 2011-07-18T10:12:38 Provide a control lock around global bools to avoid racing on them.
Con Kolivas b6ac9f18 2011-07-17T20:06:43 Revert "Make sure not to try and submit work for nonces higher than already submitted in current work item." This reverts commit a2dd410e362116a12ac5609da77abb3a5ee1b736. Incorrect fix. Missed real shares that are accepted.
Con Kolivas a2dd410e 2011-07-17T19:33:53 Make sure not to try and submit work for nonces higher than already submitted in current work item. This reduces rejects substantially.
Con Kolivas c36cc61f 2011-07-14T22:16:06 Ensure we connect at least once successfully before continuing to try to connect.
Con Kolivas 3a968490 2011-07-13T12:05:04 Turn the wakeup thread into a watchdog thread that checks when the last time a thread reported in was and restarts the thread if it has been idle for more than a minute.
Con Kolivas 43ef5f5d 2011-07-11T22:45:19 Get rid of the flaky time_lock and use the thread safe localtime_r instead.
Con Kolivas 90839cdf 2011-07-11T13:41:31 Implement a completely curses based display and don't output to stderr when log is enabled unless it's redirected away from the terminal.
Con Kolivas 6464dbfc 2011-07-10T00:53:48 Implement per-device request count to have a per-device efficiency and request status.
Ycros a5fb85ef 2011-07-09T12:39:08 Fixed WIN32 compilation with byteswap.
Con Kolivas c9bbaec3 2011-07-09T10:18:29 Cope with delays in retrieving work from the server by knowing when we have run out of staged work. Once we are out of staged work, roll the ntime forwards in the work to generate work locally without a getwork. Display a message explaining when we move to/from local generation to server retrieval. Make sure we don't think we've run out of work transiently after a longpoll by flagging a buffer of fake staged work.
Rusty Russell e2d912eb 2011-07-06T16:44:36 vapplog: new helper function for reporting errors.
Con Kolivas 837e7b1a 2011-07-06T13:28:29 Remove unused cgpu rolling_local variable.
Con Kolivas 0a80d4b0 2011-07-05T22:04:54 Display the output as a refreshing line and only push continuous log to stderr if desired.
Con Kolivas cb13e2cf 2011-07-05T19:47:03 Make it possible to build without opencl for cpu mining only.
Ycros ec831917 2011-06-25T04:43:37 Build on windows using mingw32.
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 9950aa39 2011-07-04T00:05:12 Fix 32 bit builds.
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 a45c54aa 2011-06-27T11:31:05 Make postcalc_hash asynchronous as well.
ckolivas f490143a 2011-06-29T09:22:21 Add local thread count to info, store hw error count, and make share submission debug only.
ckolivas 08a78210 2011-06-29T10:12:00 Make the log show what the thread is: cpu or gpu and what number.
Con Kolivas dde70397 2011-06-14T10:32:54 Merge gpumining from oclmine. Unstable.
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.
Glenn Francis Murray 180b99f2 2011-05-11T04:41:11 OSX Support Derived from xorg source http://cgit.freedesktop.org/xorg/xserver/tree/GL/glx/glxbyteorder.h?id=cdf6b15f039c4905d8d54152153b0a3ecd7aba55;id2=415e49b940bba2d08870db410ebb47d2add5d836
Jeff Garzik 2fd9d544 2011-03-21T04:02:13 Convert remaining [f]print to applog(). Also, remove a few superfluous printouts.
Jeff Garzik 23e9cf91 2011-03-20T22:44:25 Ensure cpuminer-config.h is universally included, in *.c and *.h alike. In miner.h, this fixes an alloca-definition-related warning. For the other files, this is simply future-proofing/precaution.
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 33e5b549 2011-03-17T23:19:43 miner.h: pad out work_restart to max likely cache line size
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.
Jeff Garzik 6b19b15a 2011-03-07T00:23:12 Fix warnings in sse2_64 implementation.
Mark Crichton 96d2287c 2011-03-05T22:22:57 X86_64 SSE2 support for Linux
Jeff Garzik 1083e15c 2011-02-17T01:22:55 Mark hash success as unlikely, using __builtin_expect() intrinsic
Jeff Garzik 9f3472ad 2011-02-10T00:52:22 Use bswap_32 from byteswap.h, if __builtin_bswap() is not available
Jeff Garzik c0935a94 2011-02-10T00:41:44 Re-use CURL object, thereby caching DNS and HTTP connections where possible.
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 c68ffb30 2011-02-02T18:47:04 Display proof-of-work hash when one is discovered
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 a2967993 2011-01-29T00:41:27 Replace ___constant_swab32() with gcc's __builtin_bswap32 http://www.bitcoin.org/smf/index.php?topic=1925.msg34827#msg34827 Credit: lfm
Jeff Garzik 970e74c0 2010-12-26T23:37:58 Move 32-bit swap code into miner.h, for sharing.
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 f1fcd76b 2010-12-06T20:14:58 sha256_cryptopp: Add crypto++ 32-bit assembly implementation
Jeff Garzik 74bb1962 2010-11-28T20:16:22 Add Crypto++ sha256 implementation (C only, ASM elided for now)
Jeff Garzik 339ddf4d 2010-11-27T04:31:32 Move sha256_generic into its own .o build output. Const-ify midstate param.
Jeff Garzik 4da2e4fb 2010-11-27T01:59:03 miner.h: include sys/time.h for struct timeval definition
Jeff Garzik e2eeaaf7 2010-11-27T01:29:56 Add experimental (read: probably broken) VIA padlock support.
Jeff Garzik 86eb37d6 2010-11-27T00:46:59 Improve and modularize compile-time CPU detection. Ideally, we should move this to autoconf.
Jeff Garzik 35ea649d 2010-11-26T23:12:24 Improve hash performance statistics.
Jeff Garzik c6391499 2010-11-26T19:04:48 Add tcatm's 4way SSE2 sha256 implementation.