Skip to content

KaMPIng: (Near) zero-overhead MPI wrapper for modern C++

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

kamping-site/kamping

Repository files navigation

KaMPIng: Karlsruhe MPI next generation

KaMPIng logo

This is KaMPIng [kampɪŋ], an MPI wrapper which makes using MPI feel like real C++

KaMPIng is developed at the Algorithm Engineering Group at Karlsruhe Institute of Technology.

Goals

  • ban man MPI_* from your command line history
  • zero-overhead whenever possible
    • if not possible this must be clear to the user
  • easy to use when simple communication is required, but powerful enough for finely tuned behavior
    • useful defaults
    • compile-time checks for incorrect usage
  • accumulate knowledge/algorithms of our group in a single place
  • ensure that the library outlives multiple generations of our group

Platform

  • compiles with GCC, Clang and ICC on SuperMUC-NG, bwUniCluster, HoreKa
  • C++17
    • we do not want to rely on C++20 features, because Intel does not support it yet
  • easy inclusion into other projects by using modern CMake

LICENSE

KaMPIng is released under the GNU Lesser General Public License. See COPYING and COPYING.LESSER for details