NVIDIA CUDA (Compute Unified Device Architecture) 5 is a parallel computing platform and programming model created by NVIDIA. It creates massive increases in computing power by utilizing the power of the graphics processing unit (GPU). But before we can explain what CUDA is and what it is used for, we should explain what GPU computing is.
GPU computing is the use of a GPU (graphics processing unit) with a CPU to accelerate computer tasks. This basically means all of the intensive-computing portions of applications go to the GPU but the rest of the application code goes to the CPU. For the user, this all just means that applications run significantly faster. So how does CUDA fit into all of this? CUDA lets you send the codes (C, C++, and Fortran) straight to the GPU. Without CUDA, or programs like it, you wouldn’t have GPU computing.
The reason GPU computing is feasible is because today’s GPUs do a lot more than just process and render graphics: they have incredible computing power and the ability to process nearly any application task, from finance to medicine. Today, there are 375 million CUDA enabled GPUs in notebooks, workstations, personal computers, and super computers.
We may not realize it, but GPUs do a lot more than just videogames and scientific research. In fact, today, our life is constantly being affected by GPU computing. Mobile applications rely on GPUs running servers in the cloud. Stores use GPUs to analyze retail and web data. Web sites use GPUs to accurately place ads. Engineers rely on GPUs in assisting in computer-aided engineering applications. But it’s not just that. Major software companies also use NVIDIA’s CUDA and GPU computing.
Adobe supports CUDA for its Mercury playback and editing engine, the heart of its Adobe Premier Software. In a demonstration of a dual chip Opteron system (six cores per chip) and two NVIDIA Quadro cards, playing back and compositing 5 different streams of video (including 4k video—larger than 1080p) and a number of filters, the system capacity was not above the 30% utilization mark. According to an Adobe representative, removing the CUDA chip from the system would instantly result in all 12 cores being maxed out.
Kaspersky Labs supports CUDA for its anti-virus software. For NVIDIA this is a major step forward from moving past just video and graphics chips. According to Roel Schouwenberg, a senior antivirus researcher for the Russian company, CUDA chips are the reason why the company is capable of analyzing 50,000 viruses daily. They’re primarily used to check whether these viruses are derivatives of current viruses or new mal ware. Kaspersky Labs now sees the possibility of incorporating CUDA processing into its client-based anti virus software. However, to take advantage of the speeds CUDA offers, requires equally fast solid state devices for storage; Kaspersky will therefore wait for SSDs to become more common.
CyberLink has been a big believer in CUDA, with several products using the technology to accelerate performance: PowerDirector, MediaShow, PowerDVD, and PowerProducer, among others. MediaShow automatically sorts a user’s picture collection, poring through each one and using algorithms to perform face detection. The software then asks the user to tag each group of faces and writes the meta-data to each image, even auto-tagging them in Facebook and other applications, CUDA , in general, quickens the overall process. CyberLink will also use CUDA in its forthcoming Blu-ray PowerDVD, with support for 3D Blu-ray playback.
Siemens Medical recently created a 3D image of a late-stage fetus using a technology called amnioscopic rendering. Rather than moving the sonogram transducer, it can be left stable allowing data to be collected, stored, and composited to create a simulated image. Siemens even created a “light source” that can be moved around the image, even modeling the translucency of the fetus skin. And the tool has also managed to render the heart beating in real time. All of this was capable thanks to NVIDIA’s CUDA.
Ultimately NVIDIA’s CUDA 5 is a major step forward for GPU computing. After 5 years when CUDA was initially released, GPU computing is now moving more and more into the mainstream. No longer are companies using CUDA and GPU computing for academic purposes: they are now becoming more tailored for mainstream applications. Truly, GPU computing is the way of the future.