Epetra Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Epetra_SerialComm Class Reference

Epetra_SerialComm: The Epetra Serial Communication Class. More...

#include <Epetra_SerialComm.h>

Inheritance diagram for Epetra_SerialComm:
Inheritance graph
[legend]

Public Member Functions

Epetra_SerialCommoperator= (const Epetra_SerialComm &Comm)
 Assignment Operator. More...
 
- Public Member Functions inherited from Epetra_Object
 Epetra_Object (int TracebackModeIn=-1, bool set_label=true)
 Epetra_Object Constructor. More...
 
 Epetra_Object (const char *const Label, int TracebackModeIn=-1)
 Epetra_Object Constructor. More...
 
 Epetra_Object (const Epetra_Object &Object)
 Epetra_Object Copy Constructor. More...
 
virtual ~Epetra_Object ()
 Epetra_Object Destructor. More...
 
virtual void SetLabel (const char *const Label)
 Epetra_Object Label definition using char *. More...
 
virtual const char * Label () const
 Epetra_Object Label access funtion. More...
 
virtual int ReportError (const std::string Message, int ErrorCode) const
 Error reporting method. More...
 
- Public Member Functions inherited from Epetra_Comm
virtual ~Epetra_Comm ()
 Epetra_Comm Destructor. More...
 

Private Member Functions

void CleanupData ()
 

Private Attributes

Epetra_SerialCommDataSerialCommData_
 

Constructor/Destructor Methods

 Epetra_SerialComm ()
 Epetra_SerialComm Serial Constructor. More...
 
 Epetra_SerialComm (const Epetra_SerialComm &Comm)
 Epetra_SerialComm Copy Constructor. More...
 
Epetra_CommClone () const
 Clone method. More...
 
virtual ~Epetra_SerialComm ()
 Epetra_SerialComm Destructor. More...
 

Barrier Methods

void Barrier () const
 Epetra_SerialComm Barrier function. More...
 

Broadcast Methods

int Broadcast (double *MyVals, int Count, int Root) const
 Epetra_SerialComm Broadcast function. More...
 
int Broadcast (int *MyVals, int Count, int Root) const
 Epetra_SerialComm Broadcast function. More...
 
int Broadcast (long *MyVals, int Count, int Root) const
 Epetra_SerialComm Broadcast function. More...
 
int Broadcast (long long *MyVals, int Count, int Root) const
 Epetra_SerialComm Broadcast function. More...
 
int Broadcast (char *MyVals, int Count, int Root) const
 Epetra_SerialComm Broadcast function. More...
 

Gather Methods

int GatherAll (double *MyVals, double *AllVals, int Count) const
 Epetra_SerialComm All Gather function. More...
 
int GatherAll (int *MyVals, int *AllVals, int Count) const
 Epetra_SerialComm All Gather function. More...
 
int GatherAll (long *MyVals, long *AllVals, int Count) const
 Epetra_SerialComm All Gather function. More...
 
int GatherAll (long long *MyVals, long long *AllVals, int Count) const
 Epetra_SerialComm All Gather function. More...
 

Sum Methods

int SumAll (double *PartialSums, double *GlobalSums, int Count) const
 Epetra_SerialComm Global Sum function. More...
 
int SumAll (int *PartialSums, int *GlobalSums, int Count) const
 Epetra_SerialComm Global Sum function. More...
 
int SumAll (long *PartialSums, long *GlobalSums, int Count) const
 Epetra_SerialComm Global Sum function. More...
 
int SumAll (long long *PartialSums, long long *GlobalSums, int Count) const
 Epetra_SerialComm Global Sum function. More...
 

Max/Min Methods

int MaxAll (double *PartialMaxs, double *GlobalMaxs, int Count) const
 Epetra_SerialComm Global Max function. More...
 
int MaxAll (int *PartialMaxs, int *GlobalMaxs, int Count) const
 Epetra_SerialComm Global Max function. More...
 
int MaxAll (long *PartialMaxs, long *GlobalMaxs, int Count) const
 Epetra_SerialComm Global Max function. More...
 
int MaxAll (long long *PartialMaxs, long long *GlobalMaxs, int Count) const
 Epetra_SerialComm Global Max function. More...
 
int MinAll (double *PartialMins, double *GlobalMins, int Count) const
 Epetra_SerialComm Global Min function. More...
 
int MinAll (int *PartialMins, int *GlobalMins, int Count) const
 Epetra_SerialComm Global Min function. More...
 
int MinAll (long *PartialMins, long *GlobalMins, int Count) const
 Epetra_SerialComm Global Min function. More...
 
