In the shadow of Intel’s Larrabee unveiling, AMD announced today that it intends to support the new DirectX 11 standard in its stream computing software development kit. DirectX is a Microsoft API that has traditionally been available for multimedia and game development. Version 11, which Microsoft talked up at the Gamefest conference in Seattle last month, will include GPGPU support as well as improved support for multicore CPUs.
From AMD’s press release:
“Just as it ushered in the era of advanced 3-D gaming for the masses, DirectX is poised to be at the vanguard of the GPGPU revolution,” said Anantha Kancherla, manager of Windows desktop and graphics technologies for Microsoft. “DirectX 11 gives developers the power to more easily harness the astonishing capabilities of AMD GPUs for general purpose computation, and gives consumers an effortless way to experience all that AMD Stream has to offer, on the hundreds of millions of Microsoft Windows powered systems worldwide.”
The fact that DirectX is jumping on the GPGPU bandwagon is a real sign of the times. With teraflop-capable graphics processors becoming more commonplace in desktop PCs over the next few years, combined with the insatiable processing demands of multimedia computing, it was only a matter of time before GPGPU went mainstream. For AMD to support it was a no-brainer, since it offers a much more mainstream software platform for the FireStream GPGPU product than what they currently have (Brook+) .
AMD had previously announced support for OpenCL (Open Computing Language), a new parallel programming language that is intended to be used across GPUs and multicore CPUs. The Khronos Group is currently in the process of drafting language standards and will be getting input from AMD, Intel, NVIDIA, Apple, IBM, and others. Apple says it will introduce OpenCL in Mac OS X v10.6 (‘Snow Leopard’), which is expected to be released next year. If OpenCL garners wide industry backing, it could provide a common parallel programming solution across many architectures.
With support for DirectX and OpenCL, AMD is hoping to jump-start its fledgling GPGPU business, based on the company’s FireStream offerings. In a recent article in TG Daily, author Theo Valich says AMD is changing its GPGPU software strategy and will ditch its Close-To-Metal platform in favor of OpenCL and DirectX 11.
In his speech GPG CTO Technology Day held in Iceland’s capital, Raja Koduri, CTO of AMD GPG (ex-ATI), announced that AMD believes that the time for proprietary software solutions such as AMD’s own Close-to-Metal and Nvidia’s CUDA has passed. As a result, AMD will throw its efforts behind DirectX 11 Computational Shaders and the OpenCL GPGPU language and will focus on standardized solutions only.
Both DirectX and OpenCL are initially aimed at desktop systems, but with teraflop-level performance showing up in the latest high-end NVIDIA and AMD GPUs, there are a growing number of technical computing apps that can now be hosted on GPU-equipped PCs. However it remains to be seen whether either of these programming models will catch on in the GPGPU space. For one thing, NVIDIA has a big headstart with CUDA, the company’s own C programming language environment for GPU computing. According to Andy Keane, general manager of the GPU computing group at NVIDIA, users have already downloaded close to 80,000 copies of the software, and he estimates there are currently between 10,000 and 20,000 active CUDA developers.
Meanwhile the other GPGPU standards are still being hammered out. AMD says it’s planning to add DirectX 11 support to its software kit “over the course of the next 18 months,” and the OpenCL standard is still in the “specification” stage. For the time being AMD is sticking with Brook+, the company’s open source C language extension for stream computing. But I have a feeling AMD would ditch it if an industry-standard solution caught on.
In any case, the chipmaker is going to be playing catch-up to NVIDIA in the GPGPU arena for awhile. On the bright side, AMD has less ground to make up here than Intel, which is at least a year away from a Larrabee product release. I’ll talk more about how Larrabee might stack up against the competition in tomorrow’s blog post.