KaMPIng 0.1.1
Flexible and (near) zero-overhead C++ bindings for MPI
|
Wrapper for MPI functions that don't require a communicator. More...
#include <vector>
#include <kassert/kassert.hpp>
#include <mpi.h>
#include "kamping/assertion_levels.hpp"
#include "kamping/checking_casts.hpp"
#include "kamping/error_handling.hpp"
#include "kamping/span.hpp"
Go to the source code of this file.
Classes | |
class | kamping::Environment< init_finalize_mode > |
Wrapper for MPI functions that don't require a communicator. If the template parameter init_finalize_mode is set to InitMPIMode::InitFinalize (default), MPI_Init is called in the constructor, and MPI_Finalize is called in the destructor. More... | |
Namespaces | |
namespace | kamping::internal |
Internal namespace marking the code that is not user-facing. | |
Enumerations | |
enum class | kamping::InitMPIMode { InitFinalize , NoInitFinalize , InitFinalizeIfNecessary } |
Configuration for the behavior of the constructors and destructor of kamping::Environment. More... | |
Variables | |
std::vector< MPI_Datatype > | kamping::internal::registered_mpi_types |
A global list of MPI data types registered to KaMPIng. | |
Environment< InitMPIMode::NoInitFinalize > const | kamping::mpi_env |
A global environment object to use when you don't want to create a new Environment object. | |
Wrapper for MPI functions that don't require a communicator.
|
strong |
Configuration for the behavior of the constructors and destructor of kamping::Environment.
Enumerator | |
---|---|
InitFinalize | Call |
NoInitFinalize | Do not call |
InitFinalizeIfNecessary | Call |
|
inline |
A global environment object to use when you don't want to create a new Environment object.
Note that inline
const
results in external linkage since C++17 (see https://en.cppreference.com/w/cpp/language/inline).