Noel Maersk
95586f72f0
Squash-merge branch dead-end with unnecessary check removals.
11 years ago
Noel Maersk
37cd3fb04c
Get rid of several opt_scrypt checks.
...
--scrypt will eventually become a default, and is the only reason to use this
version of cgminer.
11 years ago
ckolivas
6d7471237d
Use macro expansion to iterate over all device drivers without needing to explicitly code in support in all places. Pass a hotplug bool to the detect() function to prevent opencl trying to hogplug GPUs.
11 years ago
ckolivas
741b74309e
Forward declare all device drivers in miner.h avoiding the need to export them everywhere else.
11 years ago
ckolivas
8875197466
Create a macro list of drivers to enable easier addition of further drivers.
11 years ago
Con Kolivas
3e84a19cda
Fix --scrypt being required before scrypt intensities on command line or not working at all via config files.
11 years ago
Con Kolivas
2b171f7fae
Limit intensity range according to whether scrypt is in use or not.
11 years ago
ckolivas
837c7319f1
Fix extra argument passed to statline before.
11 years ago
Kano
ad1572f77f
size check get_datestamp/get_timestamp and remove unused cgpu->init
12 years ago
Kano
385a70bea7
make all statline overflow safe
12 years ago
Kano
2d8cc36b82
GPU fan rpm display 9999 when it overflows
12 years ago
Kano
b5bf34dc85
applog/quit fix GPU errors created
12 years ago
Kano
7eba963477
remove varargs from logging/quit/in general as much as possible
12 years ago
ckolivas
065d4aabf6
Fix build.
12 years ago
Con Kolivas
727184d6ef
Change the --device parameter parsing and configuration to use ranges and comma separated values.
12 years ago
Con Kolivas
bbdbf364cc
Modify scrypt kernel message.
12 years ago
ckolivas
ee2671a559
Change the opencl shutdown sequence.
12 years ago
Con Kolivas
000c01dcae
Create a logwin_update function which mandatorily updates the logwin and use it when input is expected to prevent display refresh delays.
12 years ago
Con Kolivas
01fca3e756
Create a logwin_update function which mandatorily updates the logwin and use it when input is expected to prevent display refresh delays.
12 years ago
Con Kolivas
1a7a87c2a6
Use a discrete device target for scrypt that dynamically changes to ensure we still report a work utility even if no shares are submitted such as in solo mining.
12 years ago
Con Kolivas
b196d4fa0c
Support more shares to be returned for scrypt mining.
12 years ago
Con Kolivas
0face980e8
Use cgtime in driver-opencl.c
12 years ago
Con Kolivas
13e19de4d5
Calculate work utility for devices that support target diffs of greater than 1, and update scrypt code to use it.
12 years ago
Con Kolivas
d7d630b86c
Set default GPU threads to 1 for scrypt.
12 years ago
Kano
1c04d14067
cgminer -n to include a USB device list
12 years ago
Con Kolivas
5d581cb5d7
Use blank_get_statline_before for GPU devices that don't support adl monitoring.
12 years ago
Con Kolivas
5d122cad93
Provide wrappers for grabbing of thr value under the mining_thr_lock.
12 years ago
Kano
7abf30b2c0
distinguish between drv and it's id enum now called drv_id
12 years ago
Kano
61ec1fe91f
mutex all access to mining_thr
12 years ago
Kano
212f32e5e0
Split thr_info array into control_thr and mining_thr pointers so more mining threads can be added later
12 years ago
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.
...
Clear all work structs from the same place to ensure memory does not leak from arrays within the struct.
Convert the gbt coinbase and stratum strings within the work struct to heap ram.
This will allow arbitrary lengths without an upper limit for the strings, preventing the overflows that happen with GBT.
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.
...
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