/home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/common/mpi.hh Source File#

DiFfRG: /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/common/mpi.hh Source File
DiFfRG
mpi.hh
Go to the documentation of this file.
1#pragma once
2
4#include <deal.II/base/mpi.h>
5
6namespace DiFfRG
7{
8#ifndef DEAL_II_WITH_MPI
9 // Without MPI, deal.II (>= 9.7) declares the MPI types and constants in
10 // namespace dealii rather than at global scope. Pull them into namespace
11 // DiFfRG so that the API below resolves identically with and without MPI.
12 using dealii::MPI_Comm;
13 using dealii::MPI_Datatype;
14 using dealii::MPI_Op;
15 using dealii::MPI_Request;
16
17 using dealii::MPI_COMM_NULL;
18 using dealii::MPI_COMM_SELF;
19 using dealii::MPI_COMM_WORLD;
20 using dealii::MPI_LOR;
21 using dealii::MPI_MAX;
22 using dealii::MPI_MIN;
23 using dealii::MPI_REQUEST_NULL;
24 using dealii::MPI_SUM;
25#endif
26
27 namespace MPI
28 {
29 uint rank(MPI_Comm comm);
30 uint size(MPI_Comm comm);
31 void barrier(MPI_Comm comm);
32
33 int sum_reduce(MPI_Comm comm, int *data, int size);
34 int max_reduce(MPI_Comm comm, int *data, int size);
35 int min_reduce(MPI_Comm comm, int *data, int size);
36
37 int sum_reduce(MPI_Comm comm, int value);
38 int max_reduce(MPI_Comm comm, int value);
39 int min_reduce(MPI_Comm comm, int value);
40
41 double sum_reduce(MPI_Comm comm, double *data, int size);
42 double max_reduce(MPI_Comm comm, double *data, int size);
43 double min_reduce(MPI_Comm comm, double *data, int size);
44
45 double sum_reduce(MPI_Comm comm, double value);
46 double max_reduce(MPI_Comm comm, double value);
47 double min_reduce(MPI_Comm comm, double value);
48 } // namespace MPI
49} // namespace DiFfRG
uint rank(MPI_Comm comm)
void barrier(MPI_Comm comm)
int min_reduce(MPI_Comm comm, int *data, int size)
int sum_reduce(MPI_Comm comm, int *data, int size)
uint size(MPI_Comm comm)
int max_reduce(MPI_Comm comm, int *data, int size)
Definition complex_math.hh:10
unsigned int uint
Definition utils.hh:24