GPU Software Development
Submitted by schultz on Thu, 2009-10-08 00:00
Development of f90 and C++ computational kernels to take advantage of massive parallel programming potential in Graphics Processing Units
Development of f90 and C++ computational kernels to take advantage of massive parallel programming potential in Graphics Processing Units
New hardware arrives
For those interested in tracking the development of computational kernels for parallelism on GPU (graphics processor) rather than CPU (central processor) hardware, we've just installed our new testbed machine - a Colfax CTX8000 with twin Newhalem quad-core CPUs, 64 GB of DDR3 main system memory, and 4 Tesla GPU subsystems with a total of 960 floating point cores. We are presently installing CentOS Linux and will shortly install the Portland Group CUDA fortran compiler set.
Our plans are to port existing, open source, large sparse system finite difference-based 3D EM modeling codes to this environment, and through compiler directives similar to OpenMP to parse out specific matrix-vector products to the GPUs. We will also make use of OpenMP to use coarser grained parallelism to solve over different frequencies.
This is in preparation for replacement of the NVidia Tesla GPU systems with NVidia Fermi systems as early as possible in 2010. We anticipate that the Fermi's will yield at least a factor of 8 improvement in 64 bit floating point over the Tesla's.
This SIG is intended to stimulate a discussion on the use of this emerging GPU-based paradigm for high performance EM geophysics computing, and interested computational geoscientists and applied mathematicians/computer scientists are encouraged to participate.