We’re slowly ushering in a new era, in which the processors on modern graphics cards (graphics processing units or GPUs) are capable of much more throughput than classic central processing units (CPUs). We are already seeing the first signs of this shift in technology with nVidia’s Compute Unified Device Architecture (CUDA) which offloads tasks to the much more powerful GPU. One example of this is decoding video by using the power of the graphics card.
In early 2009, Microsoft went a step further with the announcement of DirectCompute, a technology built into DirectX 11 that ships with Windows 7. Also available for Windows Vista, it takes advantage of the GPU to boost the performance of applications.
Very intense, modern applications, such as Adobe video editing suites, already make use of these modern GPUs to increase performance. For example, a1.6 Ghz Core 2 Duo processor by itself is barely able to handle playback of HD video content, like YouTube 1080p or 720p files or a Blu-ray DVD. After a couple of minutes, the video will stutter, and the audio will likely be out of sync. If you take a look at the task manager, the CPU will be used 99% of the time. Now, bring a low-end graphics card— for example the nVidia GeForce 9400, which is capable of hardware acceleration—into the game. The entire video decoding job will then be done by the GPU, and the CPU will only be used for handling the media player application itself.
What graphics cards are supported?
Most modern graphics cards that support DirectX 10 and 11—for example, those starting with the 9x series from nVidia and the 4x series from ATI—are already capable of supporting DirectCompute. The problem, however, is that this technology is just taking hold.
“We’ve already seen some applications come to market that take advantage of the GPU; Windows 7 and DirectCompute will make it even easier for developers to write applications and deliver these benefits to millions of additional customers,” said Mike Ybarra, general manager, Windows product management, Microsoft.
So, the technology will be in place soon, but it will not happen overnight. Developers need to specifically make use of the DirectCompute feature when creating applications.
How do I enable DirectCompute?
To enable DirectCompute for Windows Vista and 7, install the latest ForceWare driver for nVidia graphics cards. (ATI users, you will need the latest Catalyst drivers as well as the ATI Stream SDK. Also make sure that DirectX 11 and the latest DirectX End-User Runtime is installed.
How do I test DirectCompute?
Enthusiasts over at NGOHQ.com have already developed a DirectCompute benchmark that throws millions of parallel tasks at your GPU and CPU, and tests them against each other. The results are astounding!
Right now, only a few applications support DirectCompute, but this technology will eventually be built into more resource-intensive applications. Don’t expect it to make use of your day-to-day office products anytime soon, since the need for this kind of performance is not yet there. However, programs with high workloads, such as video editing suites or file compressors, will make use of DirectCompute.