implements a PxQ jagged partitioning heuristic using the second dimension as main dimension.
More...
#include <twod/her_jag_2d.hpp>
Detailed Description
template<typename T, typename Pr, T(*)(int procCount, const util::Aggreg2Dto1D< T, util::TransposePrefix2D< T, Pr >, false > &prefixSumArray, int length, int *cutIndexes, T) onedalgoY = oned::NicolPlus<T, util::Aggreg2Dto1D<T, util::TransposePrefix2D<T, Pr>, false> >::nicol_plus, T(*)(int procCount, const util::Aggreg2Dto1D< T, util::TransposePrefix2D< T, Pr >, true > &prefixSumArray, int length, int *cutIndexes, T) onedalgoX = oned::NicolPlus<T, util::Aggreg2Dto1D<T, util::TransposePrefix2D<T, Pr>, true> >::nicol_plus>
class twod::JagPQHeurVer< T, Pr, onedalgoY, onedalgoX >
implements a PxQ jagged partitioning heuristic using the second dimension as main dimension.
This class is implemented as a wrapper to twod::JagPQHeurHor using util::TransposePrefix2D.
- Parameters:
-
| T | data type of instance matrix |
| Pr | data type of 2D matrix |
List of all members.
Constructor & Destructor Documentation
template<typename T , typename Pr , T(*)(int procCount, const util::Aggreg2Dto1D< T, util::TransposePrefix2D< T, Pr >, false > &prefixSumArray, int length, int *cutIndexes, T) onedalgoY, T(*)(int procCount, const util::Aggreg2Dto1D< T, util::TransposePrefix2D< T, Pr >, true > &prefixSumArray, int length, int *cutIndexes, T) onedalgoX>
template<typename T , typename Pr , T(*)(int procCount, const util::Aggreg2Dto1D< T, util::TransposePrefix2D< T, Pr >, false > &prefixSumArray, int length, int *cutIndexes, T) onedalgoY, T(*)(int procCount, const util::Aggreg2Dto1D< T, util::TransposePrefix2D< T, Pr >, true > &prefixSumArray, int length, int *cutIndexes, T) onedalgoX>
Member Function Documentation
template<typename T , typename Pr , T(*)(int procCount, const util::Aggreg2Dto1D< T, util::TransposePrefix2D< T, Pr >, false > &prefixSumArray, int length, int *cutIndexes, T) onedalgoY, T(*)(int procCount, const util::Aggreg2Dto1D< T, util::TransposePrefix2D< T, Pr >, true > &prefixSumArray, int length, int *cutIndexes, T) onedalgoX>
Applies 2d heuristic jagged partitioning to a given 2d prefixSumArray
- Parameters:
-
| procCount | is the number of processors |
| 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) |
| parts | must be allocated before calling this function |
- Returns:
- *parts, a rectangle list of partitions. Borders of the rectangle is incuded when calculating total load of a rectangle
Implements twod::PartBase< T, Pr >.
template<typename T , typename Pr , T(*)(int procCount, const util::Aggreg2Dto1D< T, util::TransposePrefix2D< T, Pr >, false > &prefixSumArray, int length, int *cutIndexes, T) onedalgoY, T(*)(int procCount, const util::Aggreg2Dto1D< T, util::TransposePrefix2D< T, Pr >, true > &prefixSumArray, int length, int *cutIndexes, T) onedalgoX>
selects the number of stripes in the main dimension
- Parameters:
-
| P | number of stripes in the main dimension. If 0, the number of stripes will be computed at runtime by taking the square root of the number of processors. |
Member Data Documentation
template<typename T , typename Pr , T(*)(int procCount, const util::Aggreg2Dto1D< T, util::TransposePrefix2D< T, Pr >, false > &prefixSumArray, int length, int *cutIndexes, T) onedalgoY = oned::NicolPlus<T, util::Aggreg2Dto1D<T, util::TransposePrefix2D<T, Pr>, false> >::nicol_plus, T(*)(int procCount, const util::Aggreg2Dto1D< T, util::TransposePrefix2D< T, Pr >, true > &prefixSumArray, int length, int *cutIndexes, T) onedalgoX = oned::NicolPlus<T, util::Aggreg2Dto1D<T, util::TransposePrefix2D<T, Pr>, true> >::nicol_plus>
The documentation for this class was generated from the following files: