MALOC 0.1
Vmpi class

A Virtual MPI communication lawyer object. More...

Files

file  vmpi.h
 Class Vmpi: a Virtual MPI communication layer object.

Classes

struct  sVmpi
 Class Vmpi: Definition. More...

Typedefs

typedef struct sVmpi Vmpi
 Declaration of the Vmpi class as the Vmpi structure.

Functions

int Vmpi_init (int *argc, char ***argv)
 The Vmp initializer.
int Vmpi_finalize (void)
 The Vmp finalizer.
Vmpi * Vmpi_ctor (void)
 The Vmpi constructor.
void Vmpi_dtor (Vmpi **thee)
 The Vmpi destructor.
int Vmpi_rank (Vmpi *thee)
 Return my processor ID.
int Vmpi_size (Vmpi *thee)
 Return the number of processors involved.
int Vmpi_barr (Vmpi *thee)
 An MPI barrier.
int Vmpi_send (Vmpi *thee, int des, char *buf, int bufsize)
 An MPI blocking send.
int Vmpi_recv (Vmpi *thee, int src, char *buf, int bufsize)
 An MPI blocking receive.
int Vmpi_bcast (Vmpi *thee, char *buf, int bufsize)
 An MPI broadcast.
int Vmpi_reduce (Vmpi *thee, char *sbuf, char *rbuf, int bufsize)
 An MPI reduce.
int Vmpi_isend (Vmpi *thee, int des, char *buf, int bufsize)
 An MPI non-blocking send.

Detailed Description

A Virtual MPI communication lawyer object.

Typedef Documentation

◆ Vmpi

typedef struct sVmpi Vmpi

Declaration of the Vmpi class as the Vmpi structure.

Author
Michael Holst

Function Documentation

◆ Vmpi_barr()

int Vmpi_barr ( Vmpi * thee)

An MPI barrier.

Author
Michael Holst
Note
Class Vmpi: Non-inlineable method (vmpi.c)
Returns
Success enumeration
Parameters
theePointer to the Vmpi object

References Vmpi_barr().

Referenced by Vmpi_barr().

Here is the call graph for this function:

◆ Vmpi_bcast()

int Vmpi_bcast ( Vmpi * thee,
char * buf,
int bufsize )

An MPI broadcast.

Author
Michael Holst
Note
Class Vmpi: Non-inlineable method (vmpi.c)
Returns
Success enumeration
Parameters
theePointer to the Vmpi object
bufbuffer containing message
bufsizenumber of items (of declared type) in buffer

References Vmpi_bcast().

Referenced by Vmpi_bcast().

Here is the call graph for this function:

◆ Vmpi_ctor()

Vmpi * Vmpi_ctor ( void )

The Vmpi constructor.

Author
Michael Holst
Note
Class Vmpi: Non-inlineable method (vmpi.c)
Returns
Success enumeration

References Vmpi_ctor().

Referenced by Vmpi_ctor().

Here is the call graph for this function:

◆ Vmpi_dtor()

void Vmpi_dtor ( Vmpi ** thee)

The Vmpi destructor.

Author
Michael Holst
Note
Class Vmpi: Non-inlineable method (vmpi.c)
Returns
None
Parameters
theePointer to pointer of the Vmpi object

References Vmpi_dtor().

Referenced by Vmpi_dtor().

Here is the call graph for this function:

◆ Vmpi_finalize()

int Vmpi_finalize ( void )

The Vmp finalizer.

Author
Michael Holst
Note
Class Vmpi: Non-inlineable method (vmpi.c)
Returns
Success enumeration

References Vmpi_finalize().

Referenced by Vmpi_finalize().

Here is the call graph for this function:

◆ Vmpi_init()

int Vmpi_init ( int * argc,
char *** argv )

The Vmp initializer.

Author
Michael Holst
Note
Class Vmpi: Non-inlineable method (vmpi.c)
Returns
Success enumeration
Parameters
argcnumber of the command line arguments
argvthe command line arguments

References Vmpi_init().

Referenced by Vmpi_init().

Here is the call graph for this function:

◆ Vmpi_isend()

int Vmpi_isend ( Vmpi * thee,
int des,
char * buf,
int bufsize )

An MPI non-blocking send.

Author
Michael Holst
Note
Class Vmpi: Non-inlineable method (vmpi.c)
Returns
Success enumeration
Parameters
theePointer to the Vmpi object
desrank of receiving processor
bufbuffer containing message
bufsizenumber of items (of declared type) in buffer

References Vmpi_isend().

Referenced by Vmpi_isend().

Here is the call graph for this function:

◆ Vmpi_rank()

int Vmpi_rank ( Vmpi * thee)

Return my processor ID.

Author
Michael Holst
Note
Class Vmpi: Non-inlineable method (vmpi.c)
Returns
Success enumeration
Parameters
theePointer to the Vmpi object

References Vmpi_rank().

Referenced by Vmpi_rank().

Here is the call graph for this function:

◆ Vmpi_recv()

int Vmpi_recv ( Vmpi * thee,
int src,
char * buf,
int bufsize )

An MPI blocking receive.

Author
Michael Holst
Note
Class Vmpi: Non-inlineable method (vmpi.c)
Returns
Success enumeration
Parameters
theePointer to the Vmpi object
srcrank of receiving processor
bufbuffer containing message
bufsizenumber of items (of declared type) in buffer

References Vmpi_recv().

Referenced by Vmpi_recv().

Here is the call graph for this function:

◆ Vmpi_reduce()

int Vmpi_reduce ( Vmpi * thee,
char * sbuf,
char * rbuf,
int bufsize )

An MPI reduce.

Author
Michael Holst
Note
Class Vmpi: Non-inlineable method (vmpi.c)
Returns
Success enumeration
Parameters
theePointer to the Vmpi object
sbufaddress of send buffer (choice)
rbufaddress of receiving buffer (choice)
bufsizenumber of items (of declared type) in buffer

References Vmpi_reduce().

Referenced by Vmpi_reduce().

Here is the call graph for this function:

◆ Vmpi_send()

int Vmpi_send ( Vmpi * thee,
int des,
char * buf,
int bufsize )

An MPI blocking send.

Author
Michael Holst
Note
Class Vmpi: Non-inlineable method (vmpi.c)
Returns
Success enumeration
Parameters
theePointer to the Vmpi object
desrank of receiving processor
bufbuffer containing message
bufsizenumber of items (of declared type) in buffer

References Vmpi_send().

Referenced by Vmpi_send().

Here is the call graph for this function:

◆ Vmpi_size()

int Vmpi_size ( Vmpi * thee)

Return the number of processors involved.

Author
Michael Holst
Note
Class Vmpi: Non-inlineable method (vmpi.c)
Returns
Success enumeration
Parameters
theePointer to the Vmpi object

References Vmpi_size().

Referenced by Vmpi_size().

Here is the call graph for this function: