OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Classes | Macros | Functions
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(), and Attrib::Legacy::Distribution::T.

Referenced by get_mpi_datatype().

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.