int MinAll (long long *PartialMins, long long *GlobalMins, int Count) const
 Epetra_SerialComm Global Min function. More...
 

Parallel Prefix Methods

int ScanSum (double *MyVals, double *ScanSums, int Count) const
 Epetra_SerialComm Scan Sum function. More...
 
int ScanSum (int *MyVals, int *ScanSums, int Count) const
 Epetra_SerialComm Scan Sum function. More...
 
int ScanSum (long *MyVals, long *ScanSums, int Count) const
 Epetra_SerialComm Scan Sum function. More...
 
int ScanSum (long long *MyVals, long long *ScanSums, int Count) const
 Epetra_SerialComm Scan Sum function. More...
 

Attribute Accessor Methods

int MyPID () const
 Return my process ID. More...
 
int NumProc () const
 Returns total number of processes (always returns 1 for SerialComm). More...
 

Gather/Scatter and Directory Constructors

Epetra_DistributorCreateDistributor () const
 Create a distributor object. More...
 
Epetra_DirectoryCreateDirectory (const Epetra_BlockMap &Map) const
 Create a directory object for the given Epetra_BlockMap. More...
 

Print object to an output stream

void Print (std::ostream &os) const
 Print method that implements Epetra_Object virtual Print method. More...
 
void PrintInfo (std::ostream &os) const
 Print method that implements Epetra_Comm virtual PrintInfo method. More...
 

Expert Users and Developers Only

int ReferenceCount () const
 Returns the reference count of SerialCommData. More...
 
const Epetra_SerialCommDataDataPtr () const
 Returns a pointer to the SerialCommData instance this SerialComm uses. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Epetra_Object
static void SetTracebackMode (int TracebackModeValue)
 Set the value of the Epetra_Object error traceback report mode. More...
 
static int GetTracebackMode ()
 Get the value of the Epetra_Object error report mode. More...
 
static std::ostream & GetTracebackStream ()
 Get the output stream for error reporting. More...
 
- Static Public Attributes inherited from Epetra_Object
static int TracebackMode
 
- Protected Member Functions inherited from Epetra_Object
std::string toString (const int &x) const
 
std::string toString (const long long &x) const
 
std::string toString (const double &x) const
 

Detailed Description

Epetra_SerialComm: The Epetra Serial Communication Class.

The Epetra_SerialComm class is an implementation of Epetra_Comm, providing the general information and services needed for other Epetra classes to run on a serial computer.

Definition at line 61 of file Epetra_SerialComm.h.

Constructor & Destructor Documentation

Epetra_SerialComm::Epetra_SerialComm ( )

Epetra_SerialComm Serial Constructor.

Builds an instance of a serial communicator. Even if the application is running in parallel via MPI, this communicator will execute in serial. The access functions return the number of processors to be 1 and the processor ID to be 0.

Definition at line 48 of file Epetra_SerialComm.cpp.

Epetra_SerialComm::Epetra_SerialComm ( const Epetra_SerialComm Comm)

Epetra_SerialComm Copy Constructor.

Makes an exact copy of an existing Epetra_SerialComm instance.

Definition at line 53 of file Epetra_SerialComm.cpp.

Epetra_SerialComm::~Epetra_SerialComm ( )
virtual

Epetra_SerialComm Destructor.

Completely deletes a Epetra_SerialComm object.

Warning
Note: All objects that depend on a Epetra_SerialComm instance should be destroyed prior to calling this function.

Definition at line 209 of file Epetra_SerialComm.cpp.

Member Function Documentation

Epetra_Comm* Epetra_SerialComm::Clone ( ) const
inlinevirtual

Clone method.

Implements Epetra_Comm.

Definition at line 82 of file Epetra_SerialComm.h.

void Epetra_SerialComm::Barrier ( ) const
virtual

Epetra_SerialComm Barrier function.

A no-op for a serial communicator.

Implements Epetra_Comm.

Definition at line 60 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::Broadcast ( double *  MyVals,
int  Count,
int  Root 
) const
virtual

Epetra_SerialComm Broadcast function.

A no-op for a serial communicator.

Parameters
MyValsInOut On entry, the root processor contains the list of values. On exit, all processors will have the same list of values. Note that values must be allocated on all processor before the broadcast.
CountIn On entry, contains the length of the list of MyVals.
RootIn On entry, contains the processor from which all processors will receive a copy of MyVals.

Implements Epetra_Comm.

Definition at line 62 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::Broadcast ( int *  MyVals,
int  Count,
int  Root 
) const
virtual

Epetra_SerialComm Broadcast function.

A no-op for a serial communicator.

