Today were taking a look into the tweaking niche that has enviably developed around AMD’s (NYSE:AMD) Fusion APUs. Initially the tools that were available for modifying the dividers and voltages of AMD’s Zacate and Llano APUs were carry overs from the Phenom II era, like K10Stat or PhenomMsrTweaker v1.2. But as Zacate and Llano market share has increased so has the number of people interested in writing tweaking tools for these chips.
We’re going to be looking at a pair of these tweaking tools and testing one of them out. The first is called BrazosTweaker and the second is called FusionTweaker. Oddly enough, BrazosTweaker is an application that’s designed to work with any PC based on AMD’s first APU. FusionTweaker, on the other hand, is designed for all your Llano tweaking needs.
Now the main purpose of both these tools is to modify the voltages and clock dividers of the built-in P-States on these chips. P-States are the different power states that the chip chooses from based on the current workload. They are part of the power management technologies that Intel calls SpeedStep and AMD calls Cool’n’Quiet. The Zacate chip has three CPU only P-States and two Northbridge, which includes the memory controller and GPU, P-States. Llano based chips are significantly different beasts than their Zacate brethren due to additional P-States and even a Boost state. Notably, we chose not to do our testing on a Llano based laptop due to some logistical problems in our orbital laboratory. Hopefully, we’ll be able revisit FusionTweaker and do some testing at a later point in time.
This is the interface that you’re initially greeted with when you launch BrazosTweaker. The core clock readouts are located just above the row of tabs. These can tell you the current P-State, the small number, and the current clock, the large number in MHz, of your APU. Something to take note of is the “Always on top” check box, which is useful when you’re running multiple stress tests and modifying voltages. Also, I’ve highlighted the voltage setting box, which is probably the most important setting that this tool can change. Just above the voltage selection box is the clock dividers which are user configurable. So if you’re looking to under-clock your APU in addition to dropping its voltage this is one way to go about it.
BrazosTweaker includes a couple of temperature monitoring services including one that reports the Northbridge temperature. It also has an extremely useful drop down menu that instantly changes the Windows power plan. This allows you to force the P0 state on both the CPU cores and the Northbridge by selecting the High Performance plan.
What we’re looking at here is the status tab. It’s basically a debug page. The two useful options here are the “Reset P-States” button which brings everything back to their defaults and the “Log now” button which creates a rather self explanatory log of the applications status. From here the rest of your experience with this tool will depend on how over-volted your APU is and how far you’re willing to push the settings down.
Background with the creator
We had a chance to get some background on these tools from their creator Sven Wittek. We asked him about the development these tools, his motivations for creating them, what his plans are for these tools as we move into the future.
Basically I was using a tool, RMClock in the past to fine tune and monitor the temperatures of my older desktop CPUs. Sometime ago, I got a laptop with an AMD Phenom CPU. I wanted to reduce the temperatures and increase battery life. Since RMClock was not available for AMD Phenom any more, I was looking for an alternative. I found a tool called PhenomMsrTweaker, which I really liked after a while for its usability and the built-in service. The same tool is running on my desktop now and I’m very pleased with it.
A little later in April 2011, I bought a netbook with an E-350 APU. I liked this netbook a lot and I was looking for further improvements in battery life with lower temperatures, but there was no tool yet to do that in an easy way.
Because I already knew that the PhenomMsrTweaker tool is OpenSource code, I decided to try my luck and get the PhenomMsrTweaker adjusted to fit the Brazos platform. I was really inexperienced in the programming languages that it used (CSharp and C++ combined) and the details of how to control the processor registers. With the help of programming books, the BIOS developer guide from AMD, and a lot of my free-time I finally got an initial program, which was almost fully working. The first versions were still called PhenomMsrTweaker, but sometime later I found Google Code and started the BrazosTweaker project there. I made some posts in German and US forums to get some feedback, and people found the program quite handy.
After that, a few people started to ask if I could try to get the same done for Llano APUs. Since I haven’t got a Llano system, I tried to adjust the program blindly and let other people give it a shot, while using their feedback to wipe out bugs. Unfortunately that didn’t work out too well. The first versions of FusionTweaker were only partly working. Luckily in September, I had the chance to get my hands on a Llano notebook for a while to fix bugs. Now the released version is much more stable, but it still has some minor issues.
A few weeks ago, I started to work on merging BrazosTweaker and FusionTweaker into one. I’m doing this, because that’s the only way to maintain the code in the future. Once I’m done, I’ll have just one program to focus on and then I can easily add new designs (i.e. Bulldozer, Trinity). It should also make it possible to add functions that users have already have asked for.
Sven’s tool looks to have a bright future with a growing user base, planned support for upcoming APUs, and a congenial development history. If you’d like to give him a hand you can head over to his Google Code project and give him some feedback on his tools. We talked with Sven a bit further and learned that he’s planning on calling the combined tool FusionTweaker. So that’s the name that you’re going to want to Google down the road. Again, thanks to Sven for taking the time to give us a little background on his pet project and you can bet we’ll be downloading his new combined tool as soon as he finishes it.
The X120e Test
The platform I tested on was the Brazos based Lenovo X120e from our review back in June. This little ultra-portable is still pretty snappy and seems to have lost little of its initial charm from my original March 2011 purchase. After playing with BrazosTweaker and stress testing for the better part of six hours I ended up dropping the voltages on my APU’s P-States by an average of just over 15 percent.
For testing the stability of the P0 state on my Brazos chip I ran Prime95’s “blend” stress test which puts a heavy load on both the CPU cores and the memory controller.
I watched both the CPU-Z readouts and BrazosTweaker’s P-State read out while I was doing my test and noticed that the chip rarely dropped into its P1 state, and when it did so it stayed there only briefly. Based on that finding I decide not to tweak the voltage of the P1 state past the safe voltage of 1.0500 recommended by Sven in the user guide.
For the P2 state I looped YouTube user AMDUnproccessed’s AMD Fusion video playlist. This put a light enough load on the CPU cores to keep them from jumping out of the P2 state, while at the same time ensuring stability by putting a workload on the cores. It also bumped the Northbridge into its P0 state due to GPU based flash video acceleration.
To ensure the stability of the Northbridge in its P0 state I ran Prime95’s “blend” stress test and MSI Kombuster’s DX11 GPU burn-in test with 4x AA, Post-FX, and at the X120e’s native resolution of 1366 by 768. Running these stress tests at the same time put a heavy load on both the memory controller and GPU. MSI’s Kombuster application was giving a notably higher GPU voltage readout than the setting I had chosen in BrazosTweaker. I couldn’t verify the actual voltage of the Northbridge with CPU-Z do to a lack of Zacate support in that application. But I am going to assume that BrazosTweaker was giving me the correct voltages, because the system would crash if I went any lower than 0.8000 volts.
For my P1 Northbridge stability test I looped an Aero flip windows scroll comprised of 12 different applications. This put a small enough load on the Brazos GPU to ensure stability, without bumping the Northbridge into its P1 state. Unfortunately, BrazosTweaker doesn’t have full support for my X120e. So in addition to the tool being unable to report the temperature or fan speed of the system, I wasn’t able to change the voltage of Northbridge’s P1 state. As evidenced by my ability to set and apply a ridiculously low voltage which should have crashed it. Obviously changing the voltage of the Northbridge P-States on Zacate is finicky business.
Making Things Permanent
Brazos and FusionTweaker both include the ability to create a service in Windows that will apply your tweaked settings. This is a feature I chose to explore in my testing and will be using for the foreseeable future on my X120e.
When you click on the “Service…” button next to the “Apply” button at the bottom of the window it launches this new window. The first thing that you’re going to want to do here is to transfer your tweaked settings into this service by hitting the “Update” button. This will load the current configuration data from BrazosTweaker. My data is shown under the first check box. Certain newer Zacate models, namely the E-450, E-300, and the C-60 offer a small turbo function. The X120e’s E-350 does not support that function and thus it’s not configurable.
BrazosTweaker gives you the ability to replace the functionality of Cool’n’Quiet with its software service. As you can see it gives you quiet a bit of control of the whole power management process. But in order for it to work you need to disable the hardware version of Cool’n’Quiet from your PC’s BIOS. I chose not to play with those settings in my testing as AMD seems to have defined pretty good power management parameters already.
Now to create the service. You can finish the process by hitting the “Apply” button. If you feel that you’ve made a huge mistake by making your new settings permanent you can always hit the “Reset P States” button at a later point in time.
Here’s the Windows service that BrazosTweaker spawns in Task Manager. The service will start when Windows boots and quickly apply your settings.
Overall working with BrazosTweaker was a rewarding experience. It’s less complicated than using an application like AMD’s Overdrive, (which doesn’t work on the Brazos platform) but at the same time maintains a high level of functionality. If you’re trying to play with the voltages on a Brazos chip, this is the tool to use. Kudos to Sven for spending his free-time writing a tool that has without a doubt made AMD’s APUs a more interesting proposition for those who really care about tweaking things to their limits.S|A
Updated: January 16th, 2012 4:45pm. Removal of employment information, this is a side project of the coder.