As graphics cards have grown more complex and powerful over the years, efforts to exploit that processing power outside of gaming and 3D environments have become more widespread. If a new graphics card can do more than just play games faster, that can help justify a purchase. Even mid-range graphics cards have horsepower to spare when they spend most of their time serving up desktop applications. The problem has been harnessing that power without requiring single-supplier hardware or software solutions that invariably wind up on the yestertech trash heap.
OpenCL has promised to ameliorate some of these problems by providing a cross-platform, hardware-independent means to accelerate various software functions normally considered the sole province of the CPU. Over time, that promise has turned into reality with a healthy list of applications supporting OpenCL standards, including Adobe's latest CS suite and the ubiquitous WinZip. Now that OpenCL is being used more widely, how do you measure performance and see how these cards stack up in the brave new world of application acceleration? In the time-honored geek tradition, you do it with a flashy benchmark, like Luxmark 2.0 (free).
Luxmark is brainchild of a worldwide group of programmers who maintain and update the open-source 3D rending engine LuxRender. This forms the basis of Luxmark's benchmarking suite. The layout is refreshingly simple, with menus for options and test selection, a rendering output window and two information panes, one to the right and the other at the bottom of the screen. The panel on the right provides information on your OpenCL-capable devices, such as your CPU or GPU, and the lower one lists the benchmark's console output, so you can see when things go awry.
Five different test scenes of varying complexity are provided and various modes to render them are included, as OpenCL allows for a range of hardware combinations. Some of the tests are interactive. You can combine CPU and GPU operations or split them separately to see the benefits of each usage scenario: the results may be less straightforward than you think.
With low-to-mid range video cards, such as AMD's 5770, enabling mixed acceleration (with both GPU and CPU working) proved useful, although the boost from the CPU often amounted to just 10-20% of the GPU's total score. With a more powerful video card such as the 7950, the CPU turns out to be a boat anchor, crippling GPU OpenGL performance by more than half. Better to let that beast run off the leash by using GPU acceleration only, free from interference from the slower CPU.
The scores also reflect a highly tuned OpenCL environment, so the results should be treated more like output from a synthetic benchmark. Likewise, real-world implementations rarely take such full advantage of all the tricks Luxmark 2.0 employs to maximize performance, so you won't always see similar improvements in programs that support OpenCL. This isn't really a problem with the benchmark; it's more a goal for future developers to target as OpenCL support becomes more prevalent.
Since it's free and readily available, Luxmark is a good call when it comes to dipping a toe in the wide waters of OpenCL. It also looks pretty good, although someone over at LuxRender clearly has a fetish for shiny balls. More advanced options for saving results would be welcome, along with better methods for comparison between scores over time (the new online results database is step in the right direction here), but the basics are all in place for a reliable set of scores in an area where benchmarks are still currently scarce. That makes Luxmark 2.0 worth the download for those who want to see how much more processing power a new graphics card adds to their computer, and how to tweak it for maximum performance.
Note: The "Try it for free" button on the Product Information page takes you to the vendor's site, where you can download the latest version of the software appropriate to your system.