Continued from page 1
CB: Since Apple is such a heavy user of the GPU in their own Pro apps and in Mac OS X, they are keenly aware of the power that GPUs bring to the table, and have been putting more and more GPU muscle into all their machines. Apple’s lineup the past two years has been particularly strong. For example this year Apple is shipping Mac Pros, iMacs, MacBook Pros and Mac Minis powered by AMD Radeon HD 5xxx and 6xxx generation GPUs. For all these products Apple has reported 2x – 3x speedups in graphic performance over the previous models. Review after review has commented on how strong these machines are in games and Pro app performance. Of particular relevance to Mac professional users, several reviews benchmarking Pro apps have shown that the current high end AMD Radeon HD 5870 holds its own against bigger and considerably more expensive competitors. (see image on title graphic and below)
AFR: Yes, I have read some excellent reviews of the latest AMD Radeon cards and they are impressive in many areas. I can also see that in the latest machines (in particular the iMacs) you can now get Radeon’s with up to 2 GB of video memory…which addresses some of the issues in the reviews.
I would like to switch gears here a bit and talk about OpenGL. In the past we have spoken about Apple’s influence on OpenGL development. At that time you gave us technical examples of how they used their Pro apps to push the envelope. Do you still feel today that Apple is driving the boundaries of OpenGL or have things changed?
CB: I have recently been thinking that OpenGL is a little like the elephant in the parable about the six blind men: OpenGL is so big and encompasses so many parts, that it’s hard to get the measure of all of it, and people who only experience part of it will give wildly divergent descriptions. Is it an API for high throughput geometry processing? Yes. Is it a games API? Yes. Is it an API for video effects? Yes. Is it a 2D compositing API? Yes. Is it a hardware access layer? Yes. Is it a hardware abstraction layer? Yes. It is all of these things. Also, OpenGL is so rich that the possible permutations of API calls is essentially unbounded. We run literally hundreds of thousands of test cases every day to make sure our code changes don’t break anything. I say all this because there is simply an infinite amount of work required to achieve the Platonic ideal of the perfect OpenGL driver. It’s not just at the boundary that there’s work to be done, but everywhere within the envelope as well.
Over the past couple of years Apple has been strengthening and refining the OpenGL implementation on the Mac and inventing new ways to leverage OpenGL in Mac OS X, and in their iApps and Pro apps. For example, in Snow Leopard Apple created the IOSurface Framework to allow efficient sharing of graphics content between different programs. For Lion Apple extended IOSurface to enable Launchpad and Mission Control, and also released OpenGL 3.2 support. Another example of this kind of internal strengthening of AMD’s Mac drivers are the very large speed boosts that we delivered in the Snow Leopard Graphics Update 1.0 released in August 2010.
Those driver changes bumped us up to a higher plateau of performance, so that when Portal 2 shipped on the Mac in April 2011 it was not so surprising that high resolution performance on the Mac was largely on par with performance on Windows 7. Are we on par in every game, or at every resolution? Not yet… remember the elephant.
As for moving technology forward, Apple continues to be a very active member of the OpenGL ARB, and given their strong position in the handheld space, they are a driving member of the Khronos OpenGL ES working group. Apple’s pushing the envelope is especially seen in their development of OpenCL, which Apple launched with Snow Leopard. OpenCL is an open standard, cross platform parallel programming library that developers can use to leverage the GPU for general purpose (i.e. non-graphics-related) compute tasks. In the recently released Final Cut Pro X, Apple uses OpenCL for some of its operations. OpenCL represents a major development effort for both Apple and AMD, and is the very definition of cutting edge use of the GPU. On the 3D side, Lion brings us up to OpenGL 3.2. We know we have more work to bring the AMD Mac OS X drivers up to the very latest spec.
AFR: What are some technical issues that you feel Apple could address so that its hardware is even more performance-oriented and ideal for CAD and 3D industries? What AMD/ATi technologies exist that Apple may not be employing but if it did Mac performance could go up?
next page: CPU-bound Performance and Driver Tuning