I have a three Sapphire 5830 GPU setup but I can't even use my first adapter. As soon as I fire up the miner the temp races to 90C. Even at idle the GPU is almost as hot as my other two which are overclocked and under full load.
All three cards have the fans set to 100%.
Any ideas? The only thing I can think of is to pull the card and check the heat sink.
Thanks in advance.
EDIT: I added the "get activity" command below. It shows the card is indeed in a low power state.
EDIT 2: I remembered I have a DVM with a temp sensor. I confirmed the high temp on the idle card and it's the one closest to the CPU. It seems weird to me that the sandwiched card in the middle can run overclocked without overheating but the one with the most case airflow runs hot while idle.
$ export DISPLAY=:0.0; aticonfig --pplib-cmd "get activity"
Current Activity is Core Clock: 157MHZ
Memory Clock: 300MHZ
VDDC: 950
Activity: 0 percent
Performance Level: 0
Bus Speed: 5000
Bus Lanes: 16
Maximum Bus Lanes: 16
$ aticonfig --odgt --adapter=all
Adapter 0 - ATI Radeon HD 5800 Series
Sensor 0: Temperature - 58.50 C
Adapter 1 - ATI Radeon HD 5800 Series
Sensor 0: Temperature - 61.00 C
Adapter 2 - ATI Radeon HD 5800 Series
Sensor 0: Temperature - 77.50 C
$ aticonfig --odgc --adapter=all
Adapter 0 - ATI Radeon HD 5800 Series
Core (MHz) Memory (MHz)
Current Clocks : 157 300
Current Peak : 600 900
Configurable Peak Range : [600-875] [900-1200]
GPU load : 0%
Adapter 1 - ATI Radeon HD 5800 Series
Core (MHz) Memory (MHz)
Current Clocks : 875 900
Current Peak : 875 900
Configurable Peak Range : [600-875] [900-1200]
GPU load : 99%
Adapter 2 - ATI Radeon HD 5800 Series
Core (MHz) Memory (MHz)
Current Clocks : 850 900
Current Peak : 850 900
Configurable Peak Range : [600-875] [900-1200]
GPU load : 99%
EDIT 3:
So I learned that part of my problem is that the cards are heating each other up.
I ended up writing a python script which monitors the temps of each adapter and adjust the clocks to maintain both a single GPU peak temp of 88C and an average GPU temp of 85C.
I pulled the peak temp of 88C out of thin air, I can easily change this if needed.
The program starts with a 600mhz clock and slowly ramps up the system until the first card hits 88C. Then I throttle back the hottest card in 20Mhz increments. If the hot card reaches 600Mhz and it's still over 88C, the other two cards are then throttled back at rates based on the proximity to the hottest card.
The result is that while the clock frequencies are constantly changing, the system will run at the highest speed possible with any given cooling setup and maintain a fixed peak temp.
Here's a snapshot after running for 12 hrs:
$ aticonfig --odgt --adapter=all
Adapter 0 - ATI Radeon HD 5800 Series
Sensor 0: Temperature - 88.00 C
Adapter 1 - ATI Radeon HD 5800 Series
Sensor 0: Temperature - 77.00 C
Adapter 2 - ATI Radeon HD 5800 Series
Sensor 0: Temperature - 78.50 C
$ aticonfig --odgc --adapter=all
Adapter 0 - ATI Radeon HD 5800 Series
Core (MHz) Memory (MHz)
Current Clocks : 600 900
Current Peak : 600 900
Configurable Peak Range : [600-875] [900-1200]
GPU load : 94%
Adapter 1 - ATI Radeon HD 5800 Series
Core (MHz) Memory (MHz)
Current Clocks : 650 900
Current Peak : 650 900
Configurable Peak Range : [600-875] [900-1200]
GPU load : 98%
Adapter 2 - ATI Radeon HD 5800 Series
Core (MHz) Memory (MHz)
Current Clocks : 860 900
Current Peak : 860 900
Configurable Peak Range : [600-875] [900-1200]
GPU load : 97%
So that takes care of my overheating issue. Now I can focus on improving cooling.
The case I have has a recessed PCI bay due to the 90deg rotation of the motherboard (which makes the PCI cards vent out the top of the case). The point of this recess is to help clean up cabling and allow for a lower profile top case cover.
Looking at this recess, it looks like it's big enough to support an external fan. I think I'm going to try and create a 'turbo' exhaust which should help pull air through the GPU heatsinks. And if that works I can use it to duct the heat out of the house to save on my A/C bill.