Symbolic
Algebra
Symbolic manipulation is
a very powerful tool for numerical physicist. Software such as Maple
allow one to derive the relevant equations, transform them into
appropriate coordinates, discretize them and even create code in
Fortran or C. Maple also contains a very powerful high level programing
language. Using Maple one can quickly generate error free computer code
and hence to experiment with equations and parameters. For example I
have created a set of subroutines in Maple that automatically generate
Fortran subroutines for GR hydro calculations (flux calculation,
spectral decomposition, sources, conservative to primitive
variable conversion etc.) just from a given metric element. It is
therefore easy to study hydrodynamics in various spacetime backgrounds
and coordinates.
Besides using the available software I am also interested
in the underlying algorithms for symbolic expression
manipulations.
GPGPU
In recent years a new
intriguing approach to high performance computing has emerged. The idea
is simple - use commonly available graphics processing units (GPU) to
perform floating point intensive calculations. The rational behind this
approach is that GPUs outperform current general purpose processors
(CPU) by a large margin in floating point operations and the gap
between CPU and GPU performance is expected to grow further (see the
graph below). GPUs have become massively parallel and highly
programable units with large amounts of very fast memory. The current
generation of graphics cards (NVIDIA 7800, ATI 1800, Nov. 2005) support
32bit
floating point operations throughout the whole graphics pipeline. ATI
has even publicly pledged support for GPGPU and
promised to release more specifications and to create a thin abstract
layer for accessing the GPU hardware (as opose to OpenGL and DirectX
that are tailored to graphics applications).
GPU vs CPU performance. The figure is taken from the presentation given at the IEEE Visualization 2004. The whole presentation can be found here. |
Nvidia GPU vs CPU performance. The figure is taken from the presentation given at the GDC 2006 The whole presentation can be found here. |
Fluid dynamics is
among the fields where it is believed GPUs can provide a
significant boost for calculations.
I am very interested in this new approach and as part of my future
research I plan to study the possibility of doing some of the GR
hydrodynamic
calculation on GPU. I have tested the concepts on a advection
equations and the results are encouraging.
Resources for GPGPU
A very good resource for
finding out what is going on in the world of GPGPU is the web site www.gpgpu.org.
Other useful sources of information can be found on researchers web
sites such as
The Norwegian GPU-project
http://www.sintef.no/gpgpu
Ian Buck at
Stanford University
John Ovens at
University of California, Davis
Robert
Strzodka at Caesar Institute
Dominik Göddeke at
Dortmund University
Relevant web sites, papers, and publications:
Industry announcements relevant to GPGPU: