Main Page   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:

Include dependency graph

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

Included by dependency graph

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 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< 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< 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 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< 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 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< 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 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 Jan 19 17:55:08 2005 for Chombo&INSwithParticles by doxygen1.2.16