Same as DIRECT-CUT except this one recalculates average load after each allocation. More...
#include <oned/direct_ref_b.hpp>
Same as DIRECT-CUT except this one recalculates average load after each allocation.
Implements 1D direct cut with bottleneck refinement. Sets cut points where B=P_iter*(Wtot/P) but refines B value after each cut
T | data type of weight of instance | |
Pr | data type of prefixSumArray |
Static Public Member Functions | |
static T | direct_ref_b (int procCount, const Pr &prefixSumArray, int length, int *cutIndexes, T) |
Applies direct cut with refined bottleneck algorithm to a given prefixSumArray. | |
Static Private Member Functions | |
static T | direct_ref_b_internal (int procCount, const Pr &prefixSumArray, int length, int *cutIndexes) |
T oned::DirectCutRefB< T, Pr >::direct_ref_b | ( | int | procCount, | |
const Pr & | prefixSumArray, | |||
int | length, | |||
int * | cutIndexes, | |||
T | ||||
) | [static] |
Applies direct cut with refined bottleneck algorithm to a given prefixSumArray.
[in] | procCount | is the total number of processors |
[in] | prefixSumArray | always begins with 0 as first element. |
[in] | length | is the exact size of prefixSumArray |
[out] | cutIndexes | (must be allocated before calling!) |
T oned::DirectCutRefB< T, Pr >::direct_ref_b_internal | ( | int | procCount, | |
const Pr & | prefixSumArray, | |||
int | length, | |||
int * | cutIndexes | |||
) | [static, private] |