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.
13 years ago
Con Kolivas
177e07aed3
Display last initialised time in gpu management info.
13 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.
13 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
Ycros
a5fb85ef84
Fixed WIN32 compilation with byteswap.
14 years ago
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.
14 years ago
Rusty Russell
e2d912eb4a
vapplog: new helper function for reporting errors.
14 years ago
Con Kolivas
837e7b1a85
Remove unused cgpu rolling_local variable.
14 years ago
Con Kolivas
0a80d4b04d
Display the output as a refreshing line and only push continuous log to stderr if desired.
14 years ago
Con Kolivas
cb13e2cfe5
Make it possible to build without opencl for cpu mining only.
14 years ago
Con Kolivas
9950aa3927
Fix 32 bit builds.
14 years ago
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.
14 years ago
Ycros
ec8319176e
Build on windows using mingw32.
14 years ago
ckolivas
08a7821072
Make the log show what the thread is: cpu or gpu and what number.
14 years ago
ckolivas
f490143a9a
Add local thread count to info, store hw error count, and make share submission debug only.
14 years ago
Con Kolivas
6374e0fafe
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.
14 years ago
Con Kolivas
a45c54aaf8
Make postcalc_hash asynchronous as well.
14 years ago