Multi-ApplicationOnlineProfiling  2.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Virtual MPI

This module contains the virtual MPI part of MALP. More...

Modules

 Internal use only
 Internal use only.
 
 Maps
 Maps related utilities.
 
 Partitions
 Partitions related utilities.
 
 Streams
 Stream related utilities.
 

Data Structures

struct  VMPI_Status
 Global status handling. More...
 

Macros

#define VMPI_NG_ARBITRARY_VALUE   0x1234567llu
 Defines of magic values. More...
 
#define VMPI_NG_MAXIMUM_TAGS   1000000
 Maximum number of tags allowed. More...
 
#define MPI_COMM_UNIVERSE   ((MPI_Comm)VMPI_NG_ARBITRARY_VALUE)
 This value is used to refer to MPI_COMM_UNIVERSE from the host application. More...
 
#define VMPI_PNAME_LEN   200
 Maximum size of a program name. More...
 
#define VMPI_COMMAND_LEN   1024
 Maximum command line name. More...
 
#define MACRO_MPI_Comm(_c)
 Macro used to wrap the MPI communicator. More...
 

Enumerations

enum  VMPI_Return_Status { VMPI_EAGAIN =-3, VMPI_ERROR =-2, VMPI_MEM =-1, VMPI_SUCCESS =0 }
 Enum for error handling. More...
 

Variables

struct VMPI_Status __vmpi_status
 global VMPI status More...
 

Detailed Description

This module contains the virtual MPI part of MALP.

Virtual MPI consists of a set of functions allowing multiple MPI programs to work together (Streams, Mapping etc.).

To allow that, it also wrapps MPI calls in order to do some things before/after actual MPI calls (PMPI interface) . It does some initialization and release related to MALP and replaces the MPI communicator (MACRO_MPI_Comm).

The MPI functions are wrapped using the Wrapper

Macro Definition Documentation

#define MACRO_MPI_Comm (   _c)
Value:
{\
if (_c==MPI_COMM_WORLD)\
else if( _c==MPI_COMM_UNIVERSE)\
_c=MPI_COMM_WORLD;\
}
static MPI_Comm VMPI_Get_partition_comm()
Returns current partition's communicator.
Definition: VMPI.h:175
#define MPI_COMM_UNIVERSE
This value is used to refer to MPI_COMM_UNIVERSE from the host application.
Definition: VMPI.h:48

Macro used to wrap the MPI communicator.

Parameters
_cThe requested communicator (must be a variable)

Definition at line 32 of file VMPI_Wrap.h.

#define MPI_COMM_UNIVERSE   ((MPI_Comm)VMPI_NG_ARBITRARY_VALUE)

This value is used to refer to MPI_COMM_UNIVERSE from the host application.

Definition at line 48 of file VMPI.h.

#define VMPI_COMMAND_LEN   1024

Maximum command line name.

Definition at line 94 of file VMPI.h.

#define VMPI_NG_ARBITRARY_VALUE   0x1234567llu

Defines of magic values.

Definition at line 38 of file VMPI.h.

#define VMPI_NG_MAXIMUM_TAGS   1000000

Maximum number of tags allowed.

Definition at line 43 of file VMPI.h.

#define VMPI_PNAME_LEN   200

Maximum size of a program name.

Definition at line 89 of file VMPI.h.

Enumeration Type Documentation

Enum for error handling.

Enumerator
VMPI_EAGAIN 

The call cannot pursue retry.

VMPI_ERROR 

Something went wrong.

VMPI_MEM 

Failed to allocate some memory.

VMPI_SUCCESS 

All OK.

Definition at line 54 of file VMPI.h.

Variable Documentation

struct VMPI_Status __vmpi_status

global VMPI status

Definition at line 30 of file VMPI.c.