Sierra Toolkit Version of the Day
MPIDetail

Classes

struct  sierra::MPI::Loc< T >
 Template class loc implements the data structure for the MINLOC and MAXLOC data types. More...
struct  sierra::MPI::ReduceInterface
 Interface class ReduceInterface specifies the required virtual functions for the aggregated type and operation operator. The aggregated reduction operator allows a single MPI operation to perform many operations on many types. More...
struct  sierra::MPI::Reduce< Op, LocalIt, GlobalIt >
 Template class Reduce implements the ReduceInterface interface for any operator and type. The operator is a functor and the iterator specifies the access to the data and its type. More...
class  sierra::MPI::ReduceSet
 Class ReduceSet ... More...
struct  sierra::MPI::Sum
 Class Sum ... More...
struct  sierra::MPI::Prod
 Class Prod ... More...
struct  sierra::MPI::Min
 Class Min ... More...
struct  sierra::MPI::Max
 Class Max ... More...
struct  sierra::MPI::MinLoc
 Class MinLoc ... More...
struct  sierra::MPI::MaxLoc
 Class MaxLoc ... More...

Functions

MPI_Datatype sierra::MPI::float_complex_type ()
 Function float_complex_type returns an MPI complex data type for C++.
MPI_Datatype sierra::MPI::double_complex_type ()
 Function double_complex_type returns an MPI complex data type for C++.
MPI_Op sierra::MPI::double_complex_sum_op ()
 Function double_complex_sum_op returns a sum operation for the C++ complex MPI data type.
template<class T >
MPI_Op sierra::MPI::real_complex_sum_op ()
 Function real_complex_sum_op returns a sum operation for the C++ complex MPI data type.
MPI_Datatype sierra::MPI::long_long_int_int_type ()
 Member function double_double_int_type ...
MPI_Datatype sierra::MPI::double_double_int_type ()
 Member function double_double_int_type ...
template<class T >
void sierra::MPI::AllReduce (MPI_Comm mpi_comm, MPI_Op op, T *src_dest, size_t size)
 Function AllReduce copies the source/destination array into a temporary vector and then executed the MPI operation using the temporary as the source.
template<class T >
void sierra::MPI::AllReduce (MPI_Comm mpi_comm, MPI_Op op, std::vector< T > &dest)
 Function AllReduce copies the source/destination vector into a temporary vector and then executed the MPI operation using the temporary as the source.
template<class T >
void sierra::MPI::AllReduce (MPI_Comm mpi_comm, MPI_Op op, std::vector< T > &source, std::vector< T > &dest)
 Function AllReduce copies the source/destination vector into a temporary vector and then executed the MPI operation using the temporary as the source.
template<class T >
void sierra::MPI::AllGather (MPI_Comm mpi_comm, std::vector< T > &source, std::vector< T > &dest)
template<typename T >
T * sierra::MPI::align_cast (void *p)
 Function align_cast returns a pointer that has been aligned to the specified alignment or double if the alignment if greater than that of double.
void sierra::MPI::AllReduce (MPI_Comm comm, const ReduceSet &reduce_set)
 Member function AllReduce ...
template<typename T >
Reduce< Sum, T * > * sierra::MPI::ReduceSum (T *t, T *u, size_t length)
 Member function ReduceSum ...
template<typename T >
Reduce< Prod, T * > * sierra::MPI::ReduceProd (T *t, T *u, size_t length)
 Member function ReduceProd ...
template<typename T >
Reduce< Max, T * > * sierra::MPI::ReduceMax (T *t, T *u, size_t length)
 Member function ReduceMax ...
template<typename T >
Reduce< Min, T * > * sierra::MPI::ReduceMin (T *t, T *u, size_t length)
 Member function ReduceMin ...
template<typename T >
Reduce< Sum, T * > * sierra::MPI::ReduceSum (T &t, T &u)
 Member function ReduceSum ...
template<typename T >
Reduce< Prod, T * > * sierra::MPI::ReduceProd (T &t, T &u)
 Member function ReduceProd ...
template<typename T >
Reduce< Max, T * > * sierra::MPI::ReduceMax (T &t, T &u)
 Member function ReduceMax ...
template<typename T >
Reduce< Min, T * > * sierra::MPI::ReduceMin (T &t, T &u)
 Member function ReduceMin ...
template<class LocalIt , class GlobalIt >
Reduce< Sum, LocalIt, GlobalIt > * sierra::MPI::ReduceSum (LocalIt local_begin, LocalIt local_end, GlobalIt global_begin, GlobalIt global_end)
 Member function ReduceSum ...
template<class LocalIt , class GlobalIt >
Reduce< Prod, LocalIt, GlobalIt > * sierra::MPI::ReduceProd (LocalIt local_begin, LocalIt local_end, GlobalIt global_begin, GlobalIt global_end)
 Member function ReduceProd ...
template<typename T , class LocalIt , class GlobalIt >
Reduce< Min, LocalIt, GlobalIt > * sierra::MPI::ReduceMin (LocalIt local_begin, LocalIt local_end, GlobalIt global_begin, GlobalIt global_end)
 Member function ReduceMin ...
template<typename T , class LocalIt , class GlobalIt >
Reduce< Max, LocalIt, GlobalIt > * sierra::MPI::ReduceMax (LocalIt local_begin, LocalIt local_end, GlobalIt global_begin, GlobalIt global_end)
 Member function ReduceMax ...
template<class T , class U >
void sierra::MPI::AllReduceCollected (MPI_Comm mpi_comm, MPI_Op op, U collector)
 Member function AllReduceCollected ...

Function Documentation

MPI_Datatype sierra::MPI::float_complex_type ( )

Function float_complex_type returns an MPI complex data type for C++.

Returns:
a MPI_Datatype value of the C++ complex MPI data type.

Definition at line 38 of file MPI.cpp.

MPI_Datatype sierra::MPI::double_complex_type ( )

Function double_complex_type returns an MPI complex data type for C++.

Returns:
a MPI_Datatype value of the C++ complex MPI data type.

Definition at line 23 of file MPI.cpp.

MPI_Op sierra::MPI::double_complex_sum_op ( )

Function double_complex_sum_op returns a sum operation for the C++ complex MPI data type.

Returns:
a MPI_Op ...

Definition at line 118 of file MPI.cpp.

template<class T >
MPI_Op sierra::MPI::real_complex_sum_op ( ) [inline]

Function real_complex_sum_op returns a sum operation for the C++ complex MPI data type.

Returns:
a MPI_Op ...

Definition at line 70 of file MPI.hpp.

MPI_Datatype sierra::MPI::long_long_int_int_type ( )

Member function double_double_int_type ...

Returns:
a MPI_Datatype ...
MPI_Datatype sierra::MPI::double_double_int_type ( )

Member function double_double_int_type ...

Returns:
a MPI_Datatype ...

Definition at line 76 of file MPI.cpp.

template<class T >
void sierra::MPI::AllReduce ( MPI_Comm  mpi_comm,
MPI_Op  op,
T *  src_dest,
size_t  size 
) [inline]

Function AllReduce copies the source/destination array into a temporary vector and then executed the MPI operation using the temporary as the source.

Parameters:
mpi_comma MPI_Comm value of the MPI communicator.
opa MPI_Op value of the MPI operation.
src_desta T pointer to an array to be copied for the source and used as the destination.
sizea size_t value of the length of the array pointed to by src_dest

Definition at line 362 of file MPI.hpp.

template<class T >
void sierra::MPI::AllReduce ( MPI_Comm  mpi_comm,
MPI_Op  op,
std::vector< T > &  dest 
) [inline]

Function AllReduce copies the source/destination vector into a temporary vector and then executed the MPI operation using the temporary as the source.

Parameters:
mpi_comma MPI_Comm value of the MPI communicator.
opa MPI_Op value of the MPI operation.
src_desta std::vector<T> reference to be copied for the source and used as the destination.
sizea size_t value of the length of the array pointed to by src_dest

Definition at line 387 of file MPI.hpp.

template<class T >
void sierra::MPI::AllReduce ( MPI_Comm  mpi_comm,
MPI_Op  op,
std::vector< T > &  source,
std::vector< T > &  dest 
) [inline]

Function AllReduce copies the source/destination vector into a temporary vector and then executed the MPI operation using the temporary as the source.

Parameters:
mpi_comma MPI_Comm value of the MPI communicator.
opa MPI_Op value of the MPI operation.
srca std::vector<T> reference to the source data for the MPI op.
desta std::vector<T> reference to the destination data for the MPI op.
sizea size_t value of the length of the array pointed to by src_dest

Definition at line 415 of file MPI.hpp.

template<typename T >
T* sierra::MPI::align_cast ( void *  p)

Function align_cast returns a pointer that has been aligned to the specified alignment or double if the alignment if greater than that of double.

Parameters:
pa void pointer of the address to align.
Returns:
a T pointer which is an alignment of p to the lesser of the type specified or double.

Definition at line 451 of file MPI.hpp.

void sierra::MPI::AllReduce ( MPI_Comm  comm,
const ReduceSet &  reduce_set 
)

Member function AllReduce ...

Parameters:
comma MPI_Comm variable ...
reduce_seta ReduceSet variable ...

Definition at line 295 of file MPI.cpp.

template<typename T >
Reduce<Sum, T *>* sierra::MPI::ReduceSum ( T *  t,
T *  u,
size_t  length 
)

Member function ReduceSum ...

Parameters:
ta T variable ...
ua T variable ...
lengtha size_t variable ...
Returns:
a Reduce ...

Definition at line 789 of file MPI.hpp.

template<typename T >
Reduce<Prod, T *>* sierra::MPI::ReduceProd ( T *  t,
T *  u,
size_t  length 
)

Member function ReduceProd ...

Parameters:
ta T variable ...
ua T variable ...
lengtha size_t variable ...
Returns:
a Reduce ...

Definition at line 805 of file MPI.hpp.

template<typename T >
Reduce<Max, T *>* sierra::MPI::ReduceMax ( T *  t,
T *  u,
size_t  length 
)

Member function ReduceMax ...

Parameters:
ta T variable ...
ua T variable ...
lengtha size_t variable ...
Returns:
a Reduce ...

Definition at line 821 of file MPI.hpp.

template<typename T >
Reduce<Min, T *>* sierra::MPI::ReduceMin ( T *  t,
T *  u,
size_t  length 
)

Member function ReduceMin ...

Parameters:
ta T variable ...
ua T variable ...
lengtha size_t variable ...
Returns:
a Reduce ...

Definition at line 837 of file MPI.hpp.

template<typename T >
Reduce<Sum, T *>* sierra::MPI::ReduceSum ( T &  t,
T &  u 
)

Member function ReduceSum ...

Parameters:
ta T variable ...
ua T variable ...
Returns:
a Reduce ...

Definition at line 852 of file MPI.hpp.

template<typename T >
Reduce<Prod, T *>* sierra::MPI::ReduceProd ( T &  t,
T &  u 
)

Member function ReduceProd ...

Parameters:
ta T variable ...
ua T variable ...
Returns:
a Reduce ...

Definition at line 866 of file MPI.hpp.

template<typename T >
Reduce<Max, T *>* sierra::MPI::ReduceMax ( T &  t,
T &  u 
)

Member function ReduceMax ...

Parameters:
ta T variable ...
ua T variable ...
Returns:
a Reduce ...

Definition at line 880 of file MPI.hpp.

template<typename T >
Reduce<Min, T *>* sierra::MPI::ReduceMin ( T &  t,
T &  u 
)

Member function ReduceMin ...

Parameters:
ta T variable ...
ua T variable ...
Returns:
a Reduce ...

Definition at line 894 of file MPI.hpp.

template<class LocalIt , class GlobalIt >
Reduce<Sum, LocalIt, GlobalIt>* sierra::MPI::ReduceSum ( LocalIt  local_begin,
LocalIt  local_end,
GlobalIt  global_begin,
GlobalIt  global_end 
)

Member function ReduceSum ...

Parameters:
local_beginan LocalIt variable ...
local_endan LocalIt variable ...
global_beginan GlobalIt variable ...
global_endan GlobalIt variable ...
Returns:
a Reduce ...

Definition at line 913 of file MPI.hpp.

template<class LocalIt , class GlobalIt >
Reduce<Prod, LocalIt, GlobalIt>* sierra::MPI::ReduceProd ( LocalIt  local_begin,
LocalIt  local_end,
GlobalIt  global_begin,
GlobalIt  global_end 
)

Member function ReduceProd ...

Parameters:
local_beginan LocalIt variable ...
local_endan LocalIt variable ...
global_beginan GlobalIt variable ...
global_endan GlobalIt variable ...
Returns:
a Reduce ...

Definition at line 931 of file MPI.hpp.

template<typename T , class LocalIt , class GlobalIt >
Reduce<Min, LocalIt, GlobalIt>* sierra::MPI::ReduceMin ( LocalIt  local_begin,
LocalIt  local_end,
GlobalIt  global_begin,
GlobalIt  global_end 
)

Member function ReduceMin ...

Parameters:
local_beginan LocalIt variable ...
local_endan LocalIt variable ...
global_beginan GlobalIt variable ...
global_endan GlobalIt variable ...
Returns:
a Reduce ...

Definition at line 949 of file MPI.hpp.

template<typename T , class LocalIt , class GlobalIt >
Reduce<Max, LocalIt, GlobalIt>* sierra::MPI::ReduceMax ( LocalIt  local_begin,
LocalIt  local_end,
GlobalIt  global_begin,
GlobalIt  global_end 
)

Member function ReduceMax ...

Parameters:
local_beginan LocalIt variable ...
local_endan LocalIt variable ...
global_beginan GlobalIt variable ...
global_endan GlobalIt variable ...
Returns:
a Reduce ...

Definition at line 967 of file MPI.hpp.

template<class T , class U >
void sierra::MPI::AllReduceCollected ( MPI_Comm  mpi_comm,
MPI_Op  op,
collector 
) [inline]

Member function AllReduceCollected ...

Parameters:
mpi_comma MPI_Comm variable ...
opa MPI_Op variable ...
collectoran U variable ...

Definition at line 983 of file MPI.hpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines