Original Link: http://www.anandtech.com/show/1882
Adapting to Parallelism: Catalyst 5.12 More Dual Core Friendly?by Derek Wilson on December 4, 2005 10:45 AM EST
- Posted in
Friday afternoon we got an email pointing us to the latest beta driver from ATI. One of the key features of this driver is a performance boost for dual core systems. Building a driver to take advantage of parallel processing is quite a task, and extracting any noticeable performance gain out of it is even more difficult. So we are here today to see just what ATI has gotten out of their efforts thus far.
Admittedly, the highest performance gains come from low resolutions without antialiasing. It stands to reason that the more CPU limited a test is, the more benefit the game will get from freeing up CPU resources. The real benefit to end users if only lower resolutions benefit is questionable, but every step helps. With the future of computer hardware firmly planted in parallelism, the burden of improving performance shifts a little further towards software developers. Coming up with new and interesting ways to parallelize code efficiently is going to be quite a new task for desktop software programmers to tackle. And in the end, Amdahl's Law reminds us that we are still limited by the benefit we can get from parallelism. The percentage of code that must remain sequential will become the limiting factor. But every little bit of parallelization still helps.
There are really quite a few questions to be asked about this driver. After adding up everything we wanted to do, the sheer number of tests we had laid out was enormous. In an effort to be more efficient ourselves, we decided to break our analysis of the 5.12 driver up. This article is meant as a quick look at the benefits of ATI's dual core enhancements on a few select games running on X1K series hardware. We will compare this driver to the old one as well as dual core performance to single core performance.
Our next look at the 5.12 driver will include a comparison to NVIDIA performance in single and dual core systems, more than one ATI card, more games, and as many more things as we can pack in. Of course we are open to suggestion. But for now, we'll take a look at what we've got to work with.
For our test setup, the only thing that's really changed is our use of the AMD Athlon 4600+ in the system. In order to compare dual core and single core numbers, we setup a multiboot by adding another option to our boot.ini file. Microsoft provides quite a few convenient boot options, including the ability to specify exactly which kernel and HAL to load. We opted to use the easier /ONECPU option which forces multiprocessor systems to ignore all but a single processor. This should give us essentially the same result as testing a 3800+ single core when used on our 4600+ system (2.4GHz with 512kb cache).
|CPU:||AMD Athlon 64 X2 4600+ (2.4GHz/512kb)|
|Motherboard:||ASUS A8N32-SLI Deluxe|
|Chipset:||NVIDIA nForce4 SLI X16|
|Chipset Drivers:||nForce4 6.82|
|Memory:||2x 512MB OCZ PC3500 DDR 2-2-2-7|
|Video Card:||ATI Radeon X1800 XL|
|Video Drivers:||ATI Catalyst 5.11 (WHQL)
ATI Catalyst 5.12 (Beta)
|Desktop Resolution:||1280x960 - 32-bit @ 85Hz|
|OS:||Windows XP Professional SP2|
|Power Supply:||OCZ PowerStream 600W PSU|
ATI singled out Battlefield 2 and FarCry as games that got the best boost from the driver, so we absolutely wanted to include those in our first look at this new driver. To try to get a balanced view, we also included the two other games: Day of Defeat Source and Quake 4. As the driver gets nearer to release we will work on looking at more cards, more games, and more settings, but hopefully this quick test will answer the most pressing questions.
Performance Comparison: Cat 5.11 vs. Cat 5.12
The first thing we wanted to look at is the difference in scaling between driver versions. The following tables will show percent performance improvement of the beta 5.12 driver over that of the 5.11 driver. We will show performance improvements for both single and dual core configurations when moving to the beta driver.
While these numbers are, in fact, what users of single or dual core systems will experience when upgrading to newer drivers, there are other useful bits of information we can extract from them. We will be keeping an eye out for cases where the 5.12 driver performs worse than the 5.11 driver (these will be negative percentages in our tables). If, for instance, one tests shows the 5.12 driver doing worse in a single core platform and better in a dual core platform, we can discount some of the "value" of the dual core performance improvement as it's just making up for the performance hit on the single core side.
And as we can see from our Battlefield 2 test, The 5.11 driver performs as good as the 5.12 driver with no AA in 3 out of 6 tests. In the 8x6 case, the 5.11 driver handily bests the 5.12 beta. Enabling dual core allows the 5.12 driver to make up more than the ground it looses in single core performance, but the trade off just doesn't look good from this test.
|Battlefield 2 Percent Increase (Cat 5.11 to 5.12)|
And if you didn't think things could get worse, then just glance at the next table. The 5.12 driver tanks across the board on 4xAA performance under BF2. There isn't much more to say about this one.
|Battlefield 2 4xAA Percent Increase (Cat 5.11 to 5.12)|
Without AA, playing DoD:S, the 5.12 driver performs almost identically to the 5.11 driver on single core systems. Flipping the switch gives us an instant boost at 8x6 and 10x12, and even a little nudge in the right direction at 1600x1200.
|Day of Defeat Percent Increase (Cat 5.11 to 5.12)|
Enabling 4xAA doesn't seem to change much. We see a little more benefit (percentage wise) when using 5.12 under dual core in 800x600 and 1600x1200, but the gain over 5.11 at 1024x768 drops a little. Either way, Day of Defeat Source seems to show that theres definitely a little benefit to be had by upgrading dual core systems to 5.12 from 5.11 drivers.
|Day of Defeat 4xAA Percent Increase (Cat 5.11 to 5.12)|
There are a few cases where the 5.12 driver improves performance in FarCry over the 5.11 even without the aide of dual core. Even though we see high percentage improvement with 5.12 under dual core, some of this could be general improvements to the way ATI handles the game.
|FarCry Percent Increase (Cat 5.11 to 5.12)|
Again, even with 4xAA FarCry benefits from the 5.12 drivers in 4 out of 6 tests (with both of those tests being much more GPU limited at 1600x1200).
|FarCry 4xAA Percent Increase (Cat 5.11 to 5.12)|
There isn't much to say other than there isn't any improvement under Quake 4 when upgrading to the 5.12 drivers.
|Quake 4 Percent Increase (Cat 5.11 to 5.12)|
Which brings us to the test with the least change of all: Quake 4 with 4xAA.
|Quake 4 4xAA Percent Increase (Cat 5.11 to 5.12)|
Now let's take a look at performance improvement from a different perspective: improvement of a dual core system over a single core system.
Performance Comparison: Dual Core vs. Single Core
The next step in our performance analysis is to look at the improvement we get when moving to dual core from single core. These will likely be the numbers ATI quotes in their marketing literature, as they will show the gain in performance with a particular driver when moving from a single core environment to a dual core. These numbers have the potential to be large because the games themselves could benefit from dual core processors (though not many do).
We will be able to spot games that already get a performance boost from dual core due to our Catalyst 5.11 data. The 5.11 driver doesn't have multiprocessing optimizations, so games that show a performance boost under this driver are getting that performance boost from the way the game is written. Combining this knowledge with what we learned in the previous section should help us understand where ATI has succeeded and where they still need some work.
Dual core processing lends a hand to the 5.11 driver at 10x7, and has a bigger effect at 1600x1200 than it does on the 5.12 driver. But at 800x600 the 5.12 driver performs much better when running on a dual core system, especially when compared to the performance drop on the 5.11 drivers.
|Battlefield 2 Percent Increase (Single core to Dual)|
|Catalyst 5.12 (Beta)||18.19||6.66||0.84|
Enabling 4xAA takes away any real advanage in scaling the 5.12 driver had over the 5.11 catalyst. Combine this with the fact that the 5.12 just performs worse than the 5.11 driver with 4xAA, and anyone who plays BF2 with AA on will not be to pleased.
|Battlefield 2 4xAA Percent Increase (Single core to Dual)|
|Catalyst 5.12 (Beta)||2.8||1.87||1.2|
We can plainly see that dual core helps the 5.12 driver and not the 5.11 driver under Day of Defeat with no AA. These are some good gains, especialy in light of how well the 5.12 does compared to the 5.11 (as seen on the previous page).
|Day of Defeat Percent Increase (Single core to Dual)|
|Catalyst 5.12 (Beta)||6.51||6.54||1.52|
Even with 4xAA on the 5.12 driver scales well with CPU power. most impressive is the nearly 3% gain at 1600x1200.
|Day of Defeat 4xAA Percent Increase (Single core to Dual)|
|Catalyst 5.12 (Beta)||6.89||4.5||2.93|
The table for FarCry lets us know that both drivers seem to benefit from dual core processing. The 5.12 driver certainly improves the leap over single core performance, but not all the glory should go to the new dirver. The larger percent increase can be attributed to the game itself benefiting from dual core systesm
|FarCry Percent Increase (Single core to Dual)|
|Catalyst 5.12 (Beta)||12.44||6.95||3.99|
The returns are a little diminshed with 4xAA enabled, but its easy to see that there is still more of a benefit under the 5.12 drivers.
|FarCry 4xAA Percent Increase (Single core to Dual)|
|Catalyst 5.12 (Beta)||7.5||5.7||0.57|
These two tests again show no performance difference or issue.
|Quake 4 Percent Increase (Single core to Dual)|
|Catalyst 5.12 (Beta)||0.27||0||-0.16|
|Quake 4 4xAA Percent Increase (Single core to Dual)|
|Catalyst 5.12 (Beta)||-0.21||0||0|
Battlefield 2 Performance
This is one of the games that ATI says will see the biggest benefit from their new driver. Again, remember that the biggest gain will be at CPU limited resolutions. We should hope that in these test the Catalyst 5.12 beta driver running on the dual core system would perform at the top of the list.
Unfortunately, these first two tests (8x6 and 10x7 with no AA) are the only ones that the 5.12 driver running on a dual core system performs where it should.
Day of Defeat: Source Performance
We found Day of Defeat: Source to be the benchmark that sees the most consistent benefit from the 5.12 driver and dual core. As is plain from the graphs, performance on the dual core system under the 5.12 driver is on top in every test.
This could indicate that Day of Defeat is CPU limited all around and so gets a good boost from the more efficient use of resources. Of course, even under the 5.12 driver the game is still very CPU limited at low resolutions.
FarCry has ended up looking a lot like Day of Defeat. We see that most of the tests are lead by the new driver on a dual core system. The only test that really falls short isn't really a failing. At 1600x1200 with 4xAA all the tests are pretty GPU limited. This game does benefit a little from dual core processors on its own. We can see that in the way the 5.11 dual core test shows a performance increase over the single core test -- without any driver specific optimizations.
Quake 4 Performance
Really, there is unfortunately little to report here. It doesn't look like this test benefits at all from the updated driver. This leads us to wonder if OpenGL games benefit from it at all. We will definitely add another OpenGL test to our next review in order to find out.
For a quick overview:
* Day of Defeat showed that the new (non-public) beta 5.12 driver offers a small but consistent lead in each resolution and setting we tested.
* FarCry shows solid performance gains from dual core even without the driver enhancements (though the 5.12 driver does add a little performance of its own). At 16x12 w/ 4xAA the performance gain becomes negligible.
* Battlefield 2 shows none of the AA modes performing as well with 5.12 as with 5.11, and only the 800x600 mode shows a performance gain worth writing home about.
* Quake 4 shows no significant gains or losses due to the 5.12 driver or dual core.
The quick and dirty assumptions we can make are that Day of Defeat and FarCry have the most to gain from additional CPU performance here. It seems the way the new driver does AA is not as efficient in Battlefield 2. We will also venture a guess that ATI has not focused on optimizing their OpenGL support for dual core. Every other game showed some sign of significant improvement at 800x600, but Quake 4 didn't gain anything from the new driver. Of course, we will have to do more testing to really solidify our guess about OpenGL, and adding a few more games to our analysis will definitely be a good thing.
We are in the midst of testing the driver on older ATI hardware, midrange and low end parts, Intel dual core CPUs, and more. It's going to take us a little while to get this done, but hopefully this quick look is enough to tide everyone over and give us a good idea of what's going on.
Our conclusion after these brief tests is that the new driver is a good first step in the right direction, but that the benefit to end users is minimal at best at this stage. The real benefit will come in when game developers start working on parallelizing their code as much as possible. With FarCry we've seen that it can have an impact on performance, and, like we said, every little bit adds up.