LibGeoDecomp - Self-Adapting Stencil Codes for the Grid

LibGeoDecomp is an auto-parallelizing library to speed up your stencil code based computer simulations. It runs on virtually all current architectures, be it multi-cores, GPUs, or large scale MPI clusters.

is a generic parallelization which is suitable for a large share of simulation codes. We believe that there is a need for this library: more and more scientists create complex computer simulations, but at the same time maxing out the hardware isn't getting any easier.

Learn more »

If your application iteratively updates elements or cells depending only on cells within a fixed neighborhood radius, then LibGeoDecomp may be just the tool you've been looking for to cut down execution times from hours and days to minutes.

How to get started:

  • Have a look at our gallery to get a feeling of which types of simulations we support.
  • Read the user guide to see how the code looks like.
  • Grab the freshly baked tarballs from the download section. They're delicious!

Key Features

  • based on C++ templates
  • scales to thousands of cores
  • supports CUDA, MPI, OpenCL
  • dynamic load balancing
  • parallel IO

Testimonial

LibGeoDecomp is a great way to prepare existing code for large scale parallelization. The existence of only three connections (Initialization, Simulation, Output) between the parallelization engine and the simulation code, each able to be encapsulated into one subroutine, makes this template library very versatile and easily applied to stencil codes. With only a small amount of conde restructuring it was possible for us to extent our existing solidification method to real 3D problems. Dipl.-Phys. Klemens Reuther

For his master's thesis Stephan Helou has written a LibGeoDecomp-based toolkit for computational fluid dynamics (CFD) simulations based on the Lattice Boltzmann method (LBM). I've added a collection of videos to the gallery. More »

LibGeoDecomp-related Project Ideas for GSOC 2013 2013-03-29T00:00:00+01:00

LibGeoDecomp is applying as a mentoring organization for Google's Summer of Code 2013. Below you'll find a list of ideas for projects. Take these as rough guidelines. You're most welcome to come to our IRC channel or mailing list to discuss your own ideas. More »

A Glimpse Into the Future of GPGPUs 2013-03-19T00:00:00+01:00

Jen-Hsun Huang is currently delivering the keynote speech of the GPU Technology Conference 2013. He shared some news on Nvidia's roadmap, epecially on Volta, Logan, and Parker. More »

LibGeoDecomp 0.2.0 Released 2013-03-13T00:00:00+01:00

LibGeoDecomp 0.2.0 is now ready for general consumption. This release focuses on scalability and robustness. Release slides are here. Short changelog: More »

The GCC and Vectorization 2013-03-11T00:00:00+01:00

Stencil codes are often seen as a prime example for real-world problems where vectorization can be applied easily. After all, the same operations have to be carried out for each grid cell and many prominent kernels, e.g. LBM (Lattice Boltzmann Method) or the RTM (Reverse Time Migration) don't even contain conditionals. So it is even more surprising, that compilers still struggle at generating vectorized code automatically. Or are times changing? More »

Blog archive »

last modified: Tue Apr 30 12:16:32 2013 +0200