Applications Of GPGPU Computing
One of the interesting things about Larabee is the theoretical ability to do things like recursion on the chip. How would that compare to a theoretical approach of incorporating a lightweight x86 processor on a GPU for "housekeeping tasks?"
I don’t think recursion is critical to the success of GPU computing, as almost all codes that run on the GPU are the performance-critical inner loops of an application. It is always best to inline and avoid things like recursions for performance reasons. We certainly could support recursion today, but prefer to allow our compiler to optimize without it. Regarding a lightweight CPU, there’s already a CPU in the system and we’ve focused on providing a razor-thin driver stack to keep things as efficient as possible. Where just-in-time processor scheduling is required, we’ve found dedicated hardware is almost always more area and power efficient at these critical tasks than a heavyweight x86 processor.
Right now, the majority of GPGPU applications have been limited to scientific computing and video decoding/transcoding. Where do you see consumers benefiting from GPGPU technology in realms outside video?
The next wave of GPU computing consumer applications will be accelerating video editing, image processing, and gaming physics. We think your spreadsheet might already be fast enough. While video processing was an obvious application to accelerate, novel applications in computer vision, speech, and handwriting recognition applications for the consumer market can equally benefit from the massive performance potential of the GPU that is readily available in every PC.
Where do you see GPGPU going in the future?
Consumers are already benefiting from GPU computing. Companies like OptiTex are using CUDA to design clothing for the mass market. Car companies are designing next-generation cars with GPU ray tracing using CUDA. Physics engines in games are also migrating to the GPU. Moving forward, we’ll continue to see opportunities in personal media, such as sorting and searching photos based on the image content, i.e. faces, location, etc, is an incredibly compute-intensive operation.
Some of the work I’m most proud of is in medical imagining and cancer research. Techniscan is a company using our Tesla GPUs to improve a doctor’s ability to detect and diagnose breast cancer earlier and more accurately than traditional methods. The National Cancer Institute is reporting a 12x CUDA-enabled speedup in protein ligand calculations used to design new drugs for diseases such as cancer and Alzheimer's. It is wonderful to see GPU computing being used in some of the fundamental research that will save lives.