72 Commits (bd5f20ebf57103eefb52c4e1fe0be7823623ed9a)

Author SHA1 Message Date
Kano a344deb6ac rename device_api -> device_drv and all related api -> drv and add a device_drv->drv enum for identifying which driver each is 12 years ago
Con Kolivas d4f4c932bd Trivial space removal. 12 years ago
Con Kolivas 30ed3fb648 Get rid of unused last_work in opencl thread data. 12 years ago
Con Kolivas 217be6ed98 Do away with the flaky free_work api in the driver code which would often lose the work data in opencl and simply flush it before exiting the opencl scanhash. 12 years ago
Con Kolivas ce7801beca Copy the work on opencl_free_work 12 years ago
Con Kolivas 2d35ac2567 Track all dynamically allocated memory within the work struct by copying work structs in a common place, creating freshly allocated heap ram for all arrays within the copied struct. 12 years ago
Luke Dashjr cce7508378 opencl: Use new dev_error function for REASON_DEV_NOSTART 12 years ago
Con Kolivas 101394ab70 Time for dynamic is in microseconds, not ms. 12 years ago
Con Kolivas 7450b25e75 Dramatically simplify the dynamic intensity calculation by oversampling many runs through the opencl kernel till we're likely well within the timer resolution on windows. 12 years ago
Con Kolivas 1c22c0e8d6 In opencl_free_work, make sure to still flush results in dynamic mode. 12 years ago
Con Kolivas 55396f534e Fix 4 * 0 being 0 that would break dynamic intensity mode. 12 years ago
Con Kolivas 4fbc570fa4 Reinstate the history on dynamic intensity mode to damp fluctuations in intensity but use an upper limit on how much the value can increase at any time to cope with rare overflows. 12 years ago
Con Kolivas 618999026f As we average gpu time over 5 work intervals for dynamic GPU intensity, there is no need to maintain a rolling average and it avoids the potential long term corruption of a single overflow value. 12 years ago
Con Kolivas f1c6ae22f7 Adjust opencl intensity when adjusting thread count to prevent it getting pegged at a value below the minimum threads possible. 12 years ago
Con Kolivas 86d5377e72 Use atomic ops to never miss a nonce on opencl kernels, including nonce==0, also allowing us to make the output buffer smaller. 12 years ago
ckolivas f63aeab1fe gpu->hit should be reset on new work as well. 12 years ago
ckolivas edd9b81622 Do not add time to dynamic opencl calculations over a getwork. 12 years ago
Con Kolivas e5ed708493 Do the dynamic timing in opencl code over a single pass through scanhash to make sure we're only getting opencl times contributing to the measured intervals. 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. 12 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. 12 years ago
Con Kolivas 33019b11ba Show the correct base units on GPU summary. 12 years ago
Con Kolivas 6b80592cde Sleeping on intensity decrease is broken, remove it. 12 years ago
Con Kolivas 7e55a41209 Sleep only the extra amount of time we overran the dynamic interval in dynamic mode. 12 years ago
Con Kolivas 5e756d3f6a Don't make opt_scrypt mandatory blocking with opencl code. 12 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. 12 years ago
Con Kolivas f98774c35c Fix target testing with scrypt kernel as it would have been missing shares below target. 12 years ago
Con Kolivas 39f7d2fa74 Allow lookup gap and thread concurrency to be passed per device and store details in kernel binary filename. 12 years ago
Con Kolivas ffe1318f70 Ignore negative intensities for scrypt. 12 years ago
Con Kolivas 04f55a0e66 Change the scale of intensity for scrypt kernel and fix a build warning. 12 years ago
Con Kolivas e45ebb62a9 Correct target value passed to scrypt kernel. 12 years ago
Con Kolivas a22edd2a7f Test the target in the actual scrypt kernel itself saving further calculations. 12 years ago
Con Kolivas d72add9af3 Send correct values to scrypt kernel to get it finally working. 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 a9a0bba18b Set the correct data for cldata and prepare for pad8 fixes. 13 years ago
Luke Dashjr a1edc7dbcb Bugfix: Fix build without curses but with OpenCL 13 years ago
Con Kolivas 243d005b1b Set scrypt settings and buffer size in ocl.c code to be future modifiable. 13 years ago
Con Kolivas bd10764e76 Cope with when we cannot set intensity low enough to meet dynamic interval by inducing a forced sleep. 13 years ago
Con Kolivas 238db52aa6 Make dynamic and scrypt opencl calls blocking. 13 years ago
Con Kolivas aabc723326 Make sure goffset is set for scrypt and drop padbuffer8 to something manageable for now. 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
Luke Dashjr c57c308d1f Bugfix: Don't declare devices SICK if they're just busy initializing 13 years ago
Luke Dashjr a3998e26e8 Bugfix: Adapt OpenCL scanhash errors to driver API change (errors are now -1, not 0) 13 years ago
ckolivas bf427de3ac Time opencl work from start of queueing a kernel till it's flushed when calculating dynamic intensity. 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
ckolivas 66e7dc700d Check for gpu return times of >= 0, not just 0, to fix intensity dropping to -10. 13 years ago
ckolivas c7eb9f3761 Microsecond multiplier error. 13 years ago
ckolivas dffda2382f Increase GPU timing resolution to microsecond and add sanity check to ensure times are positive. 13 years ago