RTOpPack_MPI_apply_op_decl.hpp File Reference

#include "RTOpPack_RTOpT.hpp"
#include "RTOp_MPI_config.h"

Include dependency graph for RTOpPack_MPI_apply_op_decl.hpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  RTOpPack

Defines

#define RTOPPACK_MPI_APPLY_OP_DUMP

Functions

template<class primitive_value_type>
void MPI_type_signature (const int num_values, const int num_indexes, const int num_chars, int *num_entries, int block_lengths[], MPI_Aint displacements[], MPI_Datatype datatypes[])
 Initialize MPI compatible type signature arrays for reduction/transformation operator object instance data and reduction target object data.
template<class primitive_value_type>
int reduct_obj_ext_size (int num_values, int num_indexes, int num_chars)
 Return the size in bytes of an external representation of reduct_obj.
template<class Scalar>
void extract_reduct_obj_ext_state (const RTOpT< Scalar > &op, const ReductTarget &reduct_obj, int num_values, int num_indexes, int num_chars, void *reduct_obj_ext)
 
template<class Scalar>
void load_reduct_obj_ext_state (const RTOpT< Scalar > &op, const void *reduct_obj_ext, ReductTarget *reduct_obj)
 
template<class Scalar>
void MPI_apply_op (MPI_Comm comm, const RTOpT< Scalar > &op, const int root_rank, const int num_vecs, const ConstSubVectorView< Scalar > sub_vecs[], const int num_targ_vecs, const SubVectorView< Scalar > targ_sub_vecs[], ReductTarget *reduct_obj)
 Apply an RTOp in SMPD mode with MPI to a set of vectors with contiguous storage per processor.
template<class Scalar>
void MPI_apply_op (MPI_Comm comm, const RTOpT< Scalar > &op, const int root_rank, const int num_cols, const int num_multi_vecs, const ConstSubMultiVectorView< Scalar > sub_multi_vecs[], const int num_targ_multi_vecs, const SubMultiVectorView< Scalar > targ_sub_multi_vecs[], ReductTarget *const reduct_objs[])
 Apply an RTOp in SMPD mode with MPI to a set of columns to a set of multi-vectors with contiguous storage per processor.
template<class Scalar>
void MPI_all_reduce (MPI_Comm comm, const RTOpT< Scalar > &op, const int root_rank, const int num_cols, const ReductTarget *const i_reduct_objs[], ReductTarget *const reduct_objs[])
 Perform global reduction of reduction target objects.
template<class Scalar>
void MPI_apply_op (MPI_Comm comm, const RTOpT< Scalar > &op, const int root_rank, const int num_cols, const int num_vecs, const ConstSubVectorView< Scalar > sub_vecs[], const int num_targ_vecs, const SubVectorView< Scalar > sub_targ_vecs[], ReductTarget *const reduct_objs[])
 Apply an RTOp in SMPD mode with MPI to a set of columns to a set of multi-vectors with contiguous storage per processor.

Variables

bool show_mpi_apply_op_dump = false


Define Documentation

#define RTOPPACK_MPI_APPLY_OP_DUMP
 

Definition at line 36 of file RTOpPack_MPI_apply_op_decl.hpp.


Function Documentation

template<class primitive_value_type>
void RTOpPack::MPI_type_signature const int  num_values,
const int  num_indexes,
const int  num_chars,
int *  num_entries,
int  block_lengths[],
MPI_Aint  displacements[],
MPI_Datatype  datatypes[]
 

Initialize MPI compatible type signature arrays for reduction/transformation operator object instance data and reduction target object data.

Parameters:
num_values [in] Number of primitive_value members
num_indexes [in] Number of index members
num_chars [in] Number of character members
num_entries [out] Number of entries in output arrays set
block_lengths [out] array (length >= RTOp_NUM_DATA_TYPES)
displacements [out] array (length >= RTOp_NUM_DATA_TYPES)
datatypes [out] array (length >= RTOp_NUM_DATA_TYPES)
See the MPI function MPI_Type_struct(...) for a description of these arrays.

Definition at line 161 of file RTOpPack_MPI_apply_op.hpp.

