Con Kolivas
dbf0a1366d
Use the new hashes directly for counts instead of the fragile counters currently in use.
14 years ago
Con Kolivas
666fcc3f55
Move staged threads to hashes so we can sort them by time.
14 years ago
Con Kolivas
ced4a9ac92
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.
14 years ago
Con Kolivas
324d849bf2
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.
14 years ago
Znort 987
e49bfbf2ec
Add per-device statics log output
14 years ago
Phateus
d15d225a4c
Changed phatk version to 2.2
14 years ago
Con Kolivas
1e77f04481
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.
14 years ago
Con Kolivas
4e48561a13
Rework the last-initialised time displayed.
14 years ago
Con Kolivas
b1289a0159
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 28880d0dc7
.
14 years ago
Con Kolivas
7c50bb02ab
Revert "Display last initialised time in gpu management info."
...
This reverts commit 177e07aed3
.
14 years ago
Con Kolivas
50504ef9e0
If a work item has had any mining done on it, don't consider it discarded work.
14 years ago
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.
14 years ago
Con Kolivas
626ae10d7c
Make sure to give work items a starting time only once when they're staged.
14 years ago
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.
14 years ago
Con Kolivas
177e07aed3
Display last initialised time in gpu management info.
14 years ago
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.
14 years ago
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.
14 years ago
Con Kolivas
3803760689
Reimplement the per-thread getwork count with proper accounting at get_work().
14 years ago
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.
14 years ago
Con Kolivas
2e607d44f2
Only update the thread getwork queue count if it actually results in a getwork request from the server.
14 years ago
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.
14 years ago
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.
14 years ago
Con Kolivas
98f609b5be
Sanity check to prove locking.
14 years ago
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).
14 years ago
Con Kolivas
fa17f03432
Implement much more accurate rolling statistics per thread and per gpu and improve accuracy of rolling displayed values.
14 years ago
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.
14 years ago
Con Kolivas
020cf7d63f
Build support in for all SSE if possible and only set the default according to machine capabilities.
14 years ago
Con Kolivas
a9e1a25518
Make it possible to select the choice of kernel on the command line.
14 years ago
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.
14 years ago
Ycros
d37c3fe56b
Win32 threading and longpoll keepalive fixes.
14 years ago
Con Kolivas
ec86da70e1
Limit rolltime work generation to 10 iterations only.
14 years ago
Con Kolivas
b0a8f279f7
Implement the ability to live add, enable, disable, and switch to pools.
14 years ago
Con Kolivas
7841486f83
Add a bool for explicit enabling/disabling of pools.
14 years ago
Con Kolivas
6305146bea
Implement proper flagging of idle pools, test them with the watchdog thread, and failover correctly.
14 years ago
Con Kolivas
d518f7cbfd
Track pool number.
14 years ago
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.
14 years ago
Con Kolivas
81ff7fb3dc
Explicitly probe each pool to see if work can be retrieved from it and what it supports.
14 years ago
Con Kolivas
913e120262
Test for rolltime and save it correctly when testing for longpoll.
14 years ago
Con Kolivas
0ce3df10d2
Store whether each server supports X-Roll-Ntime or not.
14 years ago
Con Kolivas
b8ba2fd44e
Implement a per-pool mutex and use that for locking the internal flags.
14 years ago
Con Kolivas
961c43067b
Abstract out the pool data to begin move to multiple pool support.
14 years ago
Con Kolivas
0aa9887300
Add an sse4 algorithm to CPU mining.
14 years ago
Con Kolivas
0c253734e1
Provide a control lock around global bools to avoid racing on them.
14 years ago
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.
14 years ago
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.
14 years ago
Con Kolivas
c36cc61f64
Ensure we connect at least once successfully before continuing to try to connect.
14 years ago
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.
14 years ago
Con Kolivas
43ef5f5d3f
Get rid of the flaky time_lock and use the thread safe localtime_r instead.
14 years ago
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.
14 years ago
Con Kolivas
6464dbfc65
Implement per-device request count to have a per-device efficiency and request status.
14 years ago