GPGPU stands for General-Purpose computation on GPUs. With the increasing programmability of commodity graphics processing units (GPUs), these chips are capable of performing more than the specific graphics computations for which they were designed. They are now capable coprocessors, and their high speed makes them useful for a variety of applications. High-end GPUs deliver a higher peak performance than high-end CPUs at a lower price point. The problem is that they are more difficult to program and require very highly data-parallel algorithms.
In this project, we focus on the use of GPUs for physical simulations. Applications range from physics engines in modern 3D games to computational science. The implementation will be based on CUDA ( Compute Unified Device Architecture ). CUDA is a GPGPU technology that allows a programmer to use the C programming language to code algorithms for execution on the GPU. CUDA has been developed by Nvidia and to use this architecture requires an Nvidia GPU and special stream processing drivers.
The School has recently acquired an NVIDIA Tesla server http://www.nvidia.com/object/product_tesla_s1070_us.html which will be the hardware used in this project. |