M-way partitioning algorithm feasibility check. The check is done on a set of arrays as described in section 3.2.2 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 <util/m_probe.hpp>
M-way partitioning algorithm feasibility check. The check is done on a set of arrays as described in section 3.2.2 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"
Static Public Member Functions | |
static bool | probe (T b, const Ma &arrs, int m, int **lb, int **ub, int *procs, int **cuts) |
Static Private Member Functions | |
static int | rprobe (const SubMa &wpre, int length, const T &bottleneck, int numproc, int *s, int *sl, int *sh) |
static bool util::MProbe< T, SubMa, Ma >::probe | ( | T | b, | |
const Ma & | arrs, | |||
int | m, | |||
int ** | lb, | |||
int ** | ub, | |||
int * | procs, | |||
int ** | cuts | |||
) | [inline, static] |
Given a bottleneck, processor count and multiple arrays, returns feasiblity (yes/no) and cut points if feasible
b | Bottleneck value to be tested | |
arrs | A data structure that holds multiple prefix sum arrays | |
m | the number of processors to be tested | |
lb | lower bound array | |
ub | upper bound array | |
procs | the resulting processor count per array | |
cuts | the resulting cut points per array. Cut points are described nicol+ |
static int util::MProbe< T, SubMa, Ma >::rprobe | ( | const SubMa & | wpre, | |
int | length, | |||
const T & | bottleneck, | |||
int | numproc, | |||
int * | s, | |||
int * | sl, | |||
int * | sh | |||
) | [inline, static, private] |
This funtion is very similar to rprobe of the nicol+. The only difference is that this one returns processor number if bottleneck b is feasible
wpre | a 1d prefixsum array | |
length | the length of the 1d prefix sum array | |
bottleneck | bottleneck value to be tesed | |
numproc | the number of processors to be tried | |
s | cut points | |
sl | cut point lower bounds per processor | |
sh | cut point upper bounds per processor |