implements the hierarchical relaxed heuristic and some variants.
More...
#include <twod/rec_bisect_relaxed.hpp>
Detailed Description
template<typename T, typename Pr, int type = 0, bool middle = false>
class twod::HierRelaxed< T, Pr, type, middle >
implements the hierarchical relaxed heuristic and some variants.
- Parameters:
-
| T | is the data type of prefix sum array. |
| Pr | is the 2D prefix sum array. |
| type | is the recursive bisection strategy type. Strategy types are LOAD, DIST, VERT_ALT, HOR_ALT |
List of all members.
Public Member Functions |
virtual T | part (int procCount, const Pr &prefixSumArray, util::RectList< T, Pr > &parts) |
| Applies a 2d partitioning algorithm to a given 2d prefixSumArray .
|
virtual | ~HierRelaxed () |
Static Public Attributes |
static const int | LOAD = 0 |
| Cut to minimize load.
|
static const int | DIST = 1 |
| Cut to minimize side-to-side distance.
|
static const int | VERT_ALT = 2 |
| start vertically and alternate between horizontal
|
static const int | HOR_ALT = 3 |
| start horizontally and alternate between vertical
|
Static Private Member Functions |
static T | rec_bisect_2d_internal (int procCount, const Pr &prefixSumArray, util::RectList< T, Pr > &parts, util::rectangle r, bool orient) |
Constructor & Destructor Documentation
template<typename T , typename Pr , int type = 0, bool middle = false>
Member Function Documentation
template<typename T , typename Pr , int type, bool middle>
Applies a 2d partitioning algorithm to a given 2d prefixSumArray .
- Parameters:
-
[in] | procCount | is the number of processors |
[in] | prefixSumArray | first column and first row consists of zero only. But the borders of rectangles in rect_list never touch this area (index 0 in row or column) |
[out] | parts | must be empty before calling this function. It will contain the partition after the function return |
- Returns:
- the load of the most loaded rectangle of parts
Implements twod::PartBase< T, Pr >.
template<typename T , typename Pr , int type, bool middle>
Member Data Documentation
template<typename T , typename Pr , int type = 0, bool middle = false>
Cut to minimize side-to-side distance.
template<typename T , typename Pr , int type = 0, bool middle = false>
start horizontally and alternate between vertical
template<typename T , typename Pr , int type = 0, bool middle = false>
template<typename T , typename Pr , int type = 0, bool middle = false>
start vertically and alternate between horizontal
The documentation for this class was generated from the following files: