OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
DataTypes.h File Reference
#include <mpi.h>
Include dependency graph for DataTypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  is_ippl_mpi_datatype< typename >
struct  is_ippl_mpi_datatype< char >
struct  is_ippl_mpi_datatype< short >
struct  is_ippl_mpi_datatype< int >
struct  is_ippl_mpi_datatype< long >
struct  is_ippl_mpi_datatype< long long >
struct  is_ippl_mpi_datatype< unsigned char >
struct  is_ippl_mpi_datatype< unsigned short >
struct  is_ippl_mpi_datatype< unsigned int >
struct  is_ippl_mpi_datatype< unsigned long >
struct  is_ippl_mpi_datatype< unsigned long long >
struct  is_ippl_mpi_datatype< float >
struct  is_ippl_mpi_datatype< double >
struct  is_ippl_mpi_datatype< long double >
struct  is_ippl_mpi_datatype< bool >

Macros

#define IPPL_MPI_DATATYPE(CppType, MPIType)

Functions

template<typename T>
MPI_Datatype get_mpi_datatype (const T &)
template<>
MPI_Datatype get_mpi_datatype< char > (const char &)
template<>
MPI_Datatype get_mpi_datatype< short > (const short &)
template<>
MPI_Datatype get_mpi_datatype< int > (const int &)
template<>
MPI_Datatype get_mpi_datatype< long > (const long &)
template<>
MPI_Datatype get_mpi_datatype< long long > (const long long &)
template<>
MPI_Datatype get_mpi_datatype< unsigned char > (const unsigned char &)
template<>
MPI_Datatype get_mpi_datatype< unsigned short > (const unsigned short &)
template<>
MPI_Datatype get_mpi_datatype< unsigned int > (const unsigned int &)
template<>
MPI_Datatype get_mpi_datatype< unsigned long > (const unsigned long &)
template<>
MPI_Datatype get_mpi_datatype< unsigned long long > (const unsigned long long &)
template<>
MPI_Datatype get_mpi_datatype< float > (const float &)
template<>
MPI_Datatype get_mpi_datatype< double > (const double &)
template<>
MPI_Datatype get_mpi_datatype< long double > (const long double &)
template<>
MPI_Datatype get_mpi_datatype< bool > (const bool &)

Macro Definition Documentation

◆ IPPL_MPI_DATATYPE

#define IPPL_MPI_DATATYPE ( CppType,
MPIType )
Value:
template<> \
inline MPI_Datatype \
get_mpi_datatype< CppType >(const CppType&) { return MPIType; } \
\
template<> \
struct is_ippl_mpi_datatype<CppType>: std::true_type {};

Definition at line 36 of file DataTypes.h.

Function Documentation

◆ get_mpi_datatype()

template<typename T>
MPI_Datatype get_mpi_datatype ( const T & )

Definition at line 28 of file DataTypes.h.

References get_mpi_datatype().

Referenced by allreduce(), allreduce(), gather(), get_mpi_datatype(), new_reduce(), new_reduce(), reduce(), and scatter().

Here is the call graph for this function:

◆ get_mpi_datatype< bool >()

template<>
MPI_Datatype get_mpi_datatype< bool > ( const bool & )
inline

Definition at line 71 of file DataTypes.h.

◆ get_mpi_datatype< char >()

template<>
MPI_Datatype get_mpi_datatype< char > ( const char & )
inline

Definition at line 45 of file DataTypes.h.

◆ get_mpi_datatype< double >()

template<>
MPI_Datatype get_mpi_datatype< double > ( const double & )
inline

Definition at line 67 of file DataTypes.h.

◆ get_mpi_datatype< float >()

template<>
MPI_Datatype get_mpi_datatype< float > ( const float & )
inline

Definition at line 65 of file DataTypes.h.

◆ get_mpi_datatype< int >()

template<>
MPI_Datatype get_mpi_datatype< int > ( const int & )
inline

Definition at line 49 of file DataTypes.h.

◆ get_mpi_datatype< long >()

template<>
MPI_Datatype get_mpi_datatype< long > ( const long & )
inline

Definition at line 51 of file DataTypes.h.

◆ get_mpi_datatype< long double >()

template<>
MPI_Datatype get_mpi_datatype< long double > ( const long double & )
inline

Definition at line 69 of file DataTypes.h.

◆ get_mpi_datatype< long long >()

template<>
MPI_Datatype get_mpi_datatype< long long > ( const long long & )
inline

Definition at line 53 of file DataTypes.h.

◆ get_mpi_datatype< short >()

template<>
MPI_Datatype get_mpi_datatype< short > ( const short & )
inline

Definition at line 47 of file DataTypes.h.

◆ get_mpi_datatype< unsigned char >()

template<>
MPI_Datatype get_mpi_datatype< unsigned char > ( const unsigned char & )
inline

Definition at line 55 of file DataTypes.h.

◆ get_mpi_datatype< unsigned int >()

template<>
MPI_Datatype get_mpi_datatype< unsigned int > ( const unsigned int & )
inline

Definition at line 59 of file DataTypes.h.

◆ get_mpi_datatype< unsigned long >()

template<>
MPI_Datatype get_mpi_datatype< unsigned long > ( const unsigned long & )
inline

Definition at line 61 of file DataTypes.h.

◆ get_mpi_datatype< unsigned long long >()

template<>
MPI_Datatype get_mpi_datatype< unsigned long long > ( const unsigned long long & )
inline

Definition at line 63 of file DataTypes.h.

◆ get_mpi_datatype< unsigned short >()

template<>
MPI_Datatype get_mpi_datatype< unsigned short > ( const unsigned short & )
inline

Definition at line 57 of file DataTypes.h.