The underling library provides simple, scalable means to manipulate MPI-parallel, three dimensional pencil decompositions using FFTW. Pencil decompositions are a natural way to distribute O(n^3) data across O(n^2) processors and are well-suited for memory-intensive, structured spectral turbulence simulations and postprocessing codes. It may be useful in other domains as well. The library is written in C99 and may be used by C89 or C++ applications.
The Palabos library offers a framework in C++ for fluid flow simulations with the lattice Boltzmann (LB) method. Originally conceived as a research tool for lattice Boltzmann models, the code has evolved into a general-purpose program for computational fluid dynamics. The programming interface is straightforward and offers an access to the rich world of lattice Boltzmann, even to an audience with restricted theoretical knowledge of this method. A special emphasis is put on high performance and parallel computing.
The 2DECOMP&FFT library is a software framework in Fortran to build large-scale parallel applications. It is designed for applications using three-dimensional structured mesh and spatially implicit numerical algorithms. At the foundation, it implements a general-purpose 2D pencil decomposition for data distribution on distributed-memory platforms. On top, it provides a highly scalable and efficient interface to perform three-dimensional distributed FFTs.
HOPSPACK solves derivative-free optimization problems in a C++ software framework. The framework enables parallel operation using MPI (for distributed machine architectures) and multithreading (for single machines with multiple processors or cores). Optimization problems can be very general: functions can be noisy, nonsmooth, and nonconvex, linear and nonlinear constraints are supported, and variables may be continuous or integer-valued.