Dr. Allen Sanderson





GP-GPU Research

In 2004 I decided that it was time to look at GPUs and see what all the fuss was about. More other I wanted to see if the pain of writing low level code was worth it. Fortunately, nVidia's Cg libraries takes alot of that pain away. But there are still many other issues to look at. For instance, could an applications scientist such as my friends in Chemistry who study Reaction-Diffusion Models use the GPU for general processing without a huge learning curve? And at the end of the day would the speed up be worth the cost? Especailly when it would be implemented as a practical general framework and not as some sexy one off demo. As such, we looked what it would take to implement explicit and implicit solvers for the PDEs found in reaction-diffusion models and compared the results to similar CPU implementations.

Here are some times and their realitive speed ups using an explicit forward Euler solution and a semi-implicit Crank-Nicholson solution applied to Turing's Reaction-Difusion model:


Times, in seconds, for the four difference PDE solutions along with the relative speedup for a 512 x 512 grid using a total integration step time of 25000s with an explicit time step of 0.5s with 50000 iterations and an implicit time step of 12.5 and 2000 iterations. The CPU solution utilized a Red-Black Gauss-Seidel relaxation whereas the GPU solution utilized a Jacobi relaxation.

More details of this work can be found in:

Allen R. Sanderson, Miriah D. Meyer, Robert M. Kirby, and Chris R. Johnson. "A Framework for Exploring Numerical Solutions of Advection-Reaction-Diffusion Equations Using a GPU-Based Approach," Accepted for publication in Computing and Visualization in Science 2007. [PDF]

We even provide some software that you can use. It has been ported to Linux, OS X and even Windozes. It requires the following OpenGL libraries: Glew, Glui, and Glut for the CPU and GPU versions and also nVidia's Cg libraries for the GPU version. You will need to supply some code from Numerical Recipies that can not be distributed due to copyright restrictions.

CPU Demo Source Code can be found here: rd_cpu_demo.tar.gz
GPU Demo Source Code can be found here: rd_gpu_demo.tar.gz

Other GP-GPU Work and Information

The best source can be found at GPGPU.ORG.