GPUs


AMD Reorganizes Business Units; Names Dr. Lisa Su as COO

AMD Reorganizes Business Units; Names Dr. Lisa Su as COO

In a move that will mark a mild shake up in how AMD operates, AMD has announced that they will be undergoing a company reorganization next month. Come July 1st, AMD will be consolidating their various business groups into just two groups, and overseeing those groups will be Dr. Lisa Su, who will become the company’s new Chief Operating Officer (COO).

AMD is citing the reorganization as the latest step in their efforts to transform the company, a process that started in earnest over two years ago in 2012. Since then the company has been making changes to move away from its traditional cost-heavy PC CPU and GPU roots and towards a structure that is focused on mobile (x86 and ARM), semi-custom silicon, and other market areas with lower margins but also lower costs that are more sustainable for a company of AMD’s size and capabilities. AMD is nearing the end of that transformation – after years of losses they’re now approaching profitability at their desired margins – with AMD realigning their business groups ahead of some of their final steps, including becoming a fully ambidextrous company through designs such as the K12 CPU.

As part of that general transformation AMD’s business groups have already begun to overlap some, so now AMD is taking the next step by making it official and consolidating the relevant groups. AMD’s client, consumer graphics, and professional graphics groups will now be combined under a single group, the Computing and Graphics Business Group. By bringing together those three groups like this, this change effectively consolidates all of AMD’s core technology teams in to the same group, CPU and GPU alike. In this case in particular the lines between CPU and GPU have already been blurring for some time, with the bulk of AMD’s “CPU” business having shifted to APUs (CPUs with integrated graphics), so in a sense this is the formalization of the fact that AMD cannot build complete CPUs without technology from their graphics group.

Meanwhile AMD’s second group will be the Enterprise, Embedded and Semi-Custom Business Group. This group consolidates the server, embedded, and semi-custom groups under one roof. This structure does mean CPUs are essentially split – an Opteron sale is now an Enterprise sale rather than being kept with the Computing group CPU sales – but otherwise this marks the combining of AMD’s “fringe” groups such as SeaMicro and the semi-custom groups, which in contrast to the core technology focused Computing group are focused on building designs and applications around AMD’s core technologies.

Both of these new groups will also see their relevant sales appendages integrated into them. AMD currently has a separate sales division, which will no longer be the case after the reorganization.

Heading up these groups both directly and indirectly will be Dr. Lisa Su, who is getting a promotion from Senior VP and GM of Global Business Units to the C-level position of Chief Operating Officer (COO). AMD has not had a COO for a few years now, so this marks the return of that position to AMD’s executive organization and arguably makes Lisa AMD’s second-in-command. Meanwhile AMD’s Chief Sales Officer, John Byrne, will also be getting a promotion of his own, which will see him move up to SVP and GM of the Computing group.

In regards to AMD’s new structure, Lisa will be taking direct control of the Enterprise group on an interim basis. Meanwhile Lisa will have indirect oversight of the Computing group, with John serving as GM of that group and reporting to Lisa. Lisa in turn will now report directly to CEO Rory Read.

Ultimately the consolidation of AMD’s businesses is not unexpected, especially on the core technology side where APUs and AMD’s HSA initiative has greatly worn away the distinctions between CPUs and GPUs. Meanwhile the shifts in leadership bring with it new mangers and new reporting structures, so although things will be changing at AMD it doesn’t sound like AMD’s development processes will be affected on the whole – though management shifts often come with smaller internal changes.

But perhaps the single most visible change from this may end up being how AMD reports their financials. Currently AMD separates their CPU and GPU businesses as the Computing Solutions and Graphics Solutions respectively, with Graphics also including semi-custom business and game console royalties. If AMD changes their financial reporting to match their new businesses then we’d be able to more easily see how AMD’s semi-custom and console businesses stack up, but AMD’s CPU and GPU businesses would be indistinguishable. AMD hasn’t commented on the matter in their press release, so we’ll have to see what they do for their Q3’14 results later this year (where the combined groups will have been in effect for a whole quarter). Update: AMD tells us that we can expect an update on how they’ll be reporting financials in their Q2 earnings call next month.

