Reduces a 2D matrix with stripes into 1D dimension by returning the load of the most loaded stripe.
More...
#include <util/prefix_sum_tools.hpp>
Detailed Description
template<typename T, typename Pr, bool row>
class util::AggregMax2Dto1D< T, Pr, row >
Reduces a 2D matrix with stripes into 1D dimension by returning the load of the most loaded stripe.
Reduces a 2D matrix with stripes into 1D dimension. Those stripes are created by partitioning in one dimension. Given any interval on the other dimension, returns the load of the most loaded stripe for that interval.
This provides a 1d prefix sum array using the interval notation as defined by util::PrefixSumArray1DOfTInterval.
- Parameters:
-
| row | select the orientation of the summation. (e.g. If row is true and the rectangle is of size 10x20, then the equivalent 1darray is of size 10) |
List of all members.
Constructor & Destructor Documentation
template<typename T, typename Pr, bool row>
template<typename T , typename Pr , bool row>
template<typename T , typename Pr , bool row>
template<typename T , typename Pr , bool row>
Constructor
- Parameters:
-
| psum | 2D prefix sum Matrix |
| procY | number of processors in X or Y dimension (depending on orientation) |
| ycuts | fixed cut points for X or Y dimension (TODO: format ?) |
Member Function Documentation
template<typename T , typename Pr , bool row>
AggregMax2Dto1D is built by defining a number of stripes in the first dimension. This method returns the number of stripes (chunk of rows/columns in the matrix).
- Returns:
- number of stripes
template<typename T , typename Pr , bool row>
Returns the maximum partition in a given interval. (TODO: please document if this is ]i1:i2] or [i1:i2] or ]i1:i2[ or [i1:i2[).
- Parameters:
-
| left | lower interval bound |
| right | higher interval bound |
- Returns:
- max partition weight in the given interval
template<typename T, typename Pr, bool row>
Member Data Documentation
template<typename T, typename Pr, bool row>
number of fixed rows or columns
template<typename T, typename Pr, bool row>
chunks of partitioned lines (can be row-wise or column-wise). For example: when we parition row-wise, we get line chunks like chunk[0]={l1,l2,l3} chunk[1]={l4} etc.
The documentation for this class was generated from the following files: