View Full Version : Power Management: ATI Catalyst vs. Open-Source ATI Driver
phoronix
03-06-2009, 07:40 AM
Phoronix: Power Management: ATI Catalyst vs. Open-Source ATI Driver
Yesterday we broke the news that AMD will stop supporting the R300-500 GPUs in the Catalyst driver. There have been well over one hundred posts in the Phoronix Forums from ATI customers upset with this decision, but fortunately, there is first-rate open-source support available. AMD continues to release documentation and code while the X.Org development community has been hard at work on the xf86-video-ati and xf86-video-radeonhd drivers along with Mesa and Gallium3D components. The main problem though is the open-source stack -- at this time -- providing poor gaming performance, but power management can also be a problem. In yesterday's article we provided some R500 comparative 2D and OpenGL benchmarks, but in this article are some power management results comparing the Catalyst 9.2 driver to the xf86-video-ati driver.
http://www.phoronix.com/vr.php?view=13566
questioneer
03-06-2009, 07:43 AM
on page 2 you write that you are using catalyst 9.3
typo?
Michael
03-06-2009, 07:47 AM
on page 2 you write that you are using catalyst 9.3
typo?
Yes, fixed. Thanks.
BlackStar
03-06-2009, 08:05 AM
Interesting. This seems to mirror my experience on a desktop R500 part (X1950Pro), where radeon consumes marginally less power than fglrx on idle (about 0.5-1W).
The situation is reversed with my R700 (4850HD), however: radeonhd consumes a whopping 35W more than fglrx! That will be more difficult to fix, but hopefully not impossible.
In any case, the radeon/radeonhd devs are doing a great job!
sreyan
03-06-2009, 08:17 AM
Michael,
It would be nice to see performance/power consumption. I know that is not easy or trivial to measure. Many folks might say that the open source drivers use less power because they don't do anything.
Pfanne
03-06-2009, 08:25 AM
there is a small mistake the on second page
The difference between the two averages though is just 155 Milliwatts. The power consumption peaked at 24522 Watts, which is over 600 Milliwatts less than its open-source alternative. The power consumption bottomed out at 20112 Milliwatts, which is also less.
i hope this is supposed to milliwatts otherwise this card wouldnt be fit for a notebook ;)
btw thanks for this great article
NeoBrain
03-06-2009, 09:10 AM
Interesting. This seems to mirror my experience on a desktop R500 part (X1950Pro), where radeon consumes marginally less power than fglrx on idle (about 0.5-1W).
The situation is reversed with my R700 (4850HD), however: radeonhd consumes a whopping 35W more than fglrx! That will be more difficult to fix, but hopefully not impossible.
I don't think any power management code in radeon/hd is written for anything higher than R5xx, so that's quite normal I guess ;)
Zhick
03-06-2009, 10:26 AM
Was DynamicClocks enabled in xorg.conf? You say both drivers were left at their defaults, so probably not. Would be nice to see what impact (if any) it has.
Also since this is a notebook were power-consumption is critical, and performance usualy secondary, I think you should also test with lower power-states, as I think that's a more realistic useage-scenario.
But I do realize you did this article in a very short time, so I'm not complaining. I just make suggestions. :)
Louise
03-06-2009, 10:50 AM
You mean to tell me, that the open source drivers, which have no power management uses less power then the closed source driver with power management?
I think this proves, that the test suite is useless without error bars.
Come on Phoronix. Statistical data without error bars are useless. They don't tell anything at all.
How will you convince that the uncertainty isn't dominant?
Michael
03-06-2009, 11:01 AM
You mean to tell me, that the open source drivers, which have no power management uses less power then the closed source driver with power management?
Yes, on specifically the Mobility X1400 in our test configuration. The likely explanation is that all areas of the GPU aren't being enabled in the open-source stack at this time.
I think this proves, that the test suite is useless without error bars.
Come on Phoronix. Statistical data without error bars are useless. They don't tell anything at all.
How will you convince that the uncertainty isn't dominant?
In this article are line graphs that show all plotted points.... Along with the minimum, average, and maximums mentioned. This is all of the recorded data for the power consumption.
Louise
03-06-2009, 11:31 AM
In this article are line graphs that show all plotted points.... Along with the minimum, average, and maximums mentioned. This is all of the recorded data for the power consumption.
Yes, but that does tell anything about the uncertainty of each measurement.
Your measurement equipment can't measure each value exactly. That is way some measurement are more expensive than others. You pay for the accuracy.
So if you measure 17345 m Watt, but the accuracy is 1000 m Watt, you can't tell anything from the just released test, as you conclude that the open source drivers are better because of the difference you are talking about is less than the accuracy.
With other words, you are only seeing noise.
That is why each measurement point needs to have an error bar, so you can tell how likely it is that the differences you see is in fact differences and not noise that comes from the measurement it self.
Melcar
03-06-2009, 11:38 AM
Well, radeon on my laptop (200M) reduces battery life nearly by 1/3 (45min to 30min). If I load up DynamicClocks I gain around 10min.
BlackStar
03-06-2009, 12:07 PM
45 minutes w/ fglrx vs 40 minutes w/ radeon + DynamicClocks. Not too shabby!
How old is your battery?
SyXbiT
03-06-2009, 12:12 PM
don't you get tired of saying things like
"The open-source ATI stack will most certainly improve when...."
seriously. stop promising stuff. people then get mad when it doesn't happen
GreatWalrus
03-06-2009, 12:21 PM
don't you get tired of saying things like
"The open-source ATI stack will most certainly improve when...."
seriously. stop promising stuff. people then get mad when it doesn't happen
Geez, Debbie Downer.
It WILL most certainly improve.
Melcar
03-06-2009, 12:38 PM
45 minutes w/ fglrx vs 40 minutes w/ radeon + DynamicClocks. Not too shabby!
How old is your battery?
3 years or so. The thing is DynamicClocks really slows things down. KDE4 (no effects) is almost unbearable to use.
GreatWalrus
03-06-2009, 01:01 PM
3 years or so. The thing is DynamicClocks really slows things down. KDE4 (no effects) is almost unbearable to use.
You have a nice looking desktop system though ;) (in your sig)
elsie
03-06-2009, 01:27 PM
I thought powerplay wasn't working for r500 cards in catalyst 9.2?
I have a mobility x1600 & still use fglrx 8.5(fastest & most stable for me) & I underclock the gpu to the lowest setting (135mhz) for battery & AC. Doing this keeps my laptop cool & extremely quiet!
& compiz is always on (cube & other eye candy) & doesn't suffer from the lowered clock setting.
shamooki
03-06-2009, 04:11 PM
I'm stunned - you tested almost exactly my setup. Great! This article was extremely useful for me! Thanks phoronix, this reminds me why I keep reading you.
Having said that I'd really like to see the effect of powerplay on fglrx. From my own playing around with powertop and the like I could hardly see any energy savings with powerplay. Can you?
And one addition on the results: The 1400x1050 display is an IPS one (at least mine is). These panels eat really a lot of power. Lowering screen brightness is by for the most efficient energy saver on my laptop.
shamooki
03-06-2009, 04:21 PM
That is why each measurement point needs to have an error bar, so you can tell how likely it is that the differences you see is in fact differences and not noise that comes from the measurement it self.
You sound like you just took a statistics class ;) Through my work I often witness how people who are trained in statistics accusing those who acquire data to misuse statistics. While it's good to point out weak points in an analysis, I strongly believe criticism should be constructive.
To be precise: How would you quantify the uncertainty of the measurements?
korpenkraxar
03-06-2009, 04:59 PM
Well, radeon on my laptop (200M) reduces battery life nearly by 1/3 (45min to 30min). If I load up DynamicClocks I gain around 10min.
This my experience as well from running an X1400 on a Thinkpad and various distros. Clocking down fglrx has always given me much better battery life than using the defaults in radeon and the laptop is certainly cooler as well.
What relevant and working radeon options are actually possible to specify in xorg.conf to get better battery life? The docs are not really clear on this.
Louise
03-06-2009, 09:17 PM
You sound like you just took a statistics class ;) Through my work I often witness how people who are trained in statistics accusing those who acquire data to misuse statistics. While it's good to point out weak points in an analysis, I strongly believe criticism should be constructive.
To be precise: How would you quantify the uncertainty of the measurements?
You got me there :) I study mathematics, and I have a course in statistics and time series analysis behind me.
It is not possible to quantify the uncertainty, it have to be measured or know. Yes, you measure the uncertainty with equipment that you know is more precise than the one you want to know the uncertainty for :)
As for this test with power measurement, I don't how how they where measured or with what equipment, but without that information the test is useless, and it doesn't tell anything.
If this is not possible, as it sometimes is, you have to do more than 28 measurements for each point. Why 28, because then you are in the 95% confidence interval.
Which means that there is a 95% change that what you have measured is the right values.
100% is impossible. That formula doesn't allow this.
The Phononix test suite is worth nothing (sorry to say so) to anyone with an engineering background. The results doesn't tell a damn thing. :)
Michael
03-06-2009, 09:21 PM
As for this test with power measurement, I don't how how they where measured or with what equipment, but without that information the test is useless, and it doesn't tell anything.
The results were directly ready by the Phoronix Test Suite off of the exposed ACPI sensors on the laptop.
Louise
03-06-2009, 09:30 PM
The results were directly ready by the Phoronix Test Suite off of the exposed ACPI sensors on the laptop.
Okay, this means that if you do the measurement again on another laptop you will of course get other results.
As you know, components in laptops are the cheapest components they can get away with in order to lower cost.
The best you can do is to open the laptop and find the components that actually do the measurement and look in their data sheets.
Or try and ask on a electronics newsgroup how accurate they would guess such components in laptops are.
I wouldn't be surprised if each measurement have a +/- 10% accuracy.
Louise
03-06-2009, 09:38 PM
The results were directly ready by the Phoronix Test Suite off of the exposed ACPI sensors on the laptop.
Here is just a quite plot I found with Google.
http://www.mathworks.com/matlabcentral/fx_files/22826/4/errorbar_tick.gif
On each of these plots you can draw any curve you like as long as you stay within the error bars, and any curve you draw will be correct.
bridgman
03-06-2009, 09:42 PM
I guess there are two kinds of accuracy that need to be considered.
One is absolute accuracy; if the test says 19 watts then what is the likely range of "true" values ?
One is the relative accuracy; if you measure *exactly* the same thing 10 times in a row what distribution of results do you get ? Put differently, if you *compare* two sets of measurements with the same equipment how valid is the comparison ?
For an article like this (where the goal is to establish differential readings for the same system and same tools with different drivers) the second form of accuracy is probably more relevent, ie absolute accuracy (calibration etc..) doesn't matter as long as two sets of measurements closely related in time give similar results.
Louise, does that make sense ? If so, what information would you use to determine the size of the error bars ?
Louise
03-06-2009, 09:56 PM
I guess there are two kinds of accuracy that need to be considered.
One is absolute accuracy; if the test says 19 watts then what is the likely range of "true" values ?
One is the relative accuracy; if you measure *exactly* the same thing 10 times in a row what distribution of results do you get ? Put differently, if you *compare* two sets of measurements with the same equipment how valid is the comparison ?
For an article like this (where the goal is to establish differential readings for the same system and same tools with different drivers) the second form of accuracy is probably more relevent, ie absolute accuracy (calibration etc..) doesn't matter as long as two sets of measurements closely related in time give similar results.
Louise, does that make sense ?
It is only in discrete cases (things you can count) where is it possible to do exact measurements. E.g. how many cars passed a censor in an hour.
I don't understand why you would go with relative accuracy (distribution) for this test.
Distribution is used when you want to predict values you haven't measured.
Btw. The plots really need horizontal tick marks and unit, so the number of measurements can be seen.
Ant P.
03-06-2009, 10:10 PM
This is something I've been meaning to ask for a while... does DynamicClocks actually do anything on my 9250? For that matter, does even manual clock adjustment have any effect on power draw?
Pretty futile to try considering the GPU's power consumption is nothing compared to my P4, but I was curious.
BlackStar
03-06-2009, 11:52 PM
I've manually underclocked my R500 and R700 but the effect of clock speed was minimal. Underclocking the card's memory might give you a watt or two, but don't expect miracles. However, underclocking allows you to reduce the GPU voltage, which has a positive impact in power consumption (and noise!)
Personally, I've updated the BIOSes of both cards with custom voltage and clock tables. This works rather well, although YMMV.
Now, if only R700 wasn't so trigger happy... Scrolling a window or watching a (SD) video shouldn't launch the high-performance profile. Even underclocked, this card has more than enough juice for day to day use, no need to put the memory to 2GHz every time I move my mouse dammit!
Hephasteus
03-07-2009, 01:01 AM
I've manually underclocked my R500 and R700 but the effect of clock speed was minimal. Underclocking the card's memory might give you a watt or two, but don't expect miracles. However, underclocking allows you to reduce the GPU voltage, which has a positive impact in power consumption (and noise!)
Why do the apps mess with clock speed to conserve power? You can't do it. The only way to really make a dent in power usage on a video card or a cpu is to lower voltage. If you don't lower voltage when you drop clock you don't save any significant power. My cpu uses 32 watts at 1.1 volts at 2.5ghz stock speed. It uses 22 watts max at 1.0 volts at 2.2 ghz with loads of front side bus speed, and memory speed. Thats at 275 mhz fsb. Dropping to 2ghz and 250 mhz fsb and .95 volts saves another 4 watts. It'll run under windows with .925 volts but not under linux.
Trimming .2 volts on a 7600gs drops power usage from 24 watts to 16 watts but you have to lose 50 mhz for stability. Not dropping voltage and losing 50mhz saves 1 watt.
Most gpu's and cpu's with good voltage regulation on system will drop .1 volt and save about 15 percent on power without touching clocks. You can't save 15 percent with any of these cpu or gpu clock schemes unless you have a bizarre system with almost no interrupt activity and it's really sleeping a good amount of time. CPU's and GPU's are going to have to give up voltage control to bios and systems acpi calls.
PS. I've got pure DC desktop system so if you can't achieve the same results as me it's because a capacitor in a power supply is never as voltage stable as 120lbs of lead acid batteries. :D
oblivious_maximus
03-07-2009, 01:23 AM
I was bit disappointed to find this article had absolutely nothing to do with power management - it should have been called "Power Consumption: ATI Catalyst vs. Open Source ATI Driver" IMHO.
Power management, in this case, is having your video card automatically use lower core/memory clock speeds (and whatever else can be done to save power without losing functionality) to save power when one is not using 3D and has no need for full power and full clock speeds.
I wanted to know how far along the power management support in the open drivers was. Does the card automatically clock down for 2D? And clock back up for 3D? Does it do this reliably, ie: doesn't stutter in 3D jumping back and forth between clock speeds? Does it stay at 2D clock speeds when using 2D or does it jump higher for some tasks(if so, is that noticeable?)? Does it share the same ridiculous limitation as fglrx (plug in a second display and PowerPlay ceases to clock down AT ALL)? How far does it clock down? Is it too far to keep a 2D desktop snappy? These are some of the things an article purporting to compare power management features between 2 drivers should be testing (and obviously what power savings can be had in the process). Not power consumption at idle and under load when no power management features are even enabled..
BlackStar
03-07-2009, 02:32 AM
Why do the apps mess with clock speed to conserve power? You can't do it. The only way to really make a dent in power usage on a video card or a cpu is to lower voltage.
Indeed. The whole point of underclocking is to allow for lower voltage. Underclocking without undervolting is a waste of time (and power).
PS. I've got pure DC desktop system so if you can't achieve the same results as me it's because a capacitor in a power supply is never as voltage stable as 120lbs of lead acid batteries. :D
How does this setup work? Are you using a massive UPS to feed a high-efficiency DC-DC PSU (e.g. pico or similar)?
I was planning to use pico on my current system, but decided against it in the end - I do 3d graphics and I didn't want to be juice-limited. The pico is now recomissioned to a wireless router/server PC running on my rooftop.
Edit: sorry for derailing this thread, let's take this discussion to PMs. :o
suokko
03-07-2009, 03:35 AM
For r500 fglrx stock settings aren't setting card to lower power state unless I unplugged the laptop so if test was done plugged into wall then fglrx test doesn't show anywhere near what real power consumption is in battery usage. (I noticed this problem when I asked why the stupid fan was keeping noise all the time.)
Hephasteus
03-07-2009, 02:02 PM
Indeed. The whole point of underclocking is to allow for lower voltage. Underclocking without undervolting is a waste of time (and power).
How does this setup work? Are you using a massive UPS to feed a high-efficiency DC-DC PSU (e.g. pico or similar)?
I was planning to use pico on my current system, but decided against it in the end - I do 3d graphics and I didn't want to be juice-limited. The pico is now recomissioned to a wireless router/server PC running on my rooftop.
Edit: sorry for derailing this thread, let's take this discussion to PMs. :o
Not really derailing thread since we are discussing power usage. I'm using a pico 120 watt power supply with a soldered on extra connector for cpu power and a soldered on extra universal connector from an old sort of works if you pull enough amps neo he380 power supply. I can plug any of the cable management cables into the that plug and run my satas off it right now.
Pico goes to front panel switch which is "ignition" and then to back panel switch with is on/off then out back of case and I'm running 6 feet of 14 guage radio control car electric motor wire. It's getting a .5 volt drop along the whole run so i have to switch over to 10 or 8 guage. This goes to 2 duralast 110 amp hour 195 reserve capcity deep cycle batteries which get charged from solar panel I deploy out the deck or through a samlex BP series power factor correcting charger. Or both letting the solar panel drop the amount of power the charger supplies.
http://www.abra-electronics.com/products/catalog/Samlex-Battery-Chargers-orderby0-p-1-c-618.html
My 19" lcd uses about 44 watts but once I convert it to pure dc it will use around 32 watts as it isn't power factor corrected.
A 120 watt dc/dc power supply will do anything a 200 watt ac supply will do. The pico 250 watt supply will run huge systems if you just tweek them a bit and don't go nuts on crazy stuff. No need for 130 watt cpu which will pull about 90 watts on that supply and no need for SLI when one card works about as well. It will run any 65 watt rated cpu and any video card but the 4 or 5 most power hungry ones may need to be devoltaged and declocked just a tiny tad. If a video card needs 200 watts from an AC supply it will only need 160 watts from a dc supply and if it's devoltaged and declocked right you can get the super power hungry cards down to managable power usages.
You could probably run a quad sli system off of dc if you made up some pci-e 6 pin and 8 pin cables that would switch on straight to battery upon receiving power good signal from supply. The battery system wouldn't go outside the voltage regulation ranges that the cards use anyway as they have 4 or 6 phase regulation.
Such a system would be awesome if it was actually engineered entirely into the system. You could literally switch off cards with toggle switches if the bios and os were made aware that a card was either there or off.
But the system I did was because you can't power factor correct the computer entirely because the currents and voltages and everything fluctuate too much. The charger can maintain .96 to .98 power factor because it only runs a pulse width modulation, meaning it cycles on and runs it's full current for a pulse time and cycles off. The pulses affect the battery about .1 volts. The longer it stays on the more power it feeds but when it's on it's almost pure efficiency and the best you can ever hope for with an AC supply is .85. They simply are unable to give power the way the charger does. The power savings isn't large on my system but if you scaled it to a 2 panel 400 watt total folding rig or server you'd lose 120kw a month of usage. But the sad fact is if that people just saved 15 percent on power usage the strain on the grid would drop power generation needs another 10 percent as most grids don't use nearly enough copper to run themselves efficiently.
But the most important thing is once i'm done with my dc board for monitor my system will run through multi day power outages and a laptop won't do that. :D
krogy
03-08-2009, 12:06 PM
You got me there :) I study mathematics, and I have a course in statistics and time series analysis behind me.
It is not possible to quantify the uncertainty, it have to be measured or know. Yes, you measure the uncertainty with equipment that you know is more precise than the one you want to know the uncertainty for :)
As for this test with power measurement, I don't how how they where measured or with what equipment, but without that information the test is useless, and it doesn't tell anything.
If this is not possible, as it sometimes is, you have to do more than 28 measurements for each point. Why 28, because then you are in the 95% confidence interval.
Which means that there is a 95% change that what you have measured is the right values.
100% is impossible. That formula doesn't allow this.
The Phononix test suite is worth nothing (sorry to say so) to anyone with an engineering background. The results doesn't tell a damn thing. :)
i joined the forums just to answer this :P
i would agree with you in general but in this particular case you're blowing it out of proportions. If you look at the plots, and consider that are made out of lots of data, they are as smooth as silk. The variance of the error is really, really small to the point that if there were error bars you wouldn't see them.
on the other hand, the eventual bias will act in the same way to the two set of measurements and thus can be disregarded.
but yeah, error bars would give more justice to the plots in general.
maybe you should contribute to the project and add them ;)
Test does not account for video cards that actually lower clock speeds and voltage with PowerPlay. As somebody compared, the X1950Pro doesn't, but 4850 does. Thus power consumption is nearly same on X1950, but a lot less idle consumption with fglrx on 4850.
And Had we manually lowered the PowerPlay state, which reduces the frequencies that the GPU operates at along with its voltage, we would have certainly seen a lower power consumption, but at a lower frame-rate. PowerPlay lowers clocks in idle without noticeable slowdown
korpenkraxar
03-09-2009, 11:42 AM
From the article:
Had we manually lowered the PowerPlay state, which reduces the frequencies that the GPU operates at along with its voltage, we would have certainly seen a lower power consumption, but at a lower frame-rate.
Yeah that is most likely the case and I am pretty sure I know why you guys did not report anything on that. I installed the fglrx 9.2 driver on my Thinkpad Z61m with an X1400 graphics card running Arch Linux and tried:
aticonfig --set-powerstate=1
a few times. Instant and consistent crash each time! Seriously did you try changing the power state on that laptop and did it work?
From the article:
Yeah that is most likely the case and I am pretty sure I know why you guys did not report anything on that. I installed the fglrx 9.2 driver on my Thinkpad Z61m with an X1400 graphics card running Arch Linux and tried:
aticonfig --set-powerstate=1
a few times. Instant and consistent crash each time! Seriously did you try changing the power state on that laptop and did it work?
Hey Guys,
This article is really pointless, because it doesn't address power management. With aticonfig --set-powerstate=1 on my laptop I got a huge power saving, (around 7W) as measured in powertop and through battery life over the default settings you tested.
My laptop also ran much cooler and quieter.
(Laptop is hp nx8420 with X1600)
vBulletin® v3.8.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.