Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound 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.

Compounds

class  SerialTask

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.

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 19 22:57:37 2005 for Chombo&AMRIdealMHD by doxygen 1.3.2