3DMark Update Brings DX11 Sky Diver Benchmark

3DMark Update Brings DX11 Sky Diver Benchmark

This afternoon Futuremark released an updated version of their 3DMark benchmark for PCs. The new release brings 3DMark to version 1.3.708 and includes a new benchmark for DX11 systems. All current owners of 3DMark will gain access to the new benchmark when they update, and it’s also available to free users as well – and thanks go to ASUS for sponsoring the new Sky Diver Demo. Futuremark also has a current promotion going on where you can buy the 3DMark Advanced Edition off of Steam for $10 (normally 24.99), which gives you the ability to test other resolutions and settings.

Just to quickly rehash the current iteration of 3DMark, it has three tests: Ice Storm is a DX9 test and is available for mobile devices (smartphones and tablets) as well as PCs; Cloud Gate is a DX10 test for PCs, and Fire Strike is a very demanding DX11 test for PCs. The new Sky Diver benchmark fills the need for a less demanding DX11 test and is more suitable for testing gaming laptops and midrange PCs, as well as (potentially) iGPUs. Many of these devices can’t even reach double-digit frame rates in Fire Strike, and while the scores are presumably still valid, it does make viewing the benchmark rather painful. Basically, Fire Strike is equivalent to running a modern DX11 game on Ultra settings, where Sky Diver is more like running with Medium/Normal settings.

While both benchmarks can be run on any PC with the necessary DX11 enabled hardware, Futuremark’s advice is that systems that score below 2800 in Fire Strike should be tested with Sky Diver, while systems that score above 12000 in Sky Diver should be tested in Fire Strike. Also note that certain NVIDIA drivers appear to have a rendering issue with the Sky Diver benchmark; driver version 335.23 should be used if you experience problems.

Similar to the other benchmarks, Sky Diver has multiple components to its testing. Along with a Demo mode (which doesn’t affect the score), there are two Graphics tests to measure GPU performance, a Physics test that focuses on CPU performance, and a Combined test that taxes both the CPU and GPU. Graphics test 1 focuses on tessellation and uses a forward lighting method while the second Graphics test focuses on pixel processing and uses compute-shader based deferred tiled lighting. As for the Physics test, it repeats four times with increasingly taxing workloads and stops when the frame rate is below a certain threshold.

If you’d like to download the latest 3DMark update, you can do so via this direct link (or in Steam, as well as through a variety of mirrors). I ran it on a laptop with a GT 750M and scored 3340, with frame rates in the low double digits for most of the benchmark. It’s quite a bit more tolerable than the Fire Strike slideshow on the same laptop (score of 2020), which is normally in the high single digits, making this sort of system a good fit for the new benchmark. While scores aren’t directly comparable, it appears in general that Sky Diver will run 50% faster (give or take) than Fire Strike. The Demo mode is also good for at least a single viewing, with its daredevil female sky diver risking life and limb in the pursuit of speed.

Computex 2014: Galaxy Showcases GTX 750 Ti Darbee Edition

Computex 2014: Galaxy Showcases GTX 750 Ti Darbee Edition

In the realm of photo and film-editing, post processing can make the difference between bad looking media and something epic.  The depth of post processing on an image or a video is usually dictated by the level of expertise of the editor or t…

Computex 2014: Galaxy Showcases GTX 750 Ti Darbee Edition

Computex 2014: Galaxy Showcases GTX 750 Ti Darbee Edition

In the realm of photo and film-editing, post processing can make the difference between bad looking media and something epic.  The depth of post processing on an image or a video is usually dictated by the level of expertise of the editor or t…

Some Thoughts on Apple’s Metal API

Some Thoughts on Apple’s Metal API

Though it seems like Apple’s hardware divisions can hardly keep a secret these days due to the realities of mass production, the same is fortunately not true for their software divisions. Broad strokes aside, Apple managed to pack in a number of surprises in their OS X and iOS presentations at WWDC yesterday, and there’s nothing that ended up being quite as surprising to me as the announcement of the Metal API for iOS.

