The last time we chatted about all things ATI we wanted to look under the IHS and, when it comes to the intricacies of Radeon silicon, there's no better person to ask than Eric Demers. Of course, hardware without good software is more or less useless, so it's time to peek into the .DLL ... we've chosen the best person to tell us about the reasons for which Gothic 3 still has no CF profile (:P): Andrew Dodd.
We could tell you many things about Mister Dodd, but we won't since he's quite able to introduce himself:
My official title is Software Product Manager and my role is divided into two major parts. Internally, I develop the ATI Catalyst Strategy, define software requirements for new features, work with various software development teams, and lead other major software marketing initiatives (this year's big project is Windows 7 for example). Externally, it's mostly communication focused – creating and giving presentations, working with press and, of course, giving interviews. ;-)
Before proceeding, we'd like to add that he's the guy that has the pleasure of being the first to hear about the things we've managed to break during testing. He's also a very nice guy, and not just because he puts up with our antics. Keeping that in mind, time to see what we managed to uncover!
Rage3D: Hello Andrew, it seems we finally get a chance to pick your brains! Before we get to anything else, we'd like to congratulate you on recently unlocking the “Be a father” achievement :)
Andrew: Thanks very much for giving me the opportunity to give you an update on all things related to ATI Catalyst! Fatherhood is a fantastic experience, but can also be a little tiring to say the least!! ;-)
Rage3D: You've been with ATI for quite a while, haven't you? What was it like back in the day, when you were “haxxoring” Radeon 8500 drivers, compared to how things are currently, as you're trying to get the best out of the 4800 Series?
Andrew: Yes I’ve been with ATI, and now AMD for 8 ½ years!! It’s pretty amazing how many product launches I’ve gone through. At the time of the ATI Radeon 8500 launch, ATI Catalyst didn’t even exist yet, so things were definitely a little more challenging. At this point our software team is like a well oiled machine, everything runs very smoothly, and as you know we’ve been posting monthly drivers for the last several years now. So developing drivers for the ATI Radeon HD 4800 Series (although it’s still a significant effort) went quite smoothly.
Rage3D: Tied to the above: how large is the driver team nowadays? Would you consider costs and complexity of driver development to follow a linear evolution throughout time, or a non-linear (insert your favorite non-linear function here) one?
Andrew: I’m not sure what algorithm best represents the growth of the software team ;-) but I can tell you that our software team is approaching the size of the hardware team, so that gives a great indication just how important software is in delivering the final product.
Rage3D: Why Catalyst? Why still Catalyst, after all these years? (the naming is the object of this question)
Andrew: Catalyst is a great name, I think it quite nicely reflects the role the graphics driver plays in the graphics accelerator and PC ecosystem, so why change something that works so well?
Rage3D: The monthly release schedule you've committed yourselves to has come under scrutiny in recent times, with claims that it's reducing the overall quality of your drivers/making your validation process too cursory - how would you reply to that? Do you still think monthly releases are the way to go? Could you quantify how demanding it is for you guys to meet that fairly lofty goal?
Andrew: I think our commitment to deliver a new WHQL certified driver update every single month is great thing for our customers – they know every single month they’ll get a new driver that may improve performance, or deliver a cool new feature, or fix a certain issue they may be seeing. It requires a lot of development and testing time, but it’s a great benefit to our users, so we’re committed to continuing to deliver ATI Catalyst updates every month.
Rage3D: Is it harder for the driver team in the context of the so called “Sweet Spot” strategy, which relies on multi-GPU solutions to claim the high-end? Multi-GPU solutions that are bound to require a tad more software work.
Andrew: We have a software team dedicated to ATI CrossFireX support, so it doesn’t make it any harder using a Multi-GPU solution for our top end products. In fact in certain ways it makes it easier overall because once you’ve got a single GPU performing well, in many cases those optimizations will just automatically work for the multi-GPU case (obviously this requires the CrossFire infrastructure to exist in the first place).
Rage3D: Could you describe the exchanges you typically have with the hardware guys? Namely, after they see you “bug” their lovely transistors, do they come into the office wielding axes? Or, if the reverse happens, and you squeeze an unexpected +200% performance boost, do they bring the champagne? :)
Andrew: Everyone works very closely, and everyone is trying to help and work together to deliver the best product we can, so it’s really a team effort the whole way.

