Adding communication library in src/ck-com and src/conv-com
[charm.git] / src / ck-com / MPIStrategy.h
1 #ifndef MPI_STRATEGY
2 #define MPI_STRATEGY
3
4 #include "ComlibManager.h"
5
6 #if CHARM_MPI
7 #include "mpi.h"
8 #define MPI_MAX_MSG_SIZE 1000
9 #define MPI_BUF_SIZE 2000000
10 char mpi_sndbuf[MPI_BUF_SIZE];
11 char mpi_recvbuf[MPI_BUF_SIZE];
12 #endif
13
14 class MPIStrategy : public CharmStrategy {
15     CharmMessageHolder *messageBuf;
16     int messageCount;
17     int npes, *pelist;
18
19  public:
20     MPIStrategy();
21     MPIStrategy(CkMigrateMessage *m) {}
22     MPIStrategy(int npes, int *pelist);
23
24     virtual void insertMessage(CharmMessageHolder *msg);
25     virtual void doneInserting();
26
27     virtual void pup(PUP::er &p);
28     PUPable_decl(MPIStrategy);
29 };
30 #endif