Dendro  5.01
Dendro in Greek language means tree. The Dendro library is a large scale (262K cores on ORNL's Titan) distributed memory adaptive octree framework. The main goal of Dendro is to perform large scale multiphysics simulations efficeiently in mordern supercomputers. Dendro consists of efficient parallel data structures and algorithms to perform variational ( finite element) methods and finite difference mthods on 2:1 balanced arbitary adaptive octrees which enables the users to perform simulations raning from black holes (binary black hole mergers) to blood flow in human body, where applications ranging from relativity, astrophysics to biomedical engineering.
Classes | Namespaces | Macros
dtypes.h File Reference

Traits to determine MPI_DATATYPE from a C++ datatype. More...

#include <mpi.h>
#include <complex>
Include dependency graph for dtypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  par::Mpi_datatype< T >
 An abstract class used for communicating messages using user-defined datatypes. The user must implement the static member function "value()" that returns the MPI_Datatype corresponding to this user-defined datatype. More...
 
class  par::Mpi_datatype< std::complex< T > >
 
class  par::Mpi_datatype< bool >
 A template specialization of the abstract class Mpi_datatype. This can be used for communicating messages of type "bool". More...
 

Namespaces

 par
 Collection of Generic Parallel Functions: Sorting, Partitioning, Searching,...
 

Macros

#define HS_MPIDATATYPE(CTYPE, MPITYPE)
 

Detailed Description

Traits to determine MPI_DATATYPE from a C++ datatype.

Author
Hari Sundar, hsund.nosp@m.ar@g.nosp@m.mail..nosp@m.com

Traits to determine MPI_DATATYPE from a C++ datatype. For non standard C++ datatypes (like classes), we will need to define additional classes. An example is given for the case of the std. complex variable. Additional classes can be added as required.

Macro Definition Documentation

◆ HS_MPIDATATYPE

#define HS_MPIDATATYPE (   CTYPE,
  MPITYPE 
)
Value:
template <> \
class Mpi_datatype<CTYPE> \
{ \
public: \
static MPI_Datatype value() {\
return MPITYPE;\
} \
};