Multi-ApplicationOnlineProfiling  2.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
VMPI_stream.h File Reference
#include <mpi.h>
#include <stdlib.h>
#include <VMPI.h>
#include <Spinlock.h>
Include dependency graph for VMPI_stream.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _VMPI_Stream
 Internal declaration of a stream endpoint. More...
 
struct  VMPI_Stream
 Defines a MPI stream. More...
 

Macros

#define VMPI_STREAM_MAX_ASYNC   10
 Maximum number of asynchronous cells. More...
 

Enumerations

enum  VMPI_Stream_load_balance { VMPI_STREAM_BALANCE_NONE, VMPI_STREAM_BALANCE_RANDOM, VMPI_STREAM_BALANCE_ROUND_ROBIN }
 Defines the load ballancing modes available to MPI_Streams. More...
 
enum  VMPI_Stream_mode { VMPI_STREAM_R, VMPI_STREAM_W, VMPI_STREAM_RW }
 Defines MPI_Stream mode. More...
 
enum  VMPI_Stream_blocking { VMPI_STREAM_BLOCK, VMPI_STREAM_NONBLOCK }
 Defines call mode. More...
 

Functions

int VMPI_Stream_init (VMPI_Stream *st, size_t block_size, VMPI_Stream_load_balance lb)
 Initializes a stream should be called before any *open call. More...
 
int VMPI_Stream_open (VMPI_Stream *st, int dest, char *mode)
 Open a stream to dest rank, dest should do the symmetrical call. More...
 
int VMPI_Stream_open_map (VMPI_Stream *st, VMPI_Map *map, char *mode)
 Open a stream according to a mapping. More...
 
int VMPI_Stream_close (VMPI_Stream *st)
 Closes a stream and sends EOF to remote endpoints. More...
 
int VMPI_Stream_join (VMPI_Stream *dest, VMPI_Stream *src)
 Join two streams in the same set. More...
 
int VMPI_Stream_read (VMPI_Stream *st, char *buff, unsigned int block_count, VMPI_Stream_blocking block)
 Read data from a VMPI_Stream. More...
 
int VMPI_Stream_write (VMPI_Stream *st, char *buff, unsigned int block_count)
 Write data to a VMPI_Stream. More...
 
int VMPI_Stream_test_read (VMPI_Stream *st)
 Is this stream ready for read ? More...
 
int VMPI_Stream_test_write (VMPI_Stream *st)
 Is this stream ready for writing ? More...
 
static int VMPI_Stream_read_count (VMPI_Stream *st)
 Get the number of input streams. More...
 
static int VMPI_Stream_write_count (VMPI_Stream *st)
 Get the number of output streams. More...