12 #ifndef CD_ParallelOps_H
13 #define CD_ParallelOps_H
19 #include <CD_NamespaceHeader.H>
39 inline std::pair<int, int>
47 min(
const Real& a_input) noexcept;
54 min(
const int& a_input) noexcept;
61 min(
const long long int& a_input) noexcept;
68 inline std::pair<Real, RealVect>
69 min(
const Real& a_val,
const RealVect& a_pos) noexcept;
76 max(
const Real& a_input) noexcept;
83 max(
const int& a_input) noexcept;
90 max(
const long long& a_input) noexcept;
97 inline std::pair<Real, RealVect>
98 max(
const Real& a_val,
const RealVect& a_pos) noexcept;
104 inline std::pair<Real, int>
105 maxRank(
const Real& a_val) noexcept;
111 inline std::pair<Real, int>
112 minRank(
const Real& a_val) noexcept;
119 average(
const Real& a_val) noexcept;
126 sum(
const Real& a_value) noexcept;
133 sum(
const int& a_value) noexcept;
140 sum(
const long& a_value) noexcept;
147 sum(
const long long& a_value) noexcept;
153 inline unsigned long long
154 sum(
const unsigned long long& a_value) noexcept;
170 vectorSum(Vector<Real>& a_data) noexcept;
187 vectorSum(Vector<long int>& a_data) noexcept;
196 vectorSum(Vector<long long int>& a_data) noexcept;
199 #include <CD_NamespaceFooter.H>
Implementation of CD_ParallelOps.H.
For putting a bunch of often-used MPI reductions in one place.
Definition: CD_ParallelOps.H:24
Real max(const Real &a_input) noexcept
Get the maximum of the input, reduced over MPI ranks (in the Chombo communicator)
Definition: CD_ParallelOpsImplem.H:176
std::pair< Real, int > maxRank(const Real &a_val) noexcept
Get the maximum value and the rank having the maximum value.
Definition: CD_ParallelOpsImplem.H:293
Real average(const Real &a_val) noexcept
Compute the average (across MPI ranks) of the input value.
Definition: CD_ParallelOpsImplem.H:500
Real standardDeviation(const Real &a_value) noexcept
Compute the standard deviation of the input value.
Definition: CD_ParallelOpsImplem.H:512
std::pair< Real, int > minRank(const Real &a_val) noexcept
Get the minimum value and the rank having the minimum value.
Definition: CD_ParallelOpsImplem.H:323
void vectorSum(Vector< Real > &a_data) noexcept
Perform a summation of all the MPI ranks's input data.
Definition: CD_ParallelOpsImplem.H:448
Real min(const Real &a_input) noexcept
Get the minimum of the input, reduced over MPI ranks (in the Chombo communicator)
Definition: CD_ParallelOpsImplem.H:58
Real sum(const Real &a_value) noexcept
Compute the sum across all MPI ranks.
Definition: CD_ParallelOpsImplem.H:353
void barrier() noexcept
MPI barrier.
Definition: CD_ParallelOpsImplem.H:25
std::pair< int, int > partition(const int a_N) noexcept
Partition the input number such that each MPI rank gets an equal chunk. We assume that N is the lengt...
Definition: CD_ParallelOpsImplem.H:35