Public Member Functions | Private Member Functions

twod::JagMHeurProbeHor< T, Pr, onedalgoY, onedalgoX > Class Template Reference

Finds least max proc load value by applying binary search over it. First cut direction is horizontal. See section 3.2.2 PROBE-M algorithm of "E. Saule, E. O. Bas, U. V. Catalyurek, Load-Balancing Spatially Located Computations using Rectangular Partitions Paper, Tech. Report, ArXiv, no. arXiv:1104.2566v1, 2011". More...

#include <twod/m_way_probe.hpp>

Inheritance diagram for twod::JagMHeurProbeHor< T, Pr, onedalgoY, onedalgoX >:
twod::PartBase< T, Pr >

Detailed Description

template<typename T, typename Pr, T(*)(int procCount, const util::Aggreg2Dto1D< T, Pr, false > &prefixSumArray, int length, int *cutIndexes, T) onedalgoY = oned::NicolPlus<T, util::Aggreg2Dto1D<T, Pr, false> >::nicol_plus, T(*)(int procCount, const util::Aggreg2Dto1D< T, Pr, true > &prefixSumArray, int length, int *cutIndexes, T) onedalgoX = oned::NicolPlus<T, util::Aggreg2Dto1D<T, Pr, true> >::nicol_plus>
class twod::JagMHeurProbeHor< T, Pr, onedalgoY, onedalgoX >

Finds least max proc load value by applying binary search over it. First cut direction is horizontal. See section 3.2.2 PROBE-M algorithm of "E. Saule, E. O. Bas, U. V. Catalyurek, Load-Balancing Spatially Located Computations using Rectangular Partitions Paper, Tech. Report, ArXiv, no. arXiv:1104.2566v1, 2011".

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 ~JagMHeurProbeHor ()

Private Member Functions

T multiarraypart (int procCount, const util::Multiarrays< T, util::Aggreg2Dto1D< T, Pr, false > > &arrs, T ub, int *procs, int **cuts)

Constructor & Destructor Documentation

template<typename T , typename Pr , T(*)(int procCount, const util::Aggreg2Dto1D< T, Pr, false > &prefixSumArray, int length, int *cutIndexes, T) onedalgoY, T(*)(int procCount, const util::Aggreg2Dto1D< T, Pr, true > &prefixSumArray, int length, int *cutIndexes, T) onedalgoX>
twod::JagMHeurProbeHor< T, Pr, onedalgoY, onedalgoX >::~JagMHeurProbeHor (  )  [virtual]

Member Function Documentation

template<typename T , typename Pr , T(*)(int procCount, const util::Aggreg2Dto1D< T, Pr, false > &prefixSumArray, int length, int *cutIndexes, T) onedalgoY, T(*)(int procCount, const util::Aggreg2Dto1D< T, Pr, true > &prefixSumArray, int length, int *cutIndexes, T) onedalgoX>
T twod::JagMHeurProbeHor< T, Pr, onedalgoY, onedalgoX >::multiarraypart ( int  procCount,
const util::Multiarrays< T, util::Aggreg2Dto1D< T, Pr, false > > &  arrs,
T  ub,
int *  procs,
int **  cuts 
) [private]
template<typename T , typename Pr , T(*)(int procCount, const util::Aggreg2Dto1D< T, Pr, false > &prefixSumArray, int length, int *cutIndexes, T) onedalgoY, T(*)(int procCount, const util::Aggreg2Dto1D< T, Pr, true > &prefixSumArray, int length, int *cutIndexes, T) onedalgoX>
T twod::JagMHeurProbeHor< T, Pr, onedalgoY, onedalgoX >::part ( int  procCount,
const Pr prefixSumArray,
util::RectList< T, Pr > &  parts 
) [virtual]

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 >.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Friends Defines