7 #include "mpi/no-mpi.hpp"
10 #include "mpi/constants.hpp"
11 #include "mpi/datatypes.hpp"
12 #include "mpi/optional.hpp"
13 #include "mpi/status.hpp"
14 #include "mpi/request.hpp"
15 #include "mpi/point-to-point.hpp"
16 #include "mpi/communicator.hpp"
17 #include "mpi/collectives.hpp"
28 inline environment(
int threading = MPI_THREAD_FUNNELED);
29 inline environment(
int argc,
char* argv[],
int threading = MPI_THREAD_FUNNELED);
32 int threading()
const {
return provided_threading; }
34 int provided_threading;
40 diy::mpi::environment::
41 environment(
int threading)
44 int argc = 0;
char** argv;
45 MPI_Init_thread(&argc, &argv, threading, &provided_threading);
47 provided_threading = threading;
51 diy::mpi::environment::
52 environment(
int argc,
char* argv[],
int threading)
55 MPI_Init_thread(&argc, &argv, threading, &provided_threading);
57 (void) argc; (void) argv;
58 provided_threading = threading;
62 diy::mpi::environment::