#include <winstd.H>
#include <cstdio>
#include <cctype>
#include <cassert>
#include <cmath>
#include <iostream>
#include <fstream>
#include <iomanip>
#include <map>
#include <algorithm>
#include <vector>
#include <stack>
#include <limits>
#include <Thread.H>
#include <BLassert.H>
#include <REAL.H>
#include <Box.H>
#include <ccse-mpi.H>
Go to the source code of this file.
Namespaces | |
namespace | ParallelDescriptor |
Classes | |
struct | FabComTag |
struct | CommData |
class | ParallelDescriptor::Message |
Defines | |
#define | BL_MPI_REQUIRE(x) |
Functions | |
std::ostream & | operator<< (std::ostream &os, const CommData &cd) |
std::ostream & | operator<< (std::ostream &os, const Array< CommData > &cd) |
void | ParallelDescriptor::StartParallel (int *argc=0, char ***argv=0) |
Perform any needed parallel initialization. | |
void | ParallelDescriptor::EndParallel () |
Perform any needed parallel finalization. | |
int | ParallelDescriptor::MyProc () |
Returns processor number of calling program. | |
int | ParallelDescriptor::NProcs () |
Returns number of CPUs involved in the computation. | |
int | ParallelDescriptor::NProcsCFD () |
Returns number of CPUs to use in CFD portion of computation. | |
MPI_Comm | ParallelDescriptor::Communicator () |
BoxLib's Parallel Communicator, probably MPI_COMM_WORLD. | |
void | ParallelDescriptor::Barrier () |
void | ParallelDescriptor::Barrier (MPI_Comm) |
void | ParallelDescriptor::Test (MPI_Request &request, int &flag, MPI_Status &status) |
void | ParallelDescriptor::Comm_dup (MPI_Comm comm, MPI_Comm &newcomm) |
bool | ParallelDescriptor::IOProcessor () |
Is this CPU the I/O Processor? | |
int | ParallelDescriptor::IOProcessorNumber () |
The CPU number of the I/O Processor. | |
void | ParallelDescriptor::Abort () |
Issue architecture specific Abort. | |
void | ParallelDescriptor::Abort (int errorcode) |
Abort with specified error code. | |
const char * | ParallelDescriptor::ErrorString (int errcode) |
ErrorString return string associated with error internal error condition. | |
double | ParallelDescriptor::second () |
Returns wall-clock seconds since start of execution. | |
void | ParallelDescriptor::ReduceBoolAnd (bool &rvar) |
And-wise boolean reduction. | |
void | ParallelDescriptor::ReduceBoolAnd (bool &rvar, int cpu) |
And-wise boolean reduction to specified cpu. | |
void | ParallelDescriptor::ReduceBoolOr (bool &rvar) |
Or-wise boolean reduction. | |
void | ParallelDescriptor::ReduceBoolOr (bool &rvar, int cpu) |
Or-wise boolean reduction to specified cpu. | |
void | ParallelDescriptor::ReduceRealSum (Real &rvar) |
Real sum reduction. | |
void | ParallelDescriptor::ReduceRealSum (Real &rvar, int cpu) |
Real sum reduction to specified cpu. | |
void | ParallelDescriptor::ReduceRealMax (Real &rvar) |
Real max reduction. | |
void | ParallelDescriptor::ReduceRealMax (Real &rvar, int cpu) |
Real max reduction to specified cpu. | |
void | ParallelDescriptor::ReduceRealMin (Real &rvar) |
Real min reduction. | |
void | ParallelDescriptor::ReduceRealMin (Real &rvar, int cpu) |
Real min reduction to specified cpu. | |
void | ParallelDescriptor::ReduceIntSum (int &rvar) |
Integer sum reduction. | |
void | ParallelDescriptor::ReduceIntSum (int &rvar, int cpu) |
Integer sum reduction to specified cpu. | |
void | ParallelDescriptor::ReduceIntMax (int &rvar) |
Integer max reduction. | |
void | ParallelDescriptor::ReduceIntMax (int &rvar, int cpu) |
Integer max reduction to specified cpu. | |
void | ParallelDescriptor::ReduceIntMin (int &rvar) |
Integer min reduction. | |
void | ParallelDescriptor::ReduceIntMin (int &rvar, int cpu) |
Integer min reduction to specified cpu. | |
void | ParallelDescriptor::ReduceLongSum (long &rvar) |
Long sum reduction. | |
void | ParallelDescriptor::ReduceLongSum (long &rvar, int cpu) |
Long sum reduction to specified cpu. | |
void | ParallelDescriptor::ReduceLongMax (long &rvar) |
Long max reduction. | |
void | ParallelDescriptor::ReduceLongMax (long &rvar, int cpu) |
Long max reduction to specified cpu. | |
void | ParallelDescriptor::ReduceLongMin (long &rvar) |
Long min reduction. | |
void | ParallelDescriptor::ReduceLongMin (long &rvar, int cpu) |
Long min reduction to specified cpu. | |
void | ParallelDescriptor::ReduceLongAnd (long &rvar) |
Long and-wise reduction. | |
void | ParallelDescriptor::ReduceLongAnd (long &rvar, int cpu) |
Long and-wise reduction to specified cpu. | |
void | ParallelDescriptor::Gather (Real *sendbuf, int sendcount, Real *recvbuf, int root) |
Parallel gather. | |
int | ParallelDescriptor::SeqNum () |
Returns sequential message sequence numbers in range 1000-9000. | |
template<class T> | |
Message | ParallelDescriptor::Asend (const T *, size_t n, int pid, int tag) |
template<class T> | |
Message | ParallelDescriptor::Asend (const T *, size_t n, int pid, int tag, MPI_Comm comm) |
template<class T> | |
Message | ParallelDescriptor::Asend (const std::vector< T > &buf, int pid, int tag) |
template<class T> | |
Message | ParallelDescriptor::Arecv (T *, size_t n, int pid, int tag) |
template<class T> | |
Message | ParallelDescriptor::Arecv (T *, size_t n, int pid, int tag, MPI_Comm comm) |
template<class T> | |
Message | ParallelDescriptor::Arecv (std::vector< T > &buf, int pid, int tag) |
template<class T> | |
Message | ParallelDescriptor::Send (const T *buf, size_t n, int dst_pid, int tag) |
ParallelDescriptor::Message | ParallelDescriptor::Send (const std::vector< size_t > &buf, int dst_pid, int tag) |
template<class T> | |
Message | ParallelDescriptor::Recv (T *, size_t n, int pid, int tag) |
ParallelDescriptor::Message | ParallelDescriptor::Recv (std::vector< size_t > &buf, int src_pid, int tag) |
ParallelDescriptor::Message | ParallelDescriptor::Recv (std::vector< char > &buf, int src_pid, int tag) |
template<class T> | |
void | ParallelDescriptor::Bcast (T *, size_t n, int root=0) |
template<class Op, class T> | |
T | ParallelDescriptor::Reduce (const T &t) |
template<class T, class T1> | |
void | ParallelDescriptor::Scatter (T *, size_t n, const T1 *, size_t n1, int root) |
template<class T, class T1> | |
void | ParallelDescriptor::Gather (const T *, size_t n, T1 *, size_t n1, int root) |
std::vector< size_t > | ParallelDescriptor::Gather (const size_t &t, int root) |
void | ParallelDescriptor::Waitsome (Array< MPI_Request > &reqs, int &completed, Array< int > &indx, Array< MPI_Status > &status) |
void | ParallelDescriptor::MPI_Error (const char *file, int line, const char *msg, int rc) |
#define BL_MPI_REQUIRE | ( | x | ) |
Value:
do \ { \ if ( int l_status_ = (x) ) \ { \ ParallelDescriptor::MPI_Error(__FILE__,__LINE__,#x, l_status_); \ } \ } \ while ( false )
Referenced by VisMF::Header::Header(), and VisMF::Write().
References Array< T >::size().
std::ostream& operator<< | ( | std::ostream & | os, | |
const CommData & | cd | |||
) |