Parameters
MyValsInOut On entry, the root processor contains the list of values. On exit, all processors will have the same list of values. Note that values must be allocated on all processor before the broadcast.
CountIn On entry, contains the length of the list of MyVals.
RootIn On entry, contains the processor from which all processors will receive a copy of MyVals.

Implements Epetra_Comm.

Definition at line 69 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::Broadcast ( long *  MyVals,
int  Count,
int  Root 
) const
virtual

Epetra_SerialComm Broadcast function.

A no-op for a serial communicator.

Parameters
MyValsInOut On entry, the root processor contains the list of values. On exit, all processors will have the same list of values. Note that values must be allocated on all processor before the broadcast.
CountIn On entry, contains the length of the list of MyVals.
RootIn On entry, contains the processor from which all processors will receive a copy of MyVals.

Implements Epetra_Comm.

Definition at line 76 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::Broadcast ( long long *  MyVals,
int  Count,
int  Root 
) const
virtual

Epetra_SerialComm Broadcast function.

A no-op for a serial communicator.

Parameters
MyValsInOut On entry, the root processor contains the list of values. On exit, all processors will have the same list of values. Note that values must be allocated on all processor before the broadcast.
CountIn On entry, contains the length of the list of MyVals.
RootIn On entry, contains the processor from which all processors will receive a copy of MyVals.

Implements Epetra_Comm.

Definition at line 83 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::Broadcast ( char *  MyVals,
int  Count,
int  Root 
) const
virtual

Epetra_SerialComm Broadcast function.

A no-op for a serial communicator.

Parameters
MyValsInOut On entry, the root processor contains the list of values. On exit, all processors will have the same list of values. Note that values must be allocated on all processor before the broadcast.
CountIn On entry, contains the length of the list of MyVals.
RootIn On entry, contains the processor from which all processors will receive a copy of MyVals.

Implements Epetra_Comm.

Definition at line 90 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::GatherAll ( double *  MyVals,
double *  AllVals,
int  Count 
) const
virtual

Epetra_SerialComm All Gather function.

A copy for a serial communicator.

Parameters
MyValsIn On entry, contains the list of values, to be sent to all processors.
AllValsOut On exit, contains the list of values from all processors. Must by of size NumProc*Count.
CountIn On entry, contains the length of the list of MyVals.

Implements Epetra_Comm.

Definition at line 97 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::GatherAll ( int *  MyVals,
int *  AllVals,
int  Count 
) const
virtual

Epetra_SerialComm All Gather function.

A copy for a serial communicator.

Parameters
MyValsIn On entry, contains the list of values, to be sent to all processors.
AllValsOut On exit, contains the list of values from all processors. Must by of size NumProc*Count.
CountIn On entry, contains the length of the list of MyVals.

Implements Epetra_Comm.

Definition at line 102 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::GatherAll ( long *  MyVals,
long *  AllVals,
int  Count 
) const
virtual

Epetra_SerialComm All Gather function.

A copy for a serial communicator.

Parameters
MyValsIn On entry, contains the list of values, to be sent to all processors.
AllValsOut On exit, contains the list of values from all processors. Must by of size NumProc*Count.
CountIn On entry, contains the length of the list of MyVals.

Implements Epetra_Comm.

Definition at line 107 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::GatherAll ( long long *  MyVals,
long long *  AllVals,
int  Count 
) const
virtual

Epetra_SerialComm All Gather function.

A copy for a serial communicator.

Parameters
MyValsIn On entry, contains the list of values, to be sent to all processors.
AllValsOut On exit, contains the list of values from all processors. Must by of size NumProc*Count.
CountIn On entry, contains the length of the list of MyVals.

Implements Epetra_Comm.

Definition at line 112 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::SumAll ( double *  PartialSums,
double *  GlobalSums,
int  Count 
) const
virtual

Epetra_SerialComm Global Sum function.

A copy for a serial communicator.

Parameters
PartialSumsIn On entry, contains the list of values, usually partial sums computed locally, to be summed across all processors.
GlobalSumsOut On exit, contains the list of values summed across all processors.
CountIn On entry, contains the length of the list of values.

Implements Epetra_Comm.

Definition at line 117 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::SumAll ( int *  PartialSums,
int *  GlobalSums,
int  Count 
) const
virtual

Epetra_SerialComm Global Sum function.

A copy for a serial communicator.

Parameters
PartialSumsIn On entry, contains the list of values, usually partial sums computed locally, to be summed across all processors.
GlobalSumsOut On exit, contains the list of values summed across all processors.
CountIn On entry, contains the length of the list of values.

Implements Epetra_Comm.

Definition at line 122 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::SumAll ( long *  PartialSums,
long *  GlobalSums,
int  Count 
) const
virtual

Epetra_SerialComm Global Sum function.

A copy for a serial communicator.

Parameters
PartialSumsIn On entry, contains the list of values, usually partial sums computed locally, to be summed across all processors.
GlobalSumsOut On exit, contains the list of values summed across all processors.
CountIn On entry, contains the length of the list of values.

Implements Epetra_Comm.

Definition at line 127 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::SumAll ( long long *  PartialSums,
long long *  GlobalSums,
int  Count 
) const
virtual

Epetra_SerialComm Global Sum function.

A copy for a serial communicator.

Parameters
PartialSumsIn On entry, contains the list of values, usually partial sums computed locally, to be summed across all processors.
GlobalSumsOut On exit, contains the list of values summed across all processors.
CountIn On entry, contains the length of the list of values.

Implements Epetra_Comm.

Definition at line 132 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::MaxAll ( double *  PartialMaxs,
double *  GlobalMaxs,
int  Count 
) const
virtual

Epetra_SerialComm Global Max function.

A copy for a serial communicator.

Parameters
PartialMaxsIn On entry, contains the list of values, usually partial maxs computed locally, using these Partial Maxs, the max across all processors will be computed.
GlobalMaxsOut On exit, contains the list of maxs computed across all processors.
CountIn On entry, contains the length of the list of values.

Implements Epetra_Comm.

Definition at line 137 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::MaxAll ( int *  PartialMaxs,
int *  GlobalMaxs,
int  Count 
) const
virtual

Epetra_SerialComm Global Max function.

A copy for a serial communicator.

Parameters
PartialMaxsIn On entry, contains the list of values, usually partial maxs computed locally; using these Partial Maxs, the max across all processors will be computed.
GlobalMaxsOut On exit, contains the list of maxs computed across all processors.
CountIn On entry, contains the length of the list of values.

Implements Epetra_Comm.

Definition at line 142 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::MaxAll ( long *  PartialMaxs,
long *  GlobalMaxs,
int  Count 
) const
virtual

Epetra_SerialComm Global Max function.

A copy for a serial communicator.

Parameters
PartialMaxsIn On entry, contains the list of values, usually partial maxs computed locally; using these Partial Maxs, the max across all processors will be computed.
GlobalMaxsOut On exit, contains the list of maxs computed across all processors.
CountIn On entry, contains the length of the list of values.

Implements Epetra_Comm.

Definition at line 147 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::MaxAll ( long long *  PartialMaxs,
long long *  GlobalMaxs,
int  Count 
) const
virtual

Epetra_SerialComm Global Max function.

A copy for a serial communicator.

Parameters
PartialMaxsIn On entry, contains the list of values, usually partial maxs computed locally; using these Partial Maxs, the max across all processors will be computed.
GlobalMaxsOut On exit, contains the list of maxs computed across all processors.
CountIn On entry, contains the length of the list of values.

Implements Epetra_Comm.

Definition at line 152 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::MinAll ( double *  PartialMins,
double *  GlobalMins,
int  Count 
) const
virtual

Epetra_SerialComm Global Min function.

A copy for a serial communicator.

Parameters
PartialMinsIn On entry, contains the list of values, usually partial mins computed locally; using these Partial Mins, the min across all processors will be computed.
GlobalMinsOut On exit, contains the list of mins computed across all processors.
CountIn On entry, contains the length of the list of values.

Implements Epetra_Comm.

Definition at line 157 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::MinAll ( int *  PartialMins,
int *  GlobalMins,
int  Count 
) const
virtual

Epetra_SerialComm Global Min function.

A copy for a serial communicator.

Parameters
PartialMinsIn On entry, contains the list of values, usually partial mins computed locally; using these Partial Mins, the min across all processors will be computed.
GlobalMinsOut On exit, contains the list of mins computed across all processors.
CountIn On entry, contains the length of the list of values.

Implements Epetra_Comm.

Definition at line 162 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::MinAll ( long *  PartialMins,
long *  GlobalMins,
int  Count 
) const
virtual

Epetra_SerialComm Global Min function.

A copy for a serial communicator.

Parameters
PartialMinsIn On entry, contains the list of values, usually partial mins computed locally; using these Partial Mins, the min across all processors will be computed.
GlobalMinsOut On exit, contains the list of mins computed across all processors.
CountIn On entry, contains the length of the list of values.

Implements Epetra_Comm.

Definition at line 167 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::MinAll ( long long *  PartialMins,
long long *  GlobalMins,
int  Count 
) const
virtual

Epetra_SerialComm Global Min function.