Later this week Apple will be holding their Metal developers sessions, at which time we’ll hopefully get some further details on the API and just how Apple intends to have developers use it. In the meantime with the preliminary Metal programming guide posted over on Apple’s developer website, I wanted to spend a few minutes musing over yesterday’s announcement, how Apple ended up developing their own API, and what this may mean for users and game developers.

Why Low-Overhead APIs?

First and foremost, let’s quickly recap just what exactly Apple has announced. Metal is Apple’s forthcoming low-overhead/low-level graphics and compute API for iOS. Metal is primarily geared towards gaming on iOS, and is intended to offer better graphics performance than the existing OpenGL ES API by curtailing driver overhead and giving developers more direct control over the GPU.

As our regular readers are no doubt well aware, Metal is the latest in a wave of low-level graphics APIs to be introduced over the last year in the GPU space, joining the ranks of AMD’s Mantle and Microsoft’s DirectX 12. In the case of Metal, as has been the case of all of these APIs, the idea is rooted in the fact that while high level APIs provide a number of important features from libraries to hardware abstraction, the overhead from this functionality is not worth the benefits, especially in the hands of highly seasoned programmers who have the experience and the means to go close-to-metal and bang on the hardware directly. The situation facing developers in these cases is that at a time when GPU performance growth is rapidly outpacing CPU performance growth, the API and driver overhead has gone from problematic to intolerable, leading to developers wanting to access the hardware directly.


How The Low-Level Mantle API Benefitted DICE’s Frostbite Engine

Metal in turn is the API through which Apple will provide this access. By peeling back the driver and API stack to the bare minimum, developers get to tell the GPU exactly what they’re doing and how they want it done, bypassing large chunks of CPU-intensive code that would previously do this for the developer. Whenever we’re talking about these low-level APIs it’s important to note that they’re merely ways to improve efficiency and are not miracle workers, but when faced with the most applicable bottleneck, the draw call – what’s essentially a single function call for the GPU – the increase in throughput can be remarkable. We won’t spend too much more time on the why’s of Metal, as we’ve written much longer outlines on low-level APIs before that don’t need repeated here, but it’s important to establish a baseline for evaluating Metal.

Are SoCs Draw Call Limited?

Upon hearing Apple’s Metal announcement, perhaps the greatest surprise was that iOS developers were in a position where they needed and could benefit from a low-level API like Metal. In the PC space we’ve been seeing low-level APIs rolled out as a solution to the widening gap between CPU and GPU performance, however the SoC class processors in Apple’s iOS devices are a very different beast. As one would expect for a mobile product, neither the CPU nor the GPU is high performance by PC standards, so why should a low-level API be necessary.

The answer to that is that while SoCs are lower performance devices, the same phenomena that has driven low-level APIs on the PC has driven them on mobile devices, just on a smaller scale. GPU performance is outgrowing CPU performance on the SoC level just as it has been the PC level, and even worse, SoC class CPUs are so slow that even small amounts of driver overhead can have a big impact. While we take 4000 draw calls for granted on desktop hardware – overhead and all – it’s something of a sobering reminder that this isn’t possible on even a relatively powerful SoC like the A7 with OpenGL ES, and that it took Metal for Crytek to get that many draw calls in motion, never mind other CPU savings such as precompiled shaders. If Apple intends to further gaming on iOS (and all signs are that they do), then capable programmers are going to want low level GPU access to maximize their graphical quality, the same as they do on the desktop and on game consoles.


Apple Metal Thread Model (Note that no Apple SoC has more than 2 CPU cores yet)

Ecosystems & Portability

But on that note there’s quite a bit that goes into providing developers with these kinds of tools, which puts Apple in a very interesting position among hardware and OS vendors. Of the other low-level APIs we’ve seen so far – AMD’s Mantle and Microsoft’s DirectX 12 – the former is an API established by a hardware vendor who has to ride on top of other companies CPUs and OSes, and the latter is an OS vendor who has to ride on top of third party CPUs and GPUs. Apple on the other hand is in the enviable position of being as close as anyone can be to offering a fully vertical ecosystem. Apple designs their own CPUs, configures their own SoCs, and writes their own OS. The only portion of the chain that Apple doesn’t control is the GPU, and even then the company has exclusively used Imagination Technologies’ PowerVR GPUs for the last 7 years with no signs of this changing. So for all practical purposes Apple has a closed ecosystem that they control from top to bottom, and can design for accordingly.

A closed ecosystem in turn means that Apple can achieve a level of OS, hardware, and programming language integration that no one else can achieve. Metal doesn’t need to take into consideration any other GPU architectures (though Apple in all likelihood has left it generic enough to be portable if the situation arises) and the OS around it can be tailored to the API, rather than making the API fit within the confines of the OS. This doesn’t necessarily mean Apple is going to make significant use of this integration, but it will be interesting to see just what Apple does do with so much control.


A7 SoC Floorplan (Image Courtesy Chipworks)

Another interesting thing to see as Metal plays out is how Apple handles portability from OpenGL ES, that is if they try to handle it at all. On the whole, it’s accepted that a low-level API like Metal will have minimal portability from higher level languages such as OpenGL ES. The exception to this thus far has been that due to the fundamentally low level nature of shader programs, that shader programs have been more portable. In the case of AMD’s Mantle, for example, we have seen AMD specifically support DirectX’s shader language – HLSL – to make porting to Mantle easier. Shader programs are just one part of a bigger picture, but their growing complexity and low level nature means that there are still benefits to being able to port them among APIs even when the API commands themselves are not portable.

At least for the moment, Apple’s Metal programming guide makes no mention of porting from the existing OpenGL ES API. Looking at the Metal shader language and comparing it to the OpenGL ES shader language (GLSL ES), while it’s initially promising since both languages are based on C++, it’s also clear that for better or worse Apple hasn’t held back from eclipsing OpenGL ES here. Metal’s shader language is based on a newer version of C++, C++11, and consequently includes features not available in GLSL ES. Furthermore comparing the function libraries there are again a number of identical functions, and yet more functions that the two shader languages do not have in common. Portability out of Metal aside, it’s not at all clear whether GLSL ES shaders are meaningfully portable into Metal; if they aren’t then that means additional work for developers, a specific concern if Apple is trying to land console-like games for iOS devices. So it will be interesting to see how this plays out.

Of course Android portability is also going to raise a flag here, though at first glance it actually seems unlikely that this will be a concern. Without an equivalent API – and the OpenGL AZDO concept isn’t going to be fully applicable to OpenGL ES – the games that benefit the most from Metal are also the games least likely to be on Android, so while portability from Android looks far from easy, there also appears to be little need to handle it. Android portability would seem to be best handled by traditional porting methods using OpenGL ES, which retains its common API status and will be sufficient for the kinds of games that will run on both ecosystems.

Metal Computing

On a final note, while we’ve discussed graphics almost exclusively thus far, it’s interesting to note that Apple is pitching Metal as an API for GPU compute as well as graphics. Despite being one of the initial promoters of the OpenCL API, Apple has never implemented OpenCL or any other GPU compute API on iOS thus far, even after they adopted the compute-friendly PowerVR Rogue GPU for their A7 SoC. As a result GPU compute on iOS has been limited to what OpenGL ES can be coaxed into, which although not wholly incapable, it is an API designed for dealing with images as opposed to free form data.

The low-level nature of Metal on the other hand means that it’s a good (or at least better) fit for GPU computing, as the lack of abstraction for graphics makes it more capable of handling the workflows and data types of compute tasks. This is one area in particular where the Metal shader language being based on a subset of C++11 is a benefit to Apple, as it provides a solid foundation for writing compute kernels. None the less it remains to be seen just how adaptable Metal is – can it match the compute functionality of OpenCL 1.2 or even OpenGL 4.x compute shaders – but even if it’s only of limited use it means Apple is finally ready to approach GPU computing on iOS devices.