HMLP: High-performance Machine Learning Primitives
|
#include <gofmm_mpi.hpp>
Public Member Functions | |
randomsplit (SPDMATRIX &K) | |
vector< vector< size_t > > | operator() (vector< size_t > &gids) const |
vector< vector< size_t > > | operator() (vector< size_t > &gids, mpi::Comm comm) const |
![]() | |
randomsplit (SPDMATRIX &K) | |
vector< vector< size_t > > | operator() (vector< size_t > &gids) const |
Additional Inherited Members | |
![]() | |
SPDMATRIX * | Kptr = NULL |
DistanceMetric | metric = ANGLE_DISTANCE |
end struct centersplit
|
inline |
Shared-memory operator.
|
inline |
Distributed operator.
All assertions
Declaration
Reduce to get the total size of gids.
n = sum( num_points_owned ) over all MPI processes in comm
Early return
Randomly select two points p and q
Create a pair <gids.size(), rank> for MPI Allreduce
max_pair = max( local_max_pairs ) over all MPI processes in comm
Bcast gidf2c from the rank that has the most gids
Choose the second MPI rank
max_pair = max( local_max_pairs ) over all MPI processes in comm
Bcast gidf2c from the rank that has the most gids
We use relative distances (dip - diq) for clustering.
Split gids into two clusters using median split.
Perform P2P redistribution.