A copy for a serial communicator.

Parameters
PartialMinsIn On entry, contains the list of values, usually partial mins computed locally; using these Partial Mins, the min across all processors will be computed.
GlobalMinsOut On exit, contains the list of mins computed across all processors.
CountIn On entry, contains the length of the list of values.

Implements Epetra_Comm.

Definition at line 172 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::ScanSum ( double *  MyVals,
double *  ScanSums,
int  Count 
) const
virtual

Epetra_SerialComm Scan Sum function.

A copy for a serial communicator.

Parameters
MyValsIn On entry, contains the list of values to be summed across all processors.
ScanSumsOut On exit, contains the list of values summed across processors 0 through i.
CountIn On entry, contains the length of the list of values.

Implements Epetra_Comm.

Definition at line 177 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::ScanSum ( int *  MyVals,
int *  ScanSums,
int  Count 
) const
virtual

Epetra_SerialComm Scan Sum function.

A copy for a serial communicator.

Parameters
MyValsIn On entry, contains the list of values to be summed across all processors.
ScanSumsOut On exit, contains the list of values summed across processors 0 through i.
CountIn On entry, contains the length of the list of values.

Implements Epetra_Comm.

Definition at line 182 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::ScanSum ( long *  MyVals,
long *  ScanSums,
int  Count 
) const
virtual

Epetra_SerialComm Scan Sum function.

A copy for a serial communicator.

Parameters
MyValsIn On entry, contains the list of values to be summed across all processors.
ScanSumsOut On exit, contains the list of values summed across processors 0 through i.
CountIn On entry, contains the length of the list of values.

Implements Epetra_Comm.

Definition at line 187 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::ScanSum ( long long *  MyVals,
long long *  ScanSums,
int  Count 
) const
virtual

Epetra_SerialComm Scan Sum function.

A copy for a serial communicator.

Parameters
MyValsIn On entry, contains the list of values to be summed across all processors.
ScanSumsOut On exit, contains the list of values summed across processors 0 through i.
CountIn On entry, contains the length of the list of values.

Implements Epetra_Comm.

Definition at line 192 of file Epetra_SerialComm.cpp.

int Epetra_SerialComm::MyPID ( ) const
inlinevirtual

Return my process ID.

In MPI mode returns the rank of the calling process. In serial mode returns 0.

Implements Epetra_Comm.

Definition at line 432 of file Epetra_SerialComm.h.

int Epetra_SerialComm::NumProc ( ) const
inlinevirtual

Returns total number of processes (always returns 1 for SerialComm).

Implements Epetra_Comm.

Definition at line 435 of file Epetra_SerialComm.h.

Epetra_Distributor * Epetra_SerialComm::CreateDistributor ( ) const
virtual

Create a distributor object.

Implements Epetra_Comm.

Definition at line 197 of file Epetra_SerialComm.cpp.

Epetra_Directory * Epetra_SerialComm::CreateDirectory ( const Epetra_BlockMap Map) const
virtual

Create a directory object for the given Epetra_BlockMap.

Implements Epetra_Comm.

Definition at line 203 of file Epetra_SerialComm.cpp.

void Epetra_SerialComm::Print ( std::ostream &  os) const
inlinevirtual

Print method that implements Epetra_Object virtual Print method.

Reimplemented from Epetra_Object.

Definition at line 454 of file Epetra_SerialComm.h.

void Epetra_SerialComm::PrintInfo ( std::ostream &  os) const
inlinevirtual

Print method that implements Epetra_Comm virtual PrintInfo method.

Implements Epetra_Comm.

Definition at line 472 of file Epetra_SerialComm.h.

int Epetra_SerialComm::ReferenceCount ( ) const

Returns the reference count of SerialCommData.

(Intended for testing purposes.)

Definition at line 232 of file Epetra_SerialComm.cpp.

const Epetra_SerialCommData* Epetra_SerialComm::DataPtr ( ) const
inline

Returns a pointer to the SerialCommData instance this SerialComm uses.

(Intended for developer use only for testing purposes.)

Definition at line 487 of file Epetra_SerialComm.h.

Epetra_SerialComm & Epetra_SerialComm::operator= ( const Epetra_SerialComm Comm)

Assignment Operator.

Definition at line 213 of file Epetra_SerialComm.cpp.

void Epetra_SerialComm::CleanupData ( )
private

Definition at line 222 of file Epetra_SerialComm.cpp.

Member Data Documentation

Epetra_SerialCommData* Epetra_SerialComm::SerialCommData_
private

Definition at line 497 of file Epetra_SerialComm.h.


The documentation for this class was generated from the following files: