Ordered Probe a Load (OPaL)

Defined in algorithms/ordered_probe_a_load.hpp

namespace sarma::ordered_probe_a_load

Functions

template<typename Int, typename Value>
std::vector<Int> probe(const std::vector<Int> &indptr, const std::vector<std::pair<Int, bool>> &indices, const std::vector<Value> &data, const Value L, const Int P = std::numeric_limits<Int>::max())
template<typename Int, typename Value>
auto transform(const Matrix<Int, Value> &A)
template<typename Int, typename Value>
std::vector<Int> probe(const Matrix<Int, Value> &A, const Value L)
template<typename Int, typename Value>
std::vector<Int> partition(const Matrix<Int, Value> &A, const Int P)

Implements the Probe a Load algorithm. This algorithm applies a greedy probe algorithm on diagonal direction by running binary searches over the possible range of maximum load targets.

Return

a cut vector

Parameters
  • A: Matrix

  • P: number of parts