template<class primitive_value_type>
int reduct_obj_ext_size int  num_values,
int  num_indexes,
int  num_chars
 

Return the size in bytes of an external representation of reduct_obj.

Definition at line 76 of file RTOpPack_MPI_apply_op_decl.hpp.

template<class Scalar>
void RTOpPack::extract_reduct_obj_ext_state const RTOpT< Scalar > &  op,
const ReductTarget &  reduct_obj,
int  num_values,
int  num_indexes,
int  num_chars,
void *  reduct_obj_ext
 

Definition at line 208 of file RTOpPack_MPI_apply_op.hpp.

template<class Scalar>
void RTOpPack::load_reduct_obj_ext_state const RTOpT< Scalar > &  op,
const void *  reduct_obj_ext,
ReductTarget *  reduct_obj
 

Definition at line 238 of file RTOpPack_MPI_apply_op.hpp.

template<class Scalar>
void RTOpPack::MPI_apply_op MPI_Comm  comm,
const RTOpT< Scalar > &  op,
const int  root_rank,
const int  num_vecs,
const ConstSubVectorView< Scalar >  sub_vecs[],
const int  num_targ_vecs,
const SubVectorView< Scalar >  targ_sub_vecs[],
ReductTarget *  reduct_obj
 

Apply an RTOp in SMPD mode with MPI to a set of vectors with contiguous storage per processor.

ToDo: Finish documentation!

Definition at line 265 of file RTOpPack_MPI_apply_op.hpp.

template<class Scalar>
void RTOpPack::MPI_apply_op MPI_Comm  comm,
const RTOpT< Scalar > &  op,
const int  root_rank,
const int  num_cols,
const int  num_multi_vecs,
const ConstSubMultiVectorView< Scalar >  sub_multi_vecs[],
const int  num_targ_multi_vecs,
const SubMultiVectorView< Scalar >  targ_sub_multi_vecs[],
RTOpPack::ReductTarget *const   reduct_objs[]
 

Apply an RTOp in SMPD mode with MPI to a set of columns to a set of multi-vectors with contiguous storage per processor.

ToDo: Finish documentation!

Definition at line 285 of file RTOpPack_MPI_apply_op.hpp.

template<class Scalar>
void RTOpPack::MPI_all_reduce MPI_Comm  comm,
const RTOpT< Scalar > &  op,
const int  root_rank,
const int  num_cols,
const ReductTarget *const   i_reduct_objs[],
ReductTarget *const   reduct_objs[]
 

Perform global reduction of reduction target objects.

Parameters:
comm [in] MPI communicator
op [in] Reduction operator object associated with reduction objects. This operator defines how the global reductions are performed.
root_rank [in] The rank of the root processor
num_cols [in] The number of vector sets (i.e. multi-vector columns) that these reduction objects where collected over.
i_reduct_objs [in] Array (length num_cols) of local intermediate reduction objects.
reduct_objs [in/out] Array (length num_cols) of global reduction objects that each i_reduct_objs[i] from each processor will be reduced into.
ToDo: Finish documentation!

Definition at line 327 of file RTOpPack_MPI_apply_op.hpp.

template<class Scalar>
void RTOpPack::MPI_apply_op MPI_Comm  comm,
const RTOpT< Scalar > &  op,
const int  root_rank,
const int  num_cols,
const int  num_vecs,
const ConstSubVectorView< Scalar >  sub_vecs[],
const int  num_targ_vecs,
const SubVectorView< Scalar >  sub_targ_vecs[],
ReductTarget *const   reduct_objs[]
 

Apply an RTOp in SMPD mode with MPI to a set of columns to a set of multi-vectors with contiguous storage per processor.

ToDo: Finish documentation!

Definition at line 462 of file RTOpPack_MPI_apply_op.hpp.


Variable Documentation

bool RTOpPack::show_mpi_apply_op_dump = false
 

Definition at line 33 of file RTOpPack_MPI_apply_op.cpp.


Generated on Thu Sep 18 12:30:43 2008 for RTOp Package Browser (Single Doxygen Collection) by doxygen 1.3.9.1