blob: 0a8b42336d1df4d16f0262e9532eb69f15d486d2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
#include <cctk.h>
#include <string>
#include <vector>
#ifdef CCTK_MPI
# include <mpi.h>
#else
# include "nompi.h"
#endif
namespace CarpetLib
{
using namespace std;
// String communication
vector <string>
gather_string (MPI_Comm comm, int root,
string const & data);
vector <string>
allgather_string (MPI_Comm comm,
string const & data);
vector <string>
alltoallv_string (MPI_Comm comm,
vector <string> const & data);
string
broadcast_string (MPI_Comm comm, int root,
string const & data);
// Arbitrary datatypes
template <typename T>
vector <vector <T> >
allgatherv (MPI_Comm comm,
vector <T> const & data);
template <typename T>
vector <T>
alltoall (MPI_Comm comm,
vector <T> const & data);
template <typename T>
vector <vector <T> >
alltoallv (MPI_Comm comm,
vector <vector <T> > const & data);
template <typename T>
vector <T>
alltoallv1 (MPI_Comm comm,
vector <vector <T> > const & data);
} // namespace CarpetLib
|