1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-12 15:58:05 +00:00
Commit Graph

286 Commits

Author SHA1 Message Date
Con Kolivas
17e5e17e88 Only consider a pool lagging if we actually need the work and we have none staged despite queue requests stacking up. 2011-08-13 20:55:53 +10:00
Con Kolivas
a466942fd8 When pinging a sick cpu, flush finish and then ping it in a separate thread in the hope it recovers, but without blocking code elsewhere. 2011-08-13 20:55:43 +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
071a0ad2f1 Preinitialise the devices only once on startup. 2011-08-13 20:50:00 +10:00
Znort 987
2e31e1687c Add missing fflush(stdout) for --ndevs 2011-08-13 20:49:15 +10:00
Znort 987
353789da0b Use tab to indent code instead of spaces 2011-08-13 20:49:02 +10:00
Znort 987
83fa2158d9 Lots more verbiage in error messages 2011-08-13 20:48:46 +10:00
Znort 987
1cbfcba2c1 Disable --monitor-stderr on WIN32 2011-08-13 20:48:30 +10:00
Con Kolivas
467c52bb4a Allocate work from one function to be able to initialise variables added later. 2011-08-13 20:48:03 +10:00
Znort 987
79c989dd48 Add new option: --monitor <cmd>
Option lets user specify a command <cmd> that will get
    forked by cgminer on startup. cgminer's stderr output
    subsequently gets piped directly to this command.

    This permits smart batch monitoring of the miner by a
    baby-sitter log parser while retaining the full benefit
    of the curses interface, e.g. when running cgminer under
    screen.

    Doing the same thing is possible using advanced bash
    redirection paraphernalia, but it is somewhat of a pain,
    especially when running screen'd.

    This option makes things more straightforward.
2011-08-13 20:47:25 +10:00
Con Kolivas
1725a1c021 Fix non-opencl build. 2011-07-30 23:19:53 +10:00
Con Kolivas
bc2976f538 Be more willing to get work from the backup pools if the work is simply being queued faster than it is being retrieved. 2011-07-30 21:56:51 +10:00
Con Kolivas
8f186e61e2 Restart threads by abstracting out the clcontext initialisation and using that instead of probing all cards. 2011-07-30 16:59:54 +10:00
Con Kolivas
411570d348 Revert "Don't use asynchronous work with flushes as it decreases reliability and two threads per GPU achieves the same throughput."
This reverts commit 7223508f7e.

Bad idea. Need to work around sync lineup.
2011-07-30 16:36:19 +10:00
Con Kolivas
decafea0ad Revert "Read buffers only after reading data back now that we're sync."
This reverts commit 5f2c3151b4.

Bad idea. Need to rework around sync lineup.
2011-07-30 16:36:02 +10:00
Con Kolivas
5f2c3151b4 Read buffers only after reading data back now that we're sync. 2011-07-30 16:33:43 +10:00
Con Kolivas
7223508f7e Don't use asynchronous work with flushes as it decreases reliability and two threads per GPU achieves the same throughput. 2011-07-30 16:11:03 +10:00
Con Kolivas
f763b0db10 Don't free up any ram from the dying thread to avoid dereferences. 2011-07-30 14:27:17 +10:00
Con Kolivas
43faa11358 Use correct name in syslog. 2011-07-30 13:37:34 +10:00
Con Kolivas
37115c0e1b RPC call debugging is a mess with \r in it so remove it. 2011-07-30 13:33:52 +10:00
Con Kolivas
59b640870c So we can pthread cancel a stuck thread, but can't pthread join it.
And we can't tq freeze the old queue or we could hang here.
And we need to re-initialise all the opencl contexts so send a test command and if it succeeds reinit the card.
2011-07-30 13:28:25 +10:00
Con Kolivas
74a07eb461 Revert "Send threads message to stop and then send cancel message but don't pthread_join them if they're stuck nor reinit the opencl code to not hang everything."
This reverts commit 62521f3e53.

Not enough to restart a GPU.
2011-07-30 13:14:59 +10:00
Con Kolivas
e100fcc672 Revert "Send ping to wake up new threads."
This reverts commit bf4c3626bc.

Prepare to rollback.
2011-07-30 13:14:47 +10:00
Con Kolivas
bf4c3626bc Send ping to wake up new threads. 2011-07-30 12:00:12 +10:00
Con Kolivas
62521f3e53 Send threads message to stop and then send cancel message but don't pthread_join them if they're stuck nor reinit the opencl code to not hang everything. 2011-07-30 10:16:03 +10:00
Con Kolivas
b2cbaa1ae4 Send a hung device a command. If it returns, try to reinitialise it. 2011-07-30 08:21:17 +10:00
Con Kolivas
a702f599d3 Disable the reinit_thread option till we know it actually works. 2011-07-30 02:31:29 +10:00
Con Kolivas
bb575a5585 Reference correct GPU and only try to restart if it reaches DEAD. 2011-07-30 02:16:29 +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
20ce1ebf2a Typo. 2011-07-29 20:40:57 +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
5b9bfedda1 Display the correct current hash as per blockexplorer, truncated to 16 characters, with just the time. 2011-07-29 00:40:47 +10:00
Con Kolivas
c94737ceab Add http:// if it's not explicitly set for URL entries. 2011-07-28 12:44:50 +10:00
Con Kolivas
f0fe82ea37 Some Intel HD graphics support the opencl commands but return errors since they don't support opencl. Don't fail with them, just provide a warning and disable GPU mining. 2011-07-28 10:49:36 +10:00
Con Kolivas
10fa821e33 Update utility and efficiency figures when displaying them. 2011-07-28 10:46:28 +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
da06a348d0 The work length in the miner thread gets smaller but doesn't get bigger if it's under 1 second.
This could end up leading to CPU under-utilisation and lower and lower hash rates.
Fix it by increasing work length if it drops under 1 second.
2011-07-28 10:03:31 +10:00
Con Kolivas
a0924933d0 Restarting a hung GPU can hang the rest of the GPUs so just declare it dead and provide the information in the status. 2011-07-28 09:59:18 +10:00
Con Kolivas
45faff2e26 Add debugging output to all tq_pop calls. 2011-07-27 22:28:41 +10:00
Con Kolivas
2e2b2ba14c Add debugging output to tq_push calls. 2011-07-27 22:20:57 +10:00
Con Kolivas
70fa8f319b Make the display options clearer. 2011-07-27 21:58:08 +10:00
Con Kolivas
c7978f11ed Dividing work is like the work is never removed at all so treat it as such. However the queued bool needs to be reset to ensure we *can* request more work even if we didn't initially. 2011-07-27 20:40:06 +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
9c12d49684 Attribute split work as local work generation. 2011-07-27 16:29:37 +10:00
Con Kolivas
720032dacd Make sure to decrease queued count if we discard the work. 2011-07-27 15:11:57 +10:00
Con Kolivas
967acd39bd Don't put an extra work item in the queue as each new device thread will do so itself. 2011-07-27 15:06:04 +10:00
Con Kolivas
82698fbffd Do away with queueing work separately at the start and let each thread grab its own work as soon as it's ready. 2011-07-27 15:01:08 +10:00