1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-10 06:48:05 +00:00
Commit Graph

86 Commits

Author SHA1 Message Date
Con Kolivas
50504ef9e0 If a work item has had any mining done on it, don't consider it discarded work. 2011-08-14 13:57:58 +10:00
Con Kolivas
639d38fbd4 Revert "Make sure to give work items a starting time only once when they're staged."
This reverts commit 626ae10d7c.

Failed to address all work items.
2011-08-14 07:54:45 +10:00
Con Kolivas
626ae10d7c Make sure to give work items a starting time only once when they're staged. 2011-08-14 02:33:55 +10:00
Con Kolivas
d6dd5d700b 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. 2011-08-14 01:54:47 +10:00
Con Kolivas
177e07aed3 Display last initialised time in gpu management info. 2011-08-13 20:55:30 +10:00
Con Kolivas
28880d0dc7 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.
2011-08-13 20:54:20 +10:00
Con Kolivas
947a74bfa3 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.
2011-07-30 01:23:17 +10:00
Con Kolivas
3803760689 Reimplement the per-thread getwork count with proper accounting at get_work(). 2011-07-29 11:11:42 +10:00
Con Kolivas
0fe22d8d94 Revert "Only update the thread getwork queue count if it actually results in a getwork request from the server."
This reverts commit 2e607d44f2.

The count looks far too difficult to add up with this change since many are queued generically.
2011-07-29 11:02:47 +10:00
Con Kolivas
2e607d44f2 Only update the thread getwork queue count if it actually results in a getwork request from the server. 2011-07-29 10:39:58 +10:00
Con Kolivas
0006eb2da4 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. 2011-07-28 10:36:48 +10:00
Con Kolivas
e82e390295 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. 2011-07-27 16:40:52 +10:00
Con Kolivas
98f609b5be Sanity check to prove locking. 2011-07-27 10:31:44 +10:00
Con Kolivas
1536e085da 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).
2011-07-26 20:48:05 +10:00
Con Kolivas
fa17f03432 Implement much more accurate rolling statistics per thread and per gpu and improve accuracy of rolling displayed values. 2011-07-26 11:58:45 +10:00
Con Kolivas
7707ed4db1 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.
2011-07-26 10:26:03 +10:00
Con Kolivas
020cf7d63f Build support in for all SSE if possible and only set the default according to machine capabilities. 2011-07-23 16:19:51 +10:00
Ycros
a150140eb7 Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer 2011-07-23 16:00:49 +10:00
Con Kolivas
a9e1a25518 Make it possible to select the choice of kernel on the command line. 2011-07-23 15:15:46 +10:00
Con Kolivas
116a9dc025 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.
2011-07-23 14:17:25 +10:00
Ycros
d37c3fe56b Win32 threading and longpoll keepalive fixes. 2011-07-22 23:43:26 +10:00
Con Kolivas
ec86da70e1 Limit rolltime work generation to 10 iterations only. 2011-07-22 20:06:06 +10:00
Con Kolivas
b0a8f279f7 Implement the ability to live add, enable, disable, and switch to pools. 2011-07-22 11:46:26 +10:00
Con Kolivas
7841486f83 Add a bool for explicit enabling/disabling of pools. 2011-07-21 14:41:12 +10:00
Con Kolivas
6305146bea Implement proper flagging of idle pools, test them with the watchdog thread, and failover correctly. 2011-07-20 13:07:41 +10:00
Con Kolivas
d518f7cbfd Track pool number. 2011-07-20 11:27:21 +10:00
Con Kolivas
ced0e5ad81 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.
2011-07-20 09:31:45 +10:00
Con Kolivas
81ff7fb3dc Explicitly probe each pool to see if work can be retrieved from it and what it supports. 2011-07-19 13:01:08 +10:00
Con Kolivas
913e120262 Test for rolltime and save it correctly when testing for longpoll. 2011-07-19 12:29:33 +10:00
Con Kolivas
0ce3df10d2 Store whether each server supports X-Roll-Ntime or not. 2011-07-19 11:45:58 +10:00
Con Kolivas
b8ba2fd44e Implement a per-pool mutex and use that for locking the internal flags. 2011-07-19 09:54:50 +10:00
Con Kolivas
961c43067b Abstract out the pool data to begin move to multiple pool support. 2011-07-19 00:09:45 +10:00
Con Kolivas
0aa9887300 Add an sse4 algorithm to CPU mining. 2011-07-18 11:27:58 +10:00
Con Kolivas
0c253734e1 Provide a control lock around global bools to avoid racing on them. 2011-07-18 10:12:38 +10:00
Con Kolivas
b6ac9f185e Revert "Make sure not to try and submit work for nonces higher than already submitted in current work item."
This reverts commit a2dd410e36.

Incorrect fix. Missed real shares that are accepted.
2011-07-17 20:06:43 +10:00
Con Kolivas
a2dd410e36 Make sure not to try and submit work for nonces higher than already submitted in current work item.
This reduces rejects substantially.
2011-07-17 19:33:53 +10:00
Con Kolivas
c36cc61f64 Ensure we connect at least once successfully before continuing to try to connect. 2011-07-14 22:16:06 +10:00
Con Kolivas
3a968490b2 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. 2011-07-13 12:05:04 +10:00
Con Kolivas
43ef5f5d3f Get rid of the flaky time_lock and use the thread safe localtime_r instead. 2011-07-11 22:45:19 +10:00
Con Kolivas
90839cdf5a Implement a completely curses based display and don't output to stderr when log is enabled unless it's redirected away from the terminal. 2011-07-11 13:41:31 +10:00
Con Kolivas
6464dbfc65 Implement per-device request count to have a per-device efficiency and request status. 2011-07-10 00:53:48 +10:00
Ycros
a5fb85ef84 Fixed WIN32 compilation with byteswap. 2011-07-09 13:28:20 +10:00
Con Kolivas
c9bbaec3b2 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.
2011-07-09 10:18:29 +10:00
Rusty Russell
e2d912eb4a vapplog: new helper function for reporting errors. 2011-07-06 16:44:36 +09:30
Con Kolivas
837e7b1a85 Remove unused cgpu rolling_local variable. 2011-07-06 13:28:29 +10:00
Con Kolivas
0a80d4b04d Display the output as a refreshing line and only push continuous log to stderr if desired. 2011-07-05 22:04:54 +10:00
Con Kolivas
cb13e2cfe5 Make it possible to build without opencl for cpu mining only. 2011-07-05 19:49:29 +10:00
Con Kolivas
9950aa3927 Fix 32 bit builds. 2011-07-04 19:56:27 +10:00
Con Kolivas
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.
2011-07-04 19:56:27 +10:00
Ycros
ec8319176e Build on windows using mingw32. 2011-07-04 19:56:27 +10:00