PTransport.h

Classes

PTransport -- Base class for parallel data transport models (full description)
MPITransport -- MPI data transport models (full description)
SerialTransport -- Serial Data Transport Model (full description)

class PTransport

Interface

Public Members
PTransport() : numprocs(0), myCpu(0), aWorker(0), aTag(0)
virtual ~PTransport()
Int numThreads()
Int cpu()
Int connect(Int i)
void connectAnySource()
void connectToController()
void setTag(Int tag)
void setAnyTag()
Bool isController()
Bool isWorker()
virtual Int anyTag() = 0
virtual Int anySource() = 0
virtual Int controllerRank() = 0
virtual Int put(const Array<Float> &) = 0
virtual Int put(const Array<Double> &) = 0
virtual Int put(const Array<Complex> &) = 0
virtual Int put(const Array<DComplex> &) = 0
virtual Int put(const Array<Int> &) = 0
virtual Int put(const Float &) = 0
virtual Int put(const Double &) = 0
virtual Int put(const Complex &) = 0
virtual Int put(const DComplex &) = 0
virtual Int put(const Int &) = 0
virtual Int put(const String &) = 0
virtual Int put(const Bool &) = 0
virtual Int put(const Record &) = 0
virtual Int get(Array<Float> &) = 0
virtual Int get(Array<Double> &) = 0
virtual Int get(Array<Complex> &) = 0
virtual Int get(Array<DComplex> &) = 0
virtual Int get(Array<Int> &) = 0
virtual Int get(Float &) = 0
virtual Int get(Double &) = 0
virtual Int get(Complex &) = 0
virtual Int get(DComplex &) = 0
virtual Int get(Int &) = 0
virtual Int get(String &) = 0
virtual Int get(Bool &) = 0
virtual Int get(Record &) = 0

Description

or

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

Synopsis

Example

Motivation

Member Description

PTransport() : numprocs(0), myCpu(0), aWorker(0), aTag(0)

Default constructor and destructor

virtual ~PTransport()

Int numThreads()

Return the number of processes

Int cpu()

Return the current process rank

Int connect(Int i)

Set the properties of the current connection including source/destination and message tag.

void connectAnySource()

void connectToController()

void setTag(Int tag)

void setAnyTag()

Bool isController()

Status functions for worker/controller designation

Bool isWorker()

virtual Int anyTag() = 0

Default source and message tag values

virtual Int anySource() = 0

virtual Int controllerRank() = 0

Define the rank of the controller process

virtual Int put(const Array<Float> &) = 0

Get and put functions on the parallel data transport layer

virtual Int put(const Array<Double> &) = 0

virtual Int put(const Array<Complex> &) = 0

virtual Int put(const Array<DComplex> &) = 0

virtual Int put(const Array<Int> &) = 0

virtual Int put(const Float &) = 0

virtual Int put(const Double &) = 0

virtual Int put(const Complex &) = 0

virtual Int put(const DComplex &) = 0

virtual Int put(const Int &) = 0

virtual Int put(const String &) = 0

virtual Int put(const Bool &) = 0

virtual Int put(const Record &) = 0

virtual Int get(Array<Float> &) = 0

virtual Int get(Array<Double> &) = 0

virtual Int get(Array<Complex> &) = 0

virtual Int get(Array<DComplex> &) = 0

virtual Int get(Array<Int> &) = 0

virtual Int get(Float &) = 0

virtual Int get(Double &) = 0

virtual Int get(Complex &) = 0

virtual Int get(DComplex &) = 0

virtual Int get(Int &) = 0

virtual Int get(String &) = 0

virtual Int get(Bool &) = 0

virtual Int get(Record &) = 0


class MPITransport : public PTransport

Interface

MPITransport()
virtual ~MPITransport()
MPITransport(Int, Char *argv[])
virtual Int anyTag()
virtual Int anySource()
virtual Int controllerRank()
virtual Int put(const Array<Float> &)
virtual Int put(const Array<Double> &)
virtual Int put(const Array<Complex> &)
virtual Int put(const Array<DComplex> &)
virtual Int put(const Array<Int> &)
virtual Int put(const Float &)
virtual Int put(const Double &)
virtual Int put(const Complex &)
virtual Int put(const DComplex &)
virtual Int put(const Int &)
virtual Int put(const String &)
virtual Int put(const Bool &)
virtual Int put(const Record &)
virtual Int get(Array<Float> &)
virtual Int get(Array<Double> &)
virtual Int get(Array<Complex> &)
virtual Int get(Array<DComplex> &)
virtual Int get(Array<Int> &)
virtual Int get(Float &)
virtual Int get(Double &)
virtual Int get(Complex &)
virtual Int get(DComplex &)
virtual Int get(Int &)
virtual Int get(String &)
virtual Int get(Bool &)
virtual Int get(Record &)
Private Members
void setSourceAndTag (Int &source, Int &tag)
void setDestAndTag (Int &dest, Int &tag)

