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.
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 |
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
This mainly applies to ModMiner since it takes 4-5 minutes to upload the bitstream
|
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 |
ckolivas
|
999dba479a
|
Revert "Use much more damping when determining average opencl duration to change dynamic intensity."
This reverts commit 04e528d38f .
Didn't help.
|
13 years ago |
ckolivas
|
04e528d38f
|
Use much more damping when determining average opencl duration to change dynamic intensity.
|
13 years ago |
ckolivas
|
79a4e25742
|
Opencl code may start executing before the clfinish order is given to it so get the start timing used for dynamic intensity from before the kernel is queued.
|
13 years ago |
Con Kolivas
|
5cf4b7c432
|
Make the devices array a dynamically allocated array of pointers to allow unlimited devices.
|
13 years ago |
Con Kolivas
|
eaf1505381
|
Dynamic intensity for GPUs should be calculated on a per device basis. Clean up the code to only calculate it if required as well.
|
13 years ago |
ckolivas
|
eb36f8d271
|
Walk through the thread list instead of searching for them when disabling threads for dynamic mode.
|
13 years ago |
Luke Dashjr
|
4eb23c7ea3
|
Bugfix: slay a variety of warnings
|
13 years ago |