Archive notice: This article was originally published on August 13, 2008. Links and embedded videos are preserved as part of the historical record.
NVIDIA GeForce graphics cards can be used for far more than games. Applications that are not necessarily graphics-oriented but are computationally intensive, for example, can also be accelerated by the GPU and then run substantially faster than on the CPU. That is precisely what the applications in NVIDIA’s free software package do. All tools in the package are based on CUDA (Compute Unified Device Architecture), the freely available GPU programming language developed by NVIDIA. They can therefore use the top performance of GeForce GPUs for their calculations and work many times faster than comparable programs.
The software collection includes a trial version of the Badaboom video transcoder from Elemental Technologies and Folding@home, a distributed-computing project at Stanford University in California.
Developed by Elemental Technologies, Badaboom converts video formats using CUDA. Anyone who wants to watch films on an iPod or TV phone during a long flight, for example, must first convert the DVD source material on a PC into the appropriate format, a time-consuming process. With conventional video transcoders, converting a two-hour film can take more than six hours—even on a PC with a quad-core processor. By contrast, the combination of an NVIDIA GPU and Badaboom takes only around 35 minutes for the same film, making it up to 18 times faster. Because conversion runs on the graphics processor, the CPU is freed for other tasks such as a web browser or email program.
The CUDA application Folding@home is another example from the growing list of applications that use GPUs for non-graphics computing. The software used by Stanford University simulates protein folding up to 140 times faster than on a traditional CPU, using a Folding@home client for NVIDIA GeForce GPUs. The project aims to provide scientific insights that may help treat diseases including cancer, BSE, cystic fibrosis, and Parkinson’s disease. To achieve the greatest possible computing performance, researchers have encouraged a huge number of computer enthusiasts to organize into teams and process as many data units as possible.
Every one of the more than 80 million GeForce 8-series NVIDIA graphics cards sold supports CUDA, together forming the world’s largest parallel-computing network. GeForce cards also offer extremely fast graphics performance and are therefore well suited to current games. While CPUs in high-end PCs can use no more than four processor cores, the current generation of GeForce GPUs has up to 240 cores. Any computing process can therefore be handled by multiple cores in parallel and benefit from the NVIDIA GPU’s parallel-computing capabilities.
Introduced by NVIDIA in 2007, the CUDA GPU programming language is based on C/C++, the standard programming language for many applications. Software developers can therefore learn CUDA with little effort and quickly optimize their software for NVIDIA GPUs. Numerous developers, software companies, and university research groups are currently adapting applications that previously ran on the CPU for the graphics processor.
NVIDIA technology also boosts performance in the Manifold System Release 8 geographic information system. The application was optimized for GeForce GPUs with CUDA and now performs data analysis at remarkable speed. Calculations that previously required 20 minutes now take 30 seconds in the current Manifold version. Processes that took 30 or 40 seconds now run in real time. Using the CUDA development kit, the manufacturer needed only two months to integrate NVIDIA GPU support into its code.
Related Links:
- CUDA application package
Badaboom video transcoder
Folding@Home
Manifold