00001
00038 #ifndef _VMPI_H_
00039 #define _VMPI_H_
00040
00041 #include <maloc/maloc_base.h>
00042
00043 #include <maloc/vsys.h>
00044
00045
00046
00047
00048
00049
00050
00051
00057 struct sVmpi {
00058 int mpi_rank;
00059 int mpi_size;
00060 };
00061
00067 typedef struct sVmpi Vmpi;
00068
00069
00070
00071
00072
00073
00074
00075 #if !defined(VINLINE_MALOC)
00076 #else
00077 #endif
00078
00088 int Vmpi_init(int *argc, char ***argv);
00089
00097 int Vmpi_finalize(void);
00098
00106 Vmpi* Vmpi_ctor(void);
00107
00116 void Vmpi_dtor(Vmpi **thee);
00117
00126 int Vmpi_rank(Vmpi *thee);
00127
00136 int Vmpi_size(Vmpi *thee);
00137
00146 int Vmpi_barr(Vmpi *thee);
00147
00159 int Vmpi_send(Vmpi *thee, int des, char *buf, int bufsize);
00160
00172 int Vmpi_recv(Vmpi *thee, int src, char *buf, int bufsize);
00173
00184 int Vmpi_bcast(Vmpi *thee, char *buf, int bufsize);
00185
00197 int Vmpi_reduce(Vmpi *thee, char *sbuf, char *rbuf, int bufsize);
00198
00210 int Vmpi_isend(Vmpi *thee, int des, char *buf, int bufsize);
00211
00212 #endif
00213
00214