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

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 Real &a_input)
template<> void linearIn (Real &a_outputT, const void *const a_inBuf)
template<> void linearOut (void *const a_outBuf, const Real &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< Real > &a_input)
template<> void linearIn (Vector< Real > &a_outputT, const void *const inBuf)
template<> void linearOut (void *const a_outBuf, const Vector< Real > &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 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

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 Vector< Vector< Box > > &    a_outputT,
const void *const    inBuf
 

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

template<>
void linearIn Vector< Real > &    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 Real   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 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< Real > &    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 Real   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 Vector< Vector< Box > > &    a_input
 

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

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

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

template<>
int linearSize const Box   a_input
 

template<>
int linearSize const Real   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 Apr 16 14:27:31 2003 for Chombo by doxygen1.2.16