|
| ParallelMachine | stk_classic::parallel_machine_null () |
| | parallel_machine_null returns MPI_COMM_NULL if MPI is enabled. More...
|
| |
| ParallelMachine | stk_classic::parallel_machine_init (int *argc, char ***argv) |
| | parallel_machine_init calls MPI_Init. More...
|
| |
| void | stk_classic::parallel_machine_finalize () |
| | parallel_machine_finalize calls MPI_Finalize. More...
|
| |
| void | stk_classic::all_write_string (ParallelMachine, std::ostream &, const std::string &) |
| | Write string from any or all processors to the ostream on the root processor. More...
|
| |
|
void | stk_classic::all_reduce_sum (ParallelMachine, const double *local, double *global, unsigned count) |
| | Parallel summation to all processors.
|
| |
|
void | stk_classic::all_reduce_sum (ParallelMachine, const float *local, float *global, unsigned count) |
| | Parallel summation to all processors.
|
| |
|
void | stk_classic::all_reduce_sum (ParallelMachine, const int *local, int *global, unsigned count) |
| | Parallel summation to all processors.
|
| |
|
void | stk_classic::all_reduce_sum (ParallelMachine, const size_t *local, size_t *global, unsigned count) |
| | Parallel summation to all processors.
|
| |
|
void | stk_classic::all_reduce_bor (ParallelMachine, const unsigned *local, unsigned *global, unsigned count) |
| | Parallel bitwise-or to all processors.
|
| |
| template<class ReduceOp > |
| void | stk_classic::all_reduce (ParallelMachine, const ReduceOp &) |
| |
template<class ReduceOp >
Aggregated parallel in-place reduce-to-all-processors operations.
example:
ParallelMachine comm = ... ;
double a[5] ;
int b[3] ;
all_reduce( comm , ReduceSum < 5 >( a ) & ReduceMax < 3 >( b ) );
Reduction options include:
ReduceSum < N > ( T * ) // Summation
ReduceProd < N > ( T * ) // Product
ReduceMax < N > ( T * ) // Maximum
ReduceMin < N > ( T * ) // Minimum
ReduceBitOr < N > ( T * ) // Bit-wise OR
ReduceBitAnd < N > ( T * ) // Bit-wise AND