Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

SPMD.H File Reference

#include "REAL.H"
#include "Vector.H"
#include "Box.H"
#include "MayDay.H"
#include "RealVect.H"
#include "SPMDI.H"

Include dependency graph for SPMD.H:

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

Go to the source code of this file.

Functions

int procID ()
 local process ID
unsigned int numProc ()
 number of parallel processes
void barrier (void)
 all ranks wait here to sync-up
template<class T>
int linearSize (const T &inputT)
template<class T>
void linearIn (T &a_outputT, const void *const inBuf)
template<class T>
void linearOut (void *const a_outBuf, const T &inputT)
template<class T>
void broadcast (T &a_inAndOut, int a_src)
 broadcast to every process
template<>
int linearSize (const int &a_input)
template<>
void linearIn (int &a_outputT, const void *const inBuf)
template<>
void linearOut (void *const a_outBuf, const int &a_inputT)
template<>
int linearSize (const long &a_input)
template<>
void linearIn (long &a_outputT, const void *const inBuf)
template<>
void linearOut (void *const a_outBuf, const long &a_inputT)
template<>
int linearSize (const unsigned long &a_input)
template<>
void linearIn (unsigned long &a_outputT, const void *const inBuf)
template<>
void linearOut (void *const a_outBuf, const unsigned long &a_inputT)
template<>
int linearSize (const float &a_input)
template<>
int linearSize (const double &a_input)
template<>
void linearIn (float &a_outputT, const void *const a_inBuf)
template<>
void linearIn (double &a_outputT, const void *const a_inBuf)
template<>
void linearOut (void *const a_outBuf, const float &a_inputT)
template<>
void linearOut (void *const a_outBuf, const double &a_inputT)
template<>
int linearSize (const Box &a_input)
template<>
void linearIn (Box &a_outputT, const void *const a_inBuf)
template<>
void linearOut (void *const a_outBuf, const Box &a_inputT)
template<>
int linearSize (const Vector< int > &a_input)
template<>
void linearIn (Vector< int > &a_outputT, const void *const inBuf)
template<>
void linearOut (void *const a_outBuf, const Vector< int > &a_inputT)
template<>
int linearSize (const Vector< long > &a_input)
template<>
void linearIn (Vector< long > &a_outputT, const void *const inBuf)
template<>
void linearOut (void *const a_outBuf, const Vector< long > &a_inputT)
template<>
int linearSize (const Vector< float > &a_input)
template<>
void linearIn (Vector< float > &a_outputT, const void *const inBuf)
template<>
void linearOut (void *const a_outBuf, const Vector< float > &a_inputT)
template<>
int linearSize (const Vector< double > &a_input)
template<>
void linearIn (Vector< double > &a_outputT, const void *const inBuf)
template<>
void linearOut (void *const a_outBuf, const Vector< double > &a_inputT)
template<>
int linearSize (const Vector< Box > &a_input)
template<>
void linearIn (Vector< Box > &a_outputT, const void *const inBuf)
template<>
void linearOut (void *const a_outBuf, const Vector< Box > &a_inputT)
template<>
int linearSize (const Vector< Vector< Box > > &a_input)
template<>
void linearIn (Vector< Vector< Box > > &a_outputT, const void *const inBuf)
template<>
void linearOut (void *const a_outBuf, const Vector< Vector< Box > > &a_inputT)
template<>
int linearSize (const RealVect &vindex)
template<>
void linearIn (RealVect &a_outputT, const void *const inBuf)
template<>
void linearOut (void *const a_outBuf, const RealVect &a_inputT)
template<>
int linearSize (const Vector< Vector< int > > &a_input)
template<>
void linearIn (Vector< Vector< int > > &a_outputT, const void *const inBuf)
template<>
void linearOut (void *const a_outBuf, const Vector< Vector< int > > &a_inputT)
template<class T>
int linearListSize (const Vector< T > &a_input)
template<class T>
void linearListIn (Vector< T > &a_outputT, const void *const a_inBuf)
template<class T>
void linearListOut (void *const a_outBuf, const Vector< T > &a_inputT)
int uniqueProc (const SerialTask::task &a_task)

Variables

int num_procs


Function Documentation

void barrier void   )  [inline]
 

all ranks wait here to sync-up

All MPI ranks wait here to sync-up. Calls MPI_Barrier(comm)

template<class T>
void broadcast T &  a_inAndOut,
int  a_src
[inline]
 

broadcast to every process

Broadcasts a_inAndOut to every process from process number a_src. It is an error if a_src < 0 or a_src >= numProc(). \

T must have have the following functions: \

