Lots of researchers who do computationally intense work could use more processing power. Many of them actually have that power available on their computers, but haven’t found a way to take advantage of it. The computational clout is in the multiple processor cores of the computer’s graphics system, where it is not easily accessible.
A tool like NVIDIA’s CUDA parallel computing model makes the GPU cores, up to 240 of them on the latest NVIDIA Tesla GPUs, available to programs. But to take maximum advantage of it, you have to be a skilled C or C++ programmer. The problem is that many of the people who would benefit most from high-performance computing are not software developers by profession. They write customized code out of necessity, but their primary work is in chemistry, geology, astronomy, physics or biology.
Tech-X Corp., a Boulder, CO, software and consulting company specializing in high-performance scientific computing, is working to change that. Its GPUlib is a tool that brings GPU-based computing into the high-level tools used by researchers, including ITT Visual Information Solutions’ IDL, Mathworks’ MATLAB, and that trusty old laboratory standby, Fortran.
“Parallel computing used to be a very elite field,” says Peter Messmer, vice president for space applications at Tech-X. “Few applications are designed to take advantage of it. GPU processing makes it much more mainstream.” Until GPU processing came along, the cheapest way to get very high performance in the lab was by building a cluster of relatively inexpensive PCs, but this took skills that researchers who weren’t computer scientists or electrical engineers often lacked. “The GPU makes it much more mainstream,” says Messmer.
GPU cores are best at vector processing, math in which large arrays of data are manipulated simultaneously, since that is what is needed for the GPU’s primary task of rendering graphics. That made Tech-X’s choice of working with IDL and MATLAB a natural, since these tools are already optimized for manipulating vector data. Typical uses include image processing for astronomical and remote sensing data and medical imaging.
Messmer says a major challenge is just getting researchers to try GPU computing. “People have heard a lot about GPU computing, but they are skeptical,” he says. “They remember the field-programmable gate array hype from a few years ago, where it turned out to be too complicated for people to do anything. GPUlib helps because it maps to how people already think about problems.”
GPUlib is free for academic use and $495 for commercial use. It is available for Windows, Mac, and Linux.
This post is an entry in The World Isn’t Flat, It’s Parallel series running on nTersect, focused on the GPU’s importance and the future of parallel processing. Today, GPUs can operate faster and more cost-efficiently than CPUs in a range of increasingly important sectors, such as medicine, national security, natural resources and emergency services. For more information on GPUs and their applications, keep your eyes on The World Isn’t Flat, It’s Parallel.