|
LibGeoDecomp (Library for
Geometric Decomposition) is a free open-source library which aims at
aiding researchers to run their simulation codes on a wide range of
parallel computers, ranging from multi-core CPUs and GPUs to MPI
clusters. What makes LibGeoDecomp special is that it relieves the user
of having to struggle with parallel programming. Instead, the library
takes over the complex task of parallelization and parameter
tuning. Of course this won't work for any application (we don't
believe in generic auto-parallelization -- and so far history proofs
us right). Instead, we focus on a class of applications which we deem
equally important and
challenging: stencil
codes. Actually, most simulations, ranging from computational
fluid dynamics (CFD) and material science to Conway's Game of Life can
be reformulated as stencil codes. Konrad Zuse even proposed that the
whole universe could be accurately modelled as a stencil code
(cellular automata are a subset of stencil codes).
|
|
Stencil codes can be found at the core of many physical simulations
or numerical methods. They are therefore of paramount importance to
high performance computing. In essence they represent a time and
space discrete simulations on a regular grid. The grid is decomposed
into atomic cells. For each time step the new state of a cell can be
computed using only its old state and the cells in a fixed
neighborhood. Examples include cellular automata (e.g. Conway's Game
of Life) and
many solvers,
e.g. the Jacobi Method. Since cells on their neighbors for each
update, these problems are considered to be tightly coupled, causing
significant challenges for the implementer. Grid systems aggravate
this situation by their heterogeneity in respect to both, networks
and CPUs.
|
LibGeoDecomp can provide a auto-parallelization for this class of
applications by making heavy use of C++ class templates. Essentially
scientists encapsulate their simulation model into a class which
describes the data and behavior of a single simulation cell. This
template is then instantiated by the library for the whole simulation
grid. Thanks to LibGeoDecomp's hierarchical architecture, it is
flexible enough to be extended to new architectures by
dedicated plug-ins. The has allowed the library to keep up with the
ever changing landscape of parallel architectures for the past 5 years
and we are confident that it will continue to grow.
|
|
For a list of LibGeoDecomp's
features and benchmark results, please see
its homepage. If
you'd like to get an impression on how applications build with
LibGeoDecomp look like, please have a look at the videos in
the gallery.
|
|
|
| Name |
Type |
Subject |
|
|
|
|
|
|
| Franz Richter |
Research Project |
Stencil Codes on the Cell BE |
|
|
|
| Siegfried Schöfer |
Student Assistant |
OpenCL Plug-in for LibGeoDecomp |
|
|
|
| Julian Hammer |
Bachelor Thesis |
Parallelization of a Meshfree Materials Science
Simulation |
|
|
|
| Arne Hendricks |
Bachelor Thesis |
Parallel Wavefront Stepper for Multi-Cores |
Interested in getting involved in the development of state of the art
stencil codes for high performance and grid computing? Then send us an
e-mail or visit us. Possible areas of work include, but are not
limited to visualization of simulation runs, parallel I/O, and
optimization of MPI message passing. Projects can be individually
tailored to suit both, your and our interests.
Andreas Schäfer