HMLP: High-performance Machine Learning Primitives
|
This the main splitter used to build the Spd-Askit tree. First compute the approximate center using subsamples. Then find the two most far away points to do the projection. More...
#include <gofmm_mpi.hpp>
Public Member Functions | |
centersplit (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 |
![]() | |
centersplit (SPDMATRIX &K) | |
vector< vector< size_t > > | operator() (vector< size_t > &gids) const |
Additional Inherited Members | |
![]() | |
SPDMATRIX * | Kptr = NULL |
DistanceMetric | metric = ANGLE_DISTANCE |
size_t | n_centroid_samples = 5 |
This the main splitter used to build the Spd-Askit tree. First compute the approximate center using subsamples. Then find the two most far away points to do the projection.
end MedianSplit()
|
inline |
Shared-memory operator.
|
inline |
Distributed operator.
All assertions
MPI Support.
Collecting column samples of K.
Bcast column_samples from rank 0.
Compute all pairwise distances.
Zero out the temporary buffer.
Accumulate distances to the temporary buffer.
Find the f2c (far most to center) from points owned
Create a pair for MPI Allreduce
max_pair = max( local_max_pairs ) over all MPI processes in comm
Boardcast gidf2c from the MPI process which has the max_pair
Collecting KIP and kpp
Compute all pairwise distances.
Find f2f (far most to far most) from owned points
Create a pair for MPI Allreduce
max_pair = max( local_max_pairs ) over all MPI processes in comm
boardcast gidf2f from the MPI process which has the max_pair
Collecting KIQ and kqq
Compute all pairwise distances.
We use relative distances (dip - diq) for clustering.
Split gids into two clusters using median split.
Perform P2P redistribution.