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>
The documentation for this class was generated from the following files: