Sierra Toolkit
Version of the Day
|
Classes | |
struct | sierra::MPI::Loc< T > |
Template class loc implements the data structure for the MINLOC and MAXLOC data types. More... | |
struct | sierra::MPI::Datatype< T > |
Traits class Datatype implements a traits class containing two static member functions which return the appropriate MPI data type for the C++ data type. 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++. More... | |
MPI_Datatype | sierra::MPI::double_complex_type () |
Function double_complex_type returns an MPI complex data type for C++. More... | |
MPI_Op | sierra::MPI::double_complex_sum_op () |
Function double_complex_sum_op returns a sum operation for the C++ complex MPI data type. More... | |
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. More... | |
MPI_Datatype | sierra::MPI::long_long_int_int_type () |
Member function double_double_int_type ... More... | |
MPI_Datatype | sierra::MPI::double_double_int_type () |
Member function double_double_int_type ... More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
void | sierra::MPI::AllReduce (MPI_Comm comm, const ReduceSet &reduce_set) |
Member function AllReduce ... More... | |
template<typename T > | |
Reduce< Sum, T * > * | sierra::MPI::ReduceSum (T *t, T *u, size_t length) |
Member function ReduceSum ... More... | |
template<typename T > | |
Reduce< Prod, T * > * | sierra::MPI::ReduceProd (T *t, T *u, size_t length) |
Member function ReduceProd ... More... | |
template<typename T > | |
Reduce< Max, T * > * | sierra::MPI::ReduceMax (T *t, T *u, size_t length) |
Member function ReduceMax ... More... | |
template<typename T > | |
Reduce< Min, T * > * | sierra::MPI::ReduceMin (T *t, T *u, size_t length) |
Member function ReduceMin ... More... | |
template<typename T > | |
Reduce< Sum, T * > * | sierra::MPI::ReduceSum (T &t, T &u) |
Member function ReduceSum ... More... | |
template<typename T > | |
Reduce< Prod, T * > * | sierra::MPI::ReduceProd (T &t, T &u) |
Member function ReduceProd ... More... | |
template<typename T > | |
Reduce< Max, T * > * | sierra::MPI::ReduceMax (T &t, T &u) |
Member function ReduceMax ... More... | |
template<typename T > | |
Reduce< Min, T * > * | sierra::MPI::ReduceMin (T &t, T &u) |
Member function ReduceMin ... More... | |
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 ... More... | |
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 ... More... | |
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 ... More... | |
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 ... More... | |
template<class T , class U > | |
void | sierra::MPI::AllReduceCollected (MPI_Comm mpi_comm, MPI_Op op, U collector) |
Member function AllReduceCollected ... More... | |
MPI_Datatype sierra::MPI::float_complex_type | ( | ) |
MPI_Datatype sierra::MPI::double_complex_type | ( | ) |
MPI_Op sierra::MPI::double_complex_sum_op | ( | ) |
|
inline |
MPI_Datatype sierra::MPI::long_long_int_int_type | ( | ) |
Member function double_double_int_type ...
MPI_Datatype sierra::MPI::double_double_int_type | ( | ) |
|
inline |
Function AllReduce
copies the source/destination array into a temporary vector and then executed the MPI operation using the temporary as the source.
mpi_comm | a MPI_Comm value of the MPI communicator. |
op | a MPI_Op value of the MPI operation. |
src_dest | a T pointer to an array to be copied for the source and used as the destination. |
size | a size_t value of the length of the array pointed to by src_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.
mpi_comm | a MPI_Comm value of the MPI communicator. |
op | a MPI_Op value of the MPI operation. |
src_dest | a std::vector<T> reference to be copied for the source and used as the destination. |
size | a size_t value of the length of the array pointed to by src_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.
mpi_comm | a MPI_Comm value of the MPI communicator. |
op | a MPI_Op value of the MPI operation. |
src | a std::vector<T> reference to the source data for the MPI op. |
dest | a std::vector<T> reference to the destination data for the MPI op. |
size | a size_t value of the length of the array pointed to by src_dest |
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.
p | a void pointer of the address to align. |
T
pointer which is an alignment of p to the lesser of the type specified or double. void sierra::MPI::AllReduce | ( | MPI_Comm | comm, |
const ReduceSet & | reduce_set | ||
) |
Reduce<Sum, T *>* sierra::MPI::ReduceSum | ( | T * | t, |
T * | u, | ||
size_t | length | ||
) |
Reduce<Prod, T *>* sierra::MPI::ReduceProd | ( | T * | t, |
T * | u, | ||
size_t | length | ||
) |
Reduce<Max, T *>* sierra::MPI::ReduceMax | ( | T * | t, |
T * | u, | ||
size_t | length | ||
) |
Reduce<Min, T *>* sierra::MPI::ReduceMin | ( | T * | t, |
T * | u, | ||
size_t | length | ||
) |
Reduce<Sum, T *>* sierra::MPI::ReduceSum | ( | T & | t, |
T & | u | ||
) |
Reduce<Prod, T *>* sierra::MPI::ReduceProd | ( | T & | t, |
T & | u | ||
) |
Reduce<Max, T *>* sierra::MPI::ReduceMax | ( | T & | t, |
T & | u | ||
) |
Reduce<Min, T *>* sierra::MPI::ReduceMin | ( | T & | t, |
T & | u | ||
) |
Reduce<Sum, LocalIt, GlobalIt>* sierra::MPI::ReduceSum | ( | LocalIt | local_begin, |
LocalIt | local_end, | ||
GlobalIt | global_begin, | ||
GlobalIt | global_end | ||
) |
Reduce<Prod, LocalIt, GlobalIt>* sierra::MPI::ReduceProd | ( | LocalIt | local_begin, |
LocalIt | local_end, | ||
GlobalIt | global_begin, | ||
GlobalIt | global_end | ||
) |
Reduce<Min, LocalIt, GlobalIt>* sierra::MPI::ReduceMin | ( | LocalIt | local_begin, |
LocalIt | local_end, | ||
GlobalIt | global_begin, | ||
GlobalIt | global_end | ||
) |
Reduce<Max, LocalIt, GlobalIt>* sierra::MPI::ReduceMax | ( | LocalIt | local_begin, |
LocalIt | local_end, | ||
GlobalIt | global_begin, | ||
GlobalIt | global_end | ||
) |