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