1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-01 18:55:36 +00:00
Commit Graph

192 Commits

Author SHA1 Message Date
Con Kolivas
4ae0aad113 Revert "Set iSize for thermal device enum first."
This reverts commit 990bb4a994.

Thermal devices is not used. 1st of 3 reverts.
2012-01-30 08:05:36 +11:00
Con Kolivas
82af288e69 Revert "Fix various harmless warnings."
This reverts commit a4b67f030f.
2012-01-29 22:57:29 +11:00
Con Kolivas
a4b67f030f Fix various harmless warnings. 2012-01-29 21:06:17 +11:00
Con Kolivas
a8e46a074e Add extensive ADL based device info in debug mode. 2012-01-29 20:47:08 +11:00
Con Kolivas
83a8367654 Linux's ADL uses a busnumber in descending order for devices so enumerate them in the opposite order to windows. 2012-01-29 13:49:08 +11:00
Con Kolivas
4bf01f012f Fix potential overflow. 2012-01-28 12:08:55 +11:00
Con Kolivas
059701272c Carry virtual gpu number across. 2012-01-28 11:26:56 +11:00
Con Kolivas
3bc0583454 Iterate and change virtual device order instead of shuffling ram. 2012-01-28 11:19:28 +11:00
Con Kolivas
371e5f688a Reorder displayed devices to map to physical locations and initialise according to logical location instead. 2012-01-28 09:22:33 +11:00
Con Kolivas
5a0b4f62d0 Map GPU devices to virtual devices in their true physical order based on BusNumber. 2012-01-28 01:56:12 +11:00
Con Kolivas
06fd9c4a4c Detect dual GPU cards by iterating through all GPUs, finding ones without fanspeed and matching twins with fanspeed one bus ID apart. 2012-01-26 23:27:10 +11:00
Kano
487327f83d Remove compile warning 2012-01-26 14:06:31 +11:00
ckolivas
4995b7c241 On dual GPUs, only autotune the shared fan once per gpu autotune cycle. 2012-01-25 16:34:39 +11:00
ckolivas
c009c6cd74 Don't try to explicitly drift to exactly the target temperature, aim for just below it. 2012-01-25 16:16:28 +11:00
ckolivas
312724cea1 Adjust fan speed gently while in the optimal range when temperature is drifting to minimise overshoot in either direction. 2012-01-25 15:48:28 +11:00
Con Kolivas
9549dacf99 Detect dual GPU cards via the indirect information of - 1st card has a fan controller. 2nd card does not have a fan controller, cards share the same
device name, and are one bus ID apart. Use this information to create paired devices, displaying the fan speed on both devices and using the hottest
temperature from either GPU to control the overall fanspeed.
2012-01-25 01:19:58 +11:00
Con Kolivas
990bb4a994 Set iSize for thermal device enum first. 2012-01-23 10:54:21 +11:00
Con Kolivas
2d29cdb611 Read off lpThermalControllerInfo from each ADL device. 2012-01-23 09:25:53 +11:00
Con Kolivas
1e1519e93e Add ADL_Overdrive5_ThermalDevices_Enum interface. 2012-01-23 09:20:21 +11:00
Kano
ec2c0b784f Add API commands: config, switchpool, gpu settings, save 2012-01-22 18:24:55 +11:00
Luke Dashjr
845961af66 Refactor to abstract device-specific code 2012-01-08 20:01:35 -05:00
Con Kolivas
400cb21d8b Off by one error in performance level. 2011-12-24 08:06:53 +11:00
Con Kolivas
f4d657ee7f Only adjust gpu engine speed in autotune mode if the gpu is currently at the performance level of that being adjusted. 2011-12-24 07:35:42 +11:00
Con Kolivas
8c63061eaa Allow a fixed speed difference between memory and GPU clock speed that will change memory speed when GPU speed is changed in autotune mode. 2011-10-23 20:52:16 +11:00
Con Kolivas
5976f6b32f Get rid of unused variable. 2011-10-14 21:51:55 +11:00
Con Kolivas
0ae3f71824 Check last temperature we reached and don't change fan speed if it's already correcting. 2011-09-23 10:46:34 +10:00
Con Kolivas
b8ea0dd194 Update curses logging to allow LOG_WARNING and LOG_ERR messages to still go through while within the menu, and drop share message to LOG_NOTICE. 2011-09-17 13:25:04 +10:00
Con Kolivas
5a24c2829a Try to set temperature regardless of whether get fanspeed fails. This may need to be reverted if it causes problems. 2011-09-16 16:46:14 +10:00
Con Kolivas
12e99c83dd Initialise all the iSizes of the ADL structures for completeness. 2011-09-16 16:42:11 +10:00
Con Kolivas
07c21bcbc4 Don't forget to set the actual fanspeed too! 2011-09-16 10:40:58 +10:00
Con Kolivas
3c38adc9ce Only set the speed once, but set it only if fanspeed get says the card is ok and ready. 2011-09-16 10:27:36 +10:00
Con Kolivas
67fe6ab726 Don't both with adapter speed set as it has no effect on mining speed. 2011-09-16 10:26:25 +10:00
Con Kolivas
92e1ffd374 Store the targetfan even if the later getfanspeed fails in case it's temporary. 2011-09-16 08:31:27 +10:00
Con Kolivas
8feb661dbf Set the fanspeed in coarse rounded up values and then ever finer grained values in case the card does not support fine values. 2011-09-15 20:48:20 +10:00
Con Kolivas
3f10e80a93 If the user defined flag is not set on fanspeed, set the fanspeed with it first. 2011-09-15 12:19:07 +10:00
Con Kolivas
87ec3f4789 Convert fanspeed management to default on exit. 2011-09-15 11:21:54 +10:00
Con Kolivas
918ec7b0b2 Enable adl earlier to allow values to be set in init_adl or they're silently ignored! 2011-09-14 23:03:50 +10:00
Con Kolivas
1db6ab0b01 Set targetfan when fanspeed is set on parameters. 2011-09-14 23:03:37 +10:00
Con Kolivas
2e09eee708 Use the gpu_fan set value as the starting fan speed.
Don't try and change the value if get() doesn't match as it's unreliable, just save the reentrant value.
Limit fanspeeds to reported iMax and iMin.
2011-09-14 21:45:04 +10:00
Con Kolivas
88eb514cd1 Only display supported values from fanspeed on change settings. 2011-09-11 11:57:08 +10:00
Con Kolivas
b4009adaac Remove redundant check. 2011-09-11 11:47:22 +10:00
Con Kolivas
ebae03f22b Do not bother resetting values to old ones if changes to GPU parameters report failure, instead returning a failure code only if the return value from get() differs. 2011-09-11 11:38:02 +10:00
Con Kolivas
dff1a81da7 Use a re-entrant value to store what fanspeed we're trying to set in case the card doesn't support small changes.
Force it to a multiple of 10% if it fails on trying to speed up the fan.
2011-09-11 11:25:28 +10:00
Con Kolivas
076677dd53 Flag any devices with autofan or autogpu as being managed. 2011-09-11 11:08:01 +10:00
Con Kolivas
a602f4e55f Only force the adapter speed to high if we've flagged this device as being managed. 2011-09-11 11:06:52 +10:00
Con Kolivas
25c77ae85f Only display values in the log if they're supported and standardise device log line printing. 2011-09-09 11:53:45 +10:00
Con Kolivas
2fafdab985 Allow adapterid 0 cards to enumerate as a device as they will be non-AMD cards, and enable ADL on any AMD card. 2011-09-09 10:03:10 +10:00
Con Kolivas
b7d817812c Setting the hysteresis is unlikely to be useful on the fly and doesn't belong in the per-gpu submenu. 2011-09-08 14:10:55 +10:00
Con Kolivas
0e1c291624 Display fan range in autofan status. 2011-09-08 14:05:41 +10:00
Con Kolivas
e0a9f1aae3 Allow temperature targets to be set on a per-card basis on the command line. 2011-09-08 13:53:10 +10:00
Con Kolivas
d6f3bd0564 Display which GPU has overheated in warning message. 2011-09-08 13:33:24 +10:00
Con Kolivas
b50041c880 Allow per-device fan ranges to be set and use them in auto-fan mode. 2011-09-08 13:29:13 +10:00
Con Kolivas
9b5cd61886 Implement accepting a range of engine speeds as well to allow a lower limit to be specified on the command line. 2011-09-08 13:04:39 +10:00
Con Kolivas
7ea7f5f324 Allow temperatures greater than 100 degrees. 2011-09-08 10:51:32 +10:00
Con Kolivas
4628db5bfd Change the fan speed by only 5% if it's over the target temperature but less than the hysteresis value to minimise overshoot down in temperature. 2011-09-07 10:44:57 +10:00
Con Kolivas
3997f308a0 Add a thermal cutoff option as well and set it to 95 degrees by default. 2011-09-07 10:43:26 +10:00
Con Kolivas
311420db9d Flag adl as active if any card is successfully activated. 2011-09-07 10:03:06 +10:00
Con Kolivas
058303bcf3 Only reset values on exiting if we've ever modified them. 2011-09-07 10:00:10 +10:00
Con Kolivas
b8be1e6c15 Ignore whether the display is active or not since only display enabled devices work this way, and we skip over repeat entries anwyay. 2011-09-07 09:17:51 +10:00
Con Kolivas
f89c032d2b The ° character is not reliably shown on all platforms so remove it. 2011-09-06 12:04:23 +10:00
Con Kolivas
fd23532bdb Make adl attempt to compile only on win32 or linux since there is no support for it on onther platforms, and fix sleep() definition on win32. 2011-09-06 09:41:58 +10:00
Con Kolivas
16aff37c66 Fix compilation errors on mingw32 to do with order of pulling in headers, curses.h and definition of bool. 2011-09-06 09:36:42 +10:00
Con Kolivas
9f618f4a97 Lower profile settings cannot be higher than higher profile ones so link any drops in settings. 2011-09-05 19:30:03 +10:00
Con Kolivas
ca3793558a Ramp up the fan more if we're over target temperature. 2011-09-05 19:30:03 +10:00
Con Kolivas
bc9724406a Provide locking around all adl calls to prevent races. 2011-09-05 19:30:03 +10:00
Con Kolivas
666d724b8a Set a safe starting fan speed if we're automanaging the speeds. 2011-09-05 19:30:03 +10:00
Con Kolivas
5fc56a45ee Force the speed to high on startup and restore it to whatever the setting was on exit. 2011-09-05 19:30:03 +10:00
Con Kolivas
cb29fb7d57 Remove the safety checks in speed setting since confirmation is done first in the menu, then show the new current values after a short pause. 2011-09-05 19:30:03 +10:00
Con Kolivas
ee06a3baca Limit fanspeed to 85% properly when temperature is below overheat levels. 2011-09-05 19:30:03 +10:00
Con Kolivas
40491cd537 Change default hysteresis to 3 degrees for lower average fanspeeds. 2011-09-05 19:30:03 +10:00
Con Kolivas
47f1a75924 Implement setting the GPU powertune value of all devices or each device as a comma separated value. 2011-09-05 19:30:03 +10:00
Con Kolivas
656bacc5a9 Get the value of powertune in get_stats. 2011-09-04 23:14:36 +10:00
Con Kolivas
7711c6fbd5 Implement changing of powertune value from the GPU change settings menu. 2011-09-04 23:10:57 +10:00
Con Kolivas
bd292258d3 Add support for monitoring powertune setting. 2011-09-04 22:56:19 +10:00
Con Kolivas
3a5663cac1 Implement setting the GPU fan speed of all devices or each device as a comma separated value. 2011-09-04 22:25:31 +10:00
Con Kolivas
8ae273c56c Implement setting the GPU voltage of all devices or each device as a comma separated value. 2011-09-04 22:08:42 +10:00
Con Kolivas
54bc30ceec Implement setting the GPU memory clock speed of all devices or each device as a comma separated value. 2011-09-04 22:01:58 +10:00
Con Kolivas
ec8808d004 Implement setting the GPU engine clock speed of all devices or each device as a comma separated value. 2011-09-04 21:55:06 +10:00
Con Kolivas
12a167a3f1 Implement menus to change temperature limits. 2011-09-04 13:57:40 +10:00
Con Kolivas
1ed219372e Combine all stats collating into one function to avoid repeating function calls on each variable. 2011-09-04 10:19:29 +10:00
Con Kolivas
e9f886d805 Allow target, overheat and hysteresis temperatures to be set from command line. 2011-09-04 09:43:53 +10:00
Con Kolivas
847adf689b Add a small amount of hysteresis before lowering clock speed. 2011-09-04 07:17:07 +10:00
Con Kolivas
9b7262ec71 Clean up by setting performance profiles and fan settings to startup levels on exit. 2011-09-04 00:36:14 +10:00
Con Kolivas
e9b5885ebe Add a gpu autotune option which adjusts GPU speed to maintain a target temperature within the bounds of the default GPU speed and any overclocking set. 2011-09-03 22:30:11 +10:00
Con Kolivas
dcc97e45db Add an --auto-fan command line option to allow all GPUs to have autofan enabled from startup. 2011-09-03 15:46:57 +10:00
Con Kolivas
495adcbf5f Implement auto fanspeed adjustment to maintain a target temperature and fanspeed below 85%, with an overheat check that will speed the fan up to 100%. 2011-09-03 15:33:53 +10:00
Con Kolivas
320a5f2a92 Make sure to read off the value in RPM only. 2011-09-03 14:52:25 +10:00
Con Kolivas
bf2669b83a Minor corrections to set fan speed by percentage. 2011-09-03 14:45:37 +10:00
Con Kolivas
07b847f7e7 Implement fan speed setting. 2011-09-03 14:33:05 +10:00
Con Kolivas
3681ae84cc Implement changing memory speed and voltage on the fly. 2011-09-03 13:28:49 +10:00
Con Kolivas
35ace46325 Enable changing of engine clock setting on the fly. 2011-09-03 13:02:21 +10:00
Con Kolivas
d57cd91955 Implement ATI ADL support for GPU parameter monitoring now and setting later (temp, fan, clocks etc.).
Check for the presence of the ADL header files in ADL_SDK.
Import adl_functions.h from amd overdrive ctrl.
Implement a setup function that tries to detect GPUs that support the ADL and link in the parameters into the gpus struct.
Put a summary of monitoring information from the GPU menu.
2011-09-03 10:53:35 +10:00