PaCO++  0.05
paco_mpi.h
Go to the documentation of this file.
1 #ifndef __paco_mpi_h_
2 #define __paco_mpi_h_
3 
4 #include <mpi.h>
5 #include "paco_com.h"
6 
7 class paco_mpi : virtual public paco_com
8 {
9  public:
10  paco_mpi(void* group);
11  virtual ~paco_mpi();
12 
13  int paco_rank(int * rank);
14  int paco_barrier();
15 
16  int paco_bcast(void* buf, int count, int root);
17  protected:
18  MPI_Comm my_group_id;
19 };
20 
21 class paco_mpi_fabrique : virtual public paco_fabrique_com
22 {
23  public:
24  paco_com* paco_create(void* group) {
25  return new paco_mpi(group);
26  }
27 };
28 
29 #endif
paco_com * paco_create(void *group)
Definition: paco_mpi.h:24
int paco_rank(int *rank)
Definition: paco_mpi.cc:14
virtual ~paco_mpi()
Definition: paco_mpi.cc:10
MPI_Comm my_group_id
Definition: paco_mpi.h:18
int paco_barrier()
Definition: paco_mpi.cc:20
paco_mpi(void *group)
Definition: paco_mpi.cc:5
int paco_bcast(void *buf, int count, int root)
Definition: paco_mpi.cc:29