Static Public Member Functions | Static Private Member Functions | Static Private Attributes

oned::NicolPlus< T, Pr, DEBUG > Class Template Reference

this is the implementation of the nicols algorithm as it is provided in "Ali Pinar and Cevdet Aykanat, Fast Optimal Load Balancing Algorithms for 1D Partitioning, JPDC, 2004" in figure 10. This algorithm should be preferred over NicolMinus and Nicol due to speed. More...

#include <oned/nicol_plus.hpp>


Detailed Description

template<typename T, typename Pr, bool DEBUG = false>
class oned::NicolPlus< T, Pr, DEBUG >

this is the implementation of the nicols algorithm as it is provided in "Ali Pinar and Cevdet Aykanat, Fast Optimal Load Balancing Algorithms for 1D Partitioning, JPDC, 2004" in figure 10. This algorithm should be preferred over NicolMinus and Nicol due to speed.

List of all members.

Static Public Member Functions

static T nicol_plus (int procCount, const Pr &prefixSumArray, int length, int *cutIndexes, T max)

Static Private Member Functions

static T nicol_plus_internal (const Pr &wpre, int length, int numproc, T wmax, int *sl, int *sh)

Static Private Attributes

static const bool debug = false

Member Function Documentation

template<typename T , typename Pr , bool DEBUG>
T oned::NicolPlus< T, Pr, DEBUG >::nicol_plus ( int  procCount,
const Pr prefixSumArray,
int  length,
int *  cutIndexes,
T  max 
) [static]
Parameters:
[in] procCount number of processors
[in] prefixSumArray Prefix sum array that always starts with value 0 in the 0th index
[in] length is the length of prefixSumArray
[out] cutIndexes cut index points
[in] max maximum load of a given array. If unknown, use -1.
Returns:
Load of the max. loaded processor
template<typename T , typename Pr , bool DEBUG>
T oned::NicolPlus< T, Pr, DEBUG >::nicol_plus_internal ( const Pr wpre,
int  length,
int  numproc,
T  wmax,
int *  sl,
int *  sh 
) [static, private]
Parameters:
wmax maximum load of the array. If unknown, use -1.

Member Data Documentation

template<typename T , typename Pr , bool DEBUG = false>
const bool oned::NicolPlus< T, Pr, DEBUG >::debug = false [static, private]

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