|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Row partitioning along axis 0. More...
#include <ca-tiling.H>
Static Public Member Functions | |
| static constexpr Range1D | slab (const std::array< ca_size_t, Rank > &extents, const ca_size_t parts, const ca_size_t idx) noexcept |
| Number of partitions along axis 0 with a balanced split. | |
Row partitioning along axis 0.
For row-major storage this produces contiguous slabs of memory per worker and is therefore the friendliest schedule for the L1/L2 cache hierarchy. It works for every rank (1, 2, 3).
| Rank | lattice dimension (must match the engine's). |
Definition at line 179 of file ca-tiling.H.
|
inlinestaticconstexprnoexcept |
Number of partitions along axis 0 with a balanced split.
Each other axis is iterated in full inside every partition.
| [in] | extents | user-visible extents of the lattice. |
| [in] | parts | requested number of partitions. |
| [in] | idx | partition index. |
idx. Definition at line 190 of file ca-tiling.H.
References Aleph::blossom_maximum_cardinality_matching(), and Aleph::CA::split_range_balanced().
Referenced by Aleph::CA::Parallel_Synchronous_Engine< Lattice, Rule, Neighborhood, Order >::step(), and TEST().