Con Kolivas
26ab7346e3
Implement a new pool strategy, BALANCE, which monitors work performed per pool as a rolling average every 10 minutes to try and distribute work evenly over all the pools.
...
Do this by monitoring diff1 solutions to allow different difficulty target pools to be treated equally, along with solo mining.
Update the documentation to describe this strategy and more accurately describe the load-balance one.
12 years ago
Con Kolivas
d8c76bbd08
Getwork fail was not being detected. Remove a vast amount of unused variables and functions used in the old queue request mechanism and redefine the getfail testing.
12 years ago
Con Kolivas
c3e32274ee
Cull all the early queue requests since we request every time work is popped now.
12 years ago
Con Kolivas
5fadfdb219
Overlap queued decrementing with staged incrementing.
12 years ago
Con Kolivas
611f1cec7c
Roll work whenever we can on getwork.
12 years ago
Con Kolivas
fd0be1bb51
Queue requests for getwork regardless and test whether we should send for a getwork from the getwork thread itself.
12 years ago
Con Kolivas
2480cf23cc
Don't try to get bitforce temperature if we're polling for a result to minimise the chance of interleaved responses.
12 years ago
Con Kolivas
8745ba1e6d
Windows' timer resolution is limited to 15ms accuracy. This was breaking dynamic intensity since it tries to measure below this.
...
Since we are repeatedly sampling similar timeframes, we can average the gpu_us result over 5 different values to get very fine precision.
12 years ago
Kano
95dff7363e
API allow display/change failover-only setting
12 years ago
Con Kolivas
8aa61f6626
Make sure we have work from the current pool somewhere in the queue in case the queue is full of requests from a pool that has just died.
12 years ago
Con Kolivas
8085ae6854
Further simplify the queue request mechanism.
12 years ago
Con Kolivas
3576abf8a7
Make pool_disabled the first in the enums == 0, fixing the pool enabled count which compares if value is not enabled before enabling it.
13 years ago
Con Kolivas
fc44b6d7a1
Use different variables for command line specified lookup gap and thread concurrency to differentiate user defined versus auto chosen values.
13 years ago
Con Kolivas
bf9c324752
The queueing mechanism has become a complex state machine that is no longer predictable. Rewrite it from scratch watching only current queues in flight and staged work available on a pool by pool basis.
13 years ago
Con Kolivas
7fa794a499
It is not critical getting the temperature response in bitforce so don't mandatorily wait on the mutex lock.
13 years ago
Kano
e067be421a
ICA support 57600 baud rate, up to 8 FPGA and partial working FPGA boards
13 years ago
Con Kolivas
c91148f193
Remove the low hash count determinant of hardware being sick. A low hash rate can be for poor network connectivity or scrypt mining, neither of which are due to sick hardware.
13 years ago
Con Kolivas
e87ff7c177
Keep a counter of enabled pools and use that instead of iterating over the pool list. Use that value to ensure we don't set the last remaining active pool to the rejecting state.
13 years ago
Con Kolivas
9a6c082ad1
Make the thread concurrency and lookup gap options hidden on the command line and autotune parameters with a newly parsed --shaders option.
13 years ago
Luke Dashjr
da4ff2bde1
Bugfix: Use a mutex to control non-curses output
...
Without this, there is no guarantee writes won't overlap (and it happens quite a bit on Windows with the bitforce driver)
13 years ago
Luke Dashjr
d98e561a0a
Simplify code to a single vprintf path for curses-less printing
13 years ago
Luke Dashjr
80593c47fc
Move opt_quiet check to my_log_curses, so it works for curses-less builds
13 years ago
Con Kolivas
89eb1fa393
Check the maximum allocable memory size per opencl device.
13 years ago
Con Kolivas
17dfe74f96
Allow intensities up to 20 if scrypt is compiled in.
13 years ago
Con Kolivas
39f7d2fa74
Allow lookup gap and thread concurrency to be passed per device and store details in kernel binary filename.
13 years ago
Con Kolivas
6ac14f4280
Don't enqueuewrite buffer at all for pad8 and pass work details around for scrypt in dev_blk.
13 years ago
Con Kolivas
0f43eb5eb7
Don't test nonce with sha and various fixes for scrypt.
13 years ago
Con Kolivas
b085c338f6
Make scrypt buffers and midstate compatible with cgminer.
13 years ago
Con Kolivas
dd740caa98
Provide initial support for the scrypt kernel to compile with and mine scrypt with the --scrypt option.
13 years ago
Con Kolivas
5a65415b1e
Enable completely compiling scrypt out.
13 years ago
Con Kolivas
176cdf8bbc
Begin import of scrypt opencl kernel from reaper.
13 years ago
Paul Sheppard
d4d5b28e5f
Abbrv. correction
13 years ago
Luke Dashjr
c57c308d1f
Bugfix: Don't declare devices SICK if they're just busy initializing
...
This mainly applies to ModMiner since it takes 4-5 minutes to upload the bitstream
13 years ago
Paul Sheppard
5f0a22d230
Remove superfluous ave_wait
13 years ago
Paul Sheppard
2c54522d7d
Add average wait time to api stats
13 years ago
Paul Sheppard
01a69ee45e
Revert "Merge branch 'ave_time' of https://github.com/pshep/cgminer.git "
...
This reverts commit 242e52cdf9
, reversing
changes made to 4dc1bf2319
.
13 years ago
ckolivas
5c7e03084a
Modify te scanhash API to use an int64_t and return -1 on error, allowing zero to be a valid return value.
13 years ago
Paul Sheppard
3cc0aa76ad
Add average return time to api stats
13 years ago
Paul Sheppard
953ecd9e6a
Change timeouts to time-vals for accuracy.
13 years ago
Con Kolivas
fd55fab96a
Make bitforce nonce range support a command line option --bfl-range since enabling it decrease hashrate by 1%.
13 years ago
Luke Dashjr
d4af2d0535
Turn work_restart array into a bool in thr_info
13 years ago
Con Kolivas
3271be145f
Provide a ms based sleep function that uses nanosleep to avoid the inaccuracy of usleep on SMP systems.
13 years ago
Con Kolivas
75eca07823
Restart_wait is only called with a ms value so incorporate that into the function.
13 years ago
Con Kolivas
e5aba76042
Fix off-by-one error in nonce increment in bfl.
13 years ago
Con Kolivas
6314a12b31
Initially enable support for nonce range support on bfl, splitting nonces up into 3/4 size and only disable it if it fails on work submit.
13 years ago
Con Kolivas
96fba30b6b
Attempt to detect nonce range support in BFL by sending work requring its support.
13 years ago
Kano
ff0afb94ec
Add API Notify counter 'Comms Error'
13 years ago
Con Kolivas
336dbd5c98
Remove needless roundl define.
13 years ago
ckolivas
fd7b21ed56
Use a pthread conditional that is broadcast whenever work restarts are required. Create a generic wait function waiting a specified time on that conditional that returns if the condition is met or a specified time passed to it has elapsed. Use this to do smarter polling in bitforce to abort work, queue more work, and check for results to minimise time spent working needlessly.
13 years ago
ckolivas
1e9421475c
Timersub is supported on all build platforms so do away with custom timerval_subtract function.
13 years ago