1#ifndef AMREX_ALG_PARTITION_H_
2#define AMREX_ALG_PARTITION_H_
3#include <AMReX_Config.H>
40 [[nodiscard]]
bool empty ()
const {
return m_ref->m_row.empty(); }
49 [[nodiscard]]
int numActiveProcs ()
const {
return m_ref->m_n_active_procs; }
64 explicit Ref (
Long global_size);
67 void define (
Long global_size);
70 void update_n_active_procs ();
73 int m_n_active_procs = 0;
76 std::shared_ptr<Ref> m_ref;
Definition AMReX_AlgPartition.H:21
Long numGlobalRows() const
Total number of rows covered by the partition.
Definition AMReX_AlgPartition.H:47
AlgPartition()
Construct an empty partition that must be defined later.
Definition AMReX_AlgPartition.cpp:5
int numActiveProcs() const
Number of MPI ranks that own at least one row.
Definition AMReX_AlgPartition.H:49
bool operator==(AlgPartition const &rhs) const noexcept
Compare partitions for identical layouts.
Definition AMReX_AlgPartition.cpp:36
bool empty() const
True if the partition contains no rows.
Definition AMReX_AlgPartition.H:40
Vector< Long > const & dataVector() const
Underlying prefix array describing row offsets (size nproc+1).
Definition AMReX_AlgPartition.H:52
void define(Long global_size)
Recompute an even partition spanning global_size rows.
Definition AMReX_AlgPartition.cpp:21
bool operator!=(AlgPartition const &rhs) const noexcept
Negation of operator==.
Definition AMReX_AlgPartition.cpp:41
Long operator[](int i) const
Starting global row index owned by rank i.
Definition AMReX_AlgPartition.H:43
This class is a thin wrapper around std::vector. Unlike vector, Vector::operator[] provides bound che...
Definition AMReX_Vector.H:28
amrex_long Long
Definition AMReX_INT.H:30
Definition AMReX_Amr.cpp:49