Archive for the ‘CUDA’ tag
Raytracing Radiotherapy
An impressive demonstration of the power of graphics cards is the use of graphics processing units (GPUs) in ray tracing. For those of you not in the know, ray tracing refers to a technique for rendering graphics by tracking how rays of light behave as they reflect from surface to surface, allowing you to create photorealistic images that have complicated reflections and shadows which traditional graphics methods fail to deliver. The flip side of this photorealism is that these techniques are incredibly taxing on computational systems, and it has been something of a “holy grail” for GPU and CPU makers to demonstrate so-called “real time” ray tracing on their systems.
Of course, while ray tracing is an impressive computational feat, most of these demonstrations only show off the aesthetic benefits of being able to implement ray tracing quickly. There are much more real-world impacts in the scientific and medical domains, such as in the field of radiotherapy.
In a nutshell, the idea behind radiotherapy as a cancer therapy is that you use strong bursts of radiation to kill off a tumor while minimizing the side effects of radiation exposure to the surrounding tissue. This balance is extremely difficult to manage as the calculations necessary to understand the effect of applying radiation from an external source on a complex three-dimensional maze of organs and liquids like the human body are highly sophisticated. Interestingly, these calculations actually resemble a ray tracing problem, as the problem of understanding radiotherapy dosage is one of understanding how individual “beams” of radiation travel and interact with the human body.
The result is that computer models which have been used to do dosage calculations are slow (making it impractical for physicians to consider multiple regimens or use more sophisticated “adaptive”/modulated radiation therapies), error-prone from the introduction of assumptions to “gloss over” some of the more sophisticated calculations, and very expensive given the need for large clusters of computational power.
What researchers at the University of Amsterdam have demonstrated is an implementation of a ray tracing algorithm targeted at the radiotherapy dosage question using GPU maker NVIDIA’s CUDA toolkit for performing mathematical calculations using the power of a graphics processor. The researchers used the fact that the power of a GPU rests in its ability to split up complicated math problems into many simpler problems to have the GPU calculate the paths of multiple “rays” of radiation simultaneously, resulting in a performance increase over a non-GPU accelerated technique ranging from 50% faster to 6 times faster! Amazingly, because of the way the GPU does its calculations (mainly that it avoids using a look-up table the CPU-driven algorithm needs), the GPU’s results are also more accurate, despite a single GPU implementation being both faster and cheaper than traditional techniques.
The implications to medicine? To quote the paper:
“The developed GPU algorithm now enables dose calculations at a speed that will be experienced as real time for conventional forward planning based on clinically relevant datasets. this can lead to a major reduction in the workload of radiotherapy treatment planning. Moreover, the presented GPU algorithm can be used to accelerate more advanced treatment planning optimization techniques.”
Paper: M. de Greef et al, “Accelerated Ray Tracing for Radiotherapy Dose Calculations on a GPU.” Medical Physics, Vol 36, Issue 9 (link: http://dx.doi.org/10.1118/1.3190156)
Presentation: http://www.amc.nl/upload/teksten/radiotherapie/hyperthermie/RayForDose-NVIDIA.pdf
(Image credit – Ray tracing schema) (Image from presentation)
They’re not just for gaming
There was a time when video game consoles and graphics cards were “just for games.” In those days, game console chips and graphics cards were the domain of little boys, not grown men. Well, thank the stars those days are long gone!
Today, if someone were to tease a grown man for purchasing Sony’s Playstation 3, he could simply reply, “I beg your pardon. I am a grown man, not a little boy. I am clearly using the Playstation 3, not to play great games like Grand Theft Auto IV and Metal Gear Solid, but to use its TeraFLOPS (1 trillion floating point calculations per second) capacity to solve important and complex scientific problems.”
It almost sounds like a fantasy, but it’s not. The idea behind this is pretty basic. To make games and graphics run smoothly, video game console chips and graphics cards have to do a mind-boggling number of calculations much faster than a basic computer chip can. It “just so happens” that the supercomputers scientists and Wall Street analysts use to do simulations and research with also need to do those same types of calculations. Hence the idea of Stream Processing was born – why not use graphics card/game console chips for things which aren’t directly related to graphics or gaming?
Why not indeed? I can’t list all of the projects out there, but here’s just a snapshot of the scientific applications that people have been able to do with the Playstation 3’s unique chip, IBM’s Cell Broadband Engine, and graphics cards from NVIDIA and AMD:
- Researchers at the National Center for Atmospheric Research used NVIDIA’s CUDA stream processing platform to improve the speed of their weather forecasting models
- Astrophysicist Gaurav Khanna from UMass Dartmouth used 16 Playstation 3’s to simulate the collision of two black holes
- AMD researchers were able to demonstrate the use of AMD graphics cards to let a computer see in 3D and then map that image to an actual physical simulation
- The Los Alamos National Laboratories turned to IBM to design them a new supercomputer, but instead of just designing them with plain vanilla chips from Intel and AMD, they asked for a new breed of computer. Enter the Roadrunner, a computer which when fully operational will be capable of PetaFLOPS performance (1 quadrillion floating point calculations per second), and consists of ~7000 AMD Opteron chips coupled with ~13000 Cell processors
- The University of Illinois at Urbana-Champaign, by using 3 NVIDIA graphics processors, was able to help perform biochemical simulations at a submolecular level 100 times faster than 18 typical computer CPUs.
Technology – it’s good for more than just playing games.