2
* ADIOS is freely available under the terms of the BSD license described
3
* in the COPYING file in the top level directory of this source distribution.
5
* Copyright (c) 2008 - 2009. UT-BATTELLE, LLC. All rights reserved.
8
#ifndef __MPI_DUMMY_H__
9
#define __MPI_DUMMY_H__
12
A dummy MPI 'implementation' for the BP READ API, to have an MPI-free version of the API
15
#include <sys/types.h>
22
typedef uint64_t MPI_Status;
25
typedef int MPI_Datatype; /* Store the byte size of a type in such vars */
26
typedef uint64_t MPI_Offset;
30
#define MPI_ERR_BUFFER 1 /* Invalid buffer pointer */
31
#define MPI_ERR_COUNT 2 /* Invalid count argument */
32
#define MPI_ERR_TYPE 3 /* Invalid datatype argument */
33
#define MPI_ERR_TAG 4 /* Invalid tag argument */
34
#define MPI_ERR_COMM 5 /* Invalid communicator */
35
#define MPI_MAX_ERROR_STRING 512
36
#define MPI_MODE_RDONLY O_RDONLY
37
#define MPI_SEEK_SET SEEK_SET
38
#define MPI_SEEK_CUR SEEK_CUR
39
#define MPI_SEEK_END SEEK_END
40
#define MPI_BYTE 1 /* I need the size of the type here */
41
#define MPI_INFO_NULL NULL
43
#define MPI_COMM_NULL 0
44
#define MPI_COMM_WORLD 1
45
#define MPI_COMM_SELF 2
51
#define MPI_ANY_SOURCE 0
56
int MPI_Init(int *argc, char ***argv);
58
int MPI_Initialized( int* flag ) ;
60
int MPI_Barrier(MPI_Comm comm);
61
int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm);
63
int MPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm);
64
int MPI_Comm_rank(MPI_Comm comm, int *rank);
65
int MPI_Comm_size(MPI_Comm comm, int *size);
66
MPI_Comm MPI_Comm_f2c(MPI_Fint comm);
68
int MPI_Gather(void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm) ;
69
int MPI_Gatherv(void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int *recvcnts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm);
71
int MPI_File_open(MPI_Comm comm, char *filename, int amode, MPI_Info info, MPI_File *fh);
72
int MPI_File_close(MPI_File *fh);
73
int MPI_File_get_size(MPI_File fh, MPI_Offset *size);
74
int MPI_File_read(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status);
75
int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence);
77
int MPI_Get_count(MPI_Status *status, MPI_Datatype datatype, int *count);
78
int MPI_Error_string(int errorcode, char *string, int *resultlen);
79
int MPI_Comm_split ( MPI_Comm comm, int color, int key, MPI_Comm *comm_out );