int linearSize<T>(const T& inputT); \ void linearIn<T>(T& a_outputT, const void* const inBuf); \ void linearOut<T>(void* a_outBuf, const T& inputT); \

template<>
void linearIn Vector< Vector< int > > &  a_outputT,
const void *const   inBuf
 

template<>
void linearIn RealVect a_outputT,
const void *const   inBuf
 

template<>
void linearIn Vector< Vector< Box > > &  a_outputT,
const void *const   inBuf
 

template<>
void linearIn Vector< Box > &  a_outputT,
const void *const   inBuf
 

template<>
void linearIn Vector< double > &  a_outputT,
const void *const   inBuf
 

template<>
void linearIn Vector< float > &  a_outputT,
const void *const   inBuf
 

template<>
void linearIn Vector< long > &  a_outputT,
const void *const   inBuf
 

template<>
void linearIn Vector< int > &  a_outputT,
const void *const   inBuf
 

template<>
void linearIn Box a_outputT,
const void *const   a_inBuf
 

template<>
void linearIn double &  a_outputT,
const void *const   a_inBuf
 

template<>
void linearIn float &  a_outputT,
const void *const   a_inBuf
 

template<>
void linearIn unsigned long &  a_outputT,
const void *const   inBuf
 

template<>
void linearIn long &  a_outputT,
const void *const   inBuf
 

template<>
void linearIn int &  a_outputT,
const void *const   inBuf
 

template<class T>
void linearIn T &  a_outputT,
const void *const   inBuf
 

template<class T>
void linearListIn Vector< T > &  a_outputT,
const void *const   a_inBuf
 

template<class T>
void linearListOut void *const   a_outBuf,
const Vector< T > &  a_inputT
 

template<class T>
int linearListSize const Vector< T > &  a_input  ) 
 

template<>
void linearOut void *const   a_outBuf,
const Vector< Vector< int > > &  a_inputT
 

template<>
void linearOut void *const   a_outBuf,
const RealVect a_inputT
 

template<>
void linearOut void *const   a_outBuf,
const Vector< Vector< Box > > &  a_inputT
 

template<>
void linearOut void *const   a_outBuf,
const Vector< Box > &  a_inputT
 

template<>
void linearOut void *const   a_outBuf,
const Vector< double > &  a_inputT
 

template<>
void linearOut void *const   a_outBuf,
const Vector< float > &  a_inputT
 

template<>
void linearOut void *const   a_outBuf,
const Vector< long > &  a_inputT
 

template<>
void linearOut void *const   a_outBuf,
const Vector< int > &  a_inputT
 

template<>
void linearOut void *const   a_outBuf,
const Box a_inputT
 

template<>
void linearOut void *const   a_outBuf,
const double &  a_inputT
 

template<>
void linearOut void *const   a_outBuf,
const float &  a_inputT
 

template<>
void linearOut void *const   a_outBuf,
const unsigned long &  a_inputT
 

template<>
void linearOut void *const   a_outBuf,
const long &  a_inputT
 

template<>
void linearOut void *const   a_outBuf,
const int &  a_inputT
 

template<class T>
void linearOut void *const   a_outBuf,
const T &  inputT
 

template<>
int linearSize const Vector< Vector< int > > &  a_input  ) 
 

template<>
int linearSize const RealVect vindex  ) 
 

template<>
int linearSize const Vector< Vector< Box > > &  a_input  ) 
 

template<>
int linearSize const Vector< Box > &  a_input  ) 
 

template<>
int linearSize const Vector< double > &  a_input  ) 
 

template<>
int linearSize const Vector< float > &  a_input  ) 
 

template<>
int linearSize const Vector< long > &  a_input  ) 
 

template<>
int linearSize const Vector< int > &  a_input  ) 
 

template<>
int linearSize const Box a_input  ) 
 

template<>
int linearSize const double &  a_input  ) 
 

template<>
int linearSize const float &  a_input  ) 
 

template<>
int linearSize const unsigned long &  a_input  ) 
 

template<>
int linearSize const long &  a_input  ) 
 

template<>
int linearSize const int &  a_input  ) 
 

template<class T>
int linearSize const T &  inputT  ) 
 

unsigned int numProc  ) 
 

number of parallel processes

Returns the number of parallel processes running. Always returns at least 1.

class int procID  ) 
 

local process ID

Returns the ID of the locally running process in the range 0 <= procID() < numProc(). This has no relation to the operating system pid. There is always a procID() == 0.

int uniqueProc const SerialTask::task a_task  ) 
 


Variable Documentation

int num_procs
 


Generated on Wed Oct 5 12:43:11 2005 for Chombo&AMRIdealMHD by  doxygen 1.4.1