Rage3D: Some love the Catalyst Control Center; others hate it with the burning passion of a thousand suns - how do you feel about it, now that quite a while has passed since its release? Do you still feel it has room for growth? Are there things you'd like to see in that are still missing?
Andrew: There were two major factors that held back the ATI Catalyst Control Center when it first launched: 1) its performance was slow, and 2) it required .NET to be installed, which was a hassle at the time under Windows XP. We resolved the performance issues that existed with CCC a long time ago, and all of our XP users now have .NET installed, and of course Windows Vista includes .NET as part of the OS, so that’s not a problem any more.
There are always more features I’d like to add to CCC (and of course I can’t talk about upcoming features), and it’s something that’s going to continue evolving – there will never be a time when CCC is complete, we’ll always continue to add new features and make UI changes/tweaks.
Rage3D: Optimizations are still a stingy topic, after the dark-ages of Quack/3DMack. Would you mind explaining to the world why they are quite necessary, as long as they are proper optimizations and not IQ degrading hacks, and how often you have to go fix somebody else's less than great approach?
Andrew: This topic has been covered a great deal over the years and the answer is still the same – driver optimizations are necessary and a great thing as long is it improves the performance of the application without affecting the image quality is any negative way.
Rage3D: Support for end-user created/controlled Crossfire profiles: Terry was talking about this years ago, before the Vista launch. Time has passed, you've implemented the “Sweet Spot” strategy, and still end-users have to wait for driver updates and/or rename exes if their favorite game lacks a CF profile. Why this long delay? Why were you opposed to exposing such capability, given the fact that your competitor has offered it for a very long time?
Andrew: Yet another reason why monthly ATI Catalyst releases are a great thing – we can provide new ATI CrossFireX profiles on a monthly basis to support the latest titles. We’re also looking into different mechanisms to get profiles even more quickly to end users, but I can’t really say much more than that right now. :)
Rage3D: Also tied to the topic of optimizations: do you feel that having everything tied to the Catalyst AI is still a viable alternative? This creates the premise for someone completely turning it off in order to get perfect filtering or whatever, and thus killing a lot of valid, per-application optimizations and badly affecting performance. Don't you feel the market is mature enough to have separate knobs for more mundane optimizations, like those pertaining to texture-filtering? And wouldn't it be more prudent to keep the per-application optimizations/fixes in an always enabled state?
Andrew: I don’t think users have much to gain by adjusting so many different settings – one of our key messages behind Catalyst AI is that every optimization we do only enhances the performance of applications with absolutely no degradation in image quality, and users can verify this for themselves by comparing an application with Catalyst AI on vs. off.
Rage3D: Why aren't you allowing the disabling of Crossfire on X2 cards? That creates issues when CF downgrades performance.
Andrew: We want to make the experience as seamless as possible to the end user, our customers shouldn’t have to worry about how many GPUs are on their graphics accelerator – as long as it delivers a great experience, that’s all that counts. For the rare cases where an application has not been profiled, and does lead to slower performance, we always try to fix this as quickly as possible through our monthly ATI Catalyst updates.
Rage3D: Are we heading for a sane future in which the end-user almost never goes to the CCC/Control Panel, and controls all features like AA/AF/whatnot via the application itself (the application being able to correctly query capability of the driver+rendering device combination), or are we bound to devolve into the madness of adjusting everything in the Control Panel, like, for example, the terms of the lighting equation or the lighting equation itself , over-ruling whatever the developer had intended?
Andrew: I think there’s a happy balance here; some applications have a lot of controls built in, and others still rely on some form of 3rd party control panel – but remember there is a lot more than just 3D settings in the ATI Catalyst Control Center – it’s used to configure all of your display settings, video settings, HDTV modes, color settings, Overdrive, Powerplay settings, and HydraVision settings.

Rage3D: What challenges are being brought up by the impending releases of OpenCL / Win 7 (DX11)?
Andrew: I can’t go into any specifics as I’ll get shot if I give too much info away :), but the biggest challenge with supporting any new API is the “newness” of it - there are always a great number of new features that need to be supported and tested. That being said, AMD of course has entire teams of developers working on both OpenCL and DirectX 11 support.
Rage3D: Speaking of Win 7, are you by chance changing the way you are handling memory management as you're moving to WDDM1.1? Tests with your 9.3s seem to indicate certain benefits in that area versus Vista.
Andrew: There are some memory management changes that occurred in Windows 7 (we worked with Microsoft on this) – but yet again I can’t go into too much detail on this one as it involves Microsoft technology as well. Needless to say, as you’ve already seen in your testing, gaming performance is already faster in many cases with a ATI Radeon accelerator under Windows 7 vs. Windows Vista, so things are looking really good for users with an AMD platform and Windows 7.
Rage3D: The now infamous SidePort on the R700 - we asked Eric Demers, a hardware guy, so now it's time to ask someone from the software side: what's up with it? Reformulating, we'd assume that someone asked for it and was pretty persuasive when it came to outlining potential benefits - why is it still a dead piece of silicon? Do you feel it will see use some day, or it will end up as being an idea that looked good in theory but failed to execute in practice?
Andrew: The hardware team packs a ton of great technologies/features into our GPUs, and our software team always tries their best to support as many of these features as possible, but AMD doesn’t have an infinite number of resources, so we can’t always implement every single feature found in the hardware. In addition, we achieved the performance gains we thought might require Sideport by other methods, obviating the need to also implement Sideport. For now, we’ve left that technology on the back burner.
Rage3D: You've recently added multi-threading to your DX10 drivers - would it be possible to detail exactly which aspects of the driver are being threaded?
Andrew: you know I can’t go into details like that!!! ;-) That’s proprietary info.
Rage3D: Micro-stuttering, the much talked about side effect of using AFR, is alleviated by faster cards, but still not vanquished entirely - do you feel that a software solution (perhaps some sort of heuristics based algorithm that adjusts the inter-frame delay between frames n and n+1 based on the delay between n-1 and n?) can be implemented? Or will it take a change in how scaling the workload to multiple GPUs is handled?
Andrew: We believe that our Crossfire solution (which uses AFR) delivers a great user experience, and that the micro stuttering issue isn’t really an issue at all for end users – In fact I can honestly say that it can’t be seen at all. We’re of course always looking at enhancing our CrossFire design, but again, I can’t comment on any specifics, for obvious reasons.
Rage3D: Lucidlogix Hydra: do you think it can work/change the landscape forever? Some of their patents/papers, are public, and information about their algorithms are supposed to function can be gleaned with ease.
Andrew: Sorry I can’t comment on another company’s technology.
Rage3D: Can you detail the process involved in hunting for bugs/developing a fix/validating it/getting it into a WHQL driver release? Also, which are the criteria based on which you select the titles that are included for regression testing?
Andrew: AMD’s qualification process for our graphics driver is a very involved process – we have a full team of testers running a huge number of test cases, who are in constant contact with our development team to help them resolve any issues they may be seeing. We’ve got a huge number of titles we test with every month (We make sure to test the big titles as well as the less popular ones), and we of course add new titles every month. That being said we also have to remove older titles after a certain amount of time, as the list of titles would just get completely unmanageable.
Rage3D: GPU accelerated video transcoding via the Avivo Video Transcoder - that release didn't go too well, did it? What was the reason for the initial mix-up/the incompatibility with Vista X64? Also, there's a mantra that GPUs are wonderful for video encoding as a whole- is that correct? From where we're standing, it would seem that GPUs should be really good for Motion Estimation, but other aspects of video encoding like CABAC, in the case of H264, are anything but GPU friendly. How are you approaching this in AVT?
Andrew: AMD decided to stagger our launch of Avivo Video Transcoder and get it out as soon as possible. To do that we decided to launch with a beta of the Windows Vista 32-bit version first. You will see a new version being released in the near term that will make users very happy (and will include Windows Vista 64-bit support). There are situations where the CPU is better suited for tasks, but that’s what makes AMD such a great solution and unique company – only AMD can deliver full platform solutions - featuring great graphics accelerators and great CPUs, so users don’t have to worry about what runs better on a CPU or GPU.
Rage3D: What was the best moment in your ATI career (up to now, of course)?
Andrew: hmmm …. This is tough one; there have been so many great moments. I can’t pick one in particular, but each year we always release one special ATI Catalyst that we really try to make amazing for our customers (usually it includes a lot of performance enhancements and a ton of new features). Working on those releases is really great, because you know once it’s released to the public, literally millions of people will benefit from all the work that we’ve put into them.
Rage3D: What's your favorite game?
Andrew: To be honest, I haven’t really have too much time to play games in the last few months, but I’ve had a chance to play the DirectX 10.1 version of Stalker Clear Sky and love it!.
Rage3D: What's your home PC's configuration?
Andrew: I’ve got an AMD Dragon platform at home, which is a great PC for gaming!
Rage3D: Thanks Andrew, it's been great chatting with you!
Andrew: My pleasure and thanks for all the great questions!
