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
Con Kolivas
dde7039726
Merge gpumining from oclmine. Unstable.
14 years ago
ckolivas
262b98ca95
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.
14 years ago
Glenn Francis Murray
180b99f2d9
OSX Support
...
Derived from xorg source
http://cgit.freedesktop.org/xorg/xserver/tree/GL/glx/glxbyteorder.h?id=cdf6b15f039c4905d8d54152153b0a3ecd7aba55;id2=415e49b940bba2d08870db410ebb47d2add5d836
14 years ago
Jeff Garzik
2fd9d54443
Convert remaining [f]print to applog().
...
Also, remove a few superfluous printouts.
14 years ago
Jeff Garzik
23e9cf91f0
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.
14 years ago
Jeff Garzik
24afd61775
Introduce more standardized logging (incl. optional syslog).
...
Also, improve portability of alloca.
14 years ago
Jeff Garzik
7a87bee999
Add long polling support
14 years ago
Jeff Garzik
33e5b54928
miner.h: pad out work_restart to max likely cache line size
14 years ago