Description

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

Synopsis

Example

Motivation

Member Description

MPITransport()

Default constructor and destructor

virtual ~MPITransport()

MPITransport(Int, Char *argv[])

Construct from argv

virtual Int anyTag()

Default source and message tag values

virtual Int anySource()

virtual Int controllerRank()

Define the rank of the controller process

virtual Int put(const Array<Float> &)

Get and put functions on the parallel data transport layer

virtual Int put(const Array<Double> &)

virtual Int put(const Array<Complex> &)

virtual Int put(const Array<DComplex> &)

virtual Int put(const Array<Int> &)

virtual Int put(const Float &)

virtual Int put(const Double &)

virtual Int put(const Complex &)

virtual Int put(const DComplex &)

virtual Int put(const Int &)

virtual Int put(const String &)

virtual Int put(const Bool &)

virtual Int put(const Record &)

virtual Int get(Array<Float> &)

virtual Int get(Array<Double> &)

virtual Int get(Array<Complex> &)

virtual Int get(Array<DComplex> &)

virtual Int get(Array<Int> &)

virtual Int get(Float &)

virtual Int get(Double &)

virtual Int get(Complex &)

virtual Int get(DComplex &)

virtual Int get(Int &)

virtual Int get(String &)

virtual Int get(Bool &)

virtual Int get(Record &)

void setSourceAndTag (Int &source, Int &tag)

Utility functions to set default source/destination and tag values

void setDestAndTag (Int &dest, Int &tag)


class SerialTransport : public PTransport

Interface

Public Members
SerialTransport() : PTransport(), inQue(0), outQue(0), lastInQue(0)
virtual ~SerialTransport()
virtual Int anyTag()
virtual Int anySource()
virtual Int controllerRank()
virtual Int put(const Array<Float> &)
virtual Int put(const Array<Double> &)
virtual Int put(const Array<Complex> &)
virtual Int put(const Array<DComplex> &)
virtual Int put(const Array<Int> &)
virtual Int put(const Float &)
virtual Int put(const Double &)
virtual Int put(const Complex &)
virtual Int put(const DComplex &)
virtual Int put(const Int &)
virtual Int put(const String &)
virtual Int put(const Bool &)
virtual Int put(const Record &)
virtual Int get(Array<Float> &)
virtual Int get(Array<Double> &)
virtual Int get(Array<Complex> &)
virtual Int get(Array<DComplex> &)
virtual Int get(Array<Int> &)
virtual Int get(Float &)
virtual Int get(Double &)
virtual Int get(Complex &)
virtual Int get(DComplex &)
virtual Int get(Int &)
virtual Int get(String &)
virtual Int get(Bool &)
virtual Int get(Record &)
Private Members
Int add2Queue(void *)
void *getFromQueue()

Description

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

Synopsis

Example

Motivation

SerialTransport is your basic no-op. We're just passing the pointers to avoid unnecessary data copying.

Member Description

SerialTransport() : PTransport(), inQue(0), outQue(0), lastInQue(0)

Default constructor and destructor

virtual ~SerialTransport()

virtual Int anyTag()

Default source and message tag values

virtual Int anySource()

virtual Int controllerRank()

Define the rank of the controller process

virtual Int put(const Array<Float> &)

Get and put functions on the data transport layer

virtual Int put(const Array<Double> &)

virtual Int put(const Array<Complex> &)

virtual Int put(const Array<DComplex> &)

virtual Int put(const Array<Int> &)

virtual Int put(const Float &)

virtual Int put(const Double &)

virtual Int put(const Complex &)

virtual Int put(const DComplex &)

virtual Int put(const Int &)

virtual Int put(const String &)

virtual Int put(const Bool &)

virtual Int put(const Record &)

virtual Int get(Array<Float> &)

virtual Int get(Array<Double> &)

virtual Int get(Array<Complex> &)

virtual Int get(Array<DComplex> &)

virtual Int get(Array<Int> &)

virtual Int get(Float &)

virtual Int get(Double &)

virtual Int get(Complex &)

virtual Int get(DComplex &)

virtual Int get(Int &)

virtual Int get(String &)

virtual Int get(Bool &)

virtual Int get(Record &)

Int add2Queue(void *)

void *getFromQueue()