|
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.
|
|
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