HMLP: High-performance Machine Learning Primitives
hmlp::mpigofmm::Setup< SPDMATRIX, SPLITTER, T > Class Template Reference

These are data that shared by the whole local tree. Distributed setup inherits mpitree::Setup. More...

#include <gofmm_mpi.hpp>

Inheritance diagram for hmlp::mpigofmm::Setup< SPDMATRIX, SPLITTER, T >:
hmlp::mpitree::Setup< SPLITTER, T > hmlp::gofmm::Configuration< T >

Public Member Functions

void FromConfiguration (gofmm::Configuration< T > &config, SPDMATRIX &K, SPLITTER &splitter, DistData< STAR, CBLK, pair< T, size_t >> *NN_cblk)
 
- Public Member Functions inherited from hmlp::mpitree::Setup< SPLITTER, T >
vector< size_t > ContainAny (vector< size_t > &queries, size_t target)
 Check if this node contain any query using morton. Notice that queries[] contains gids; thus, morton[] needs to be accessed using gids. More...
 
- Public Member Functions inherited from hmlp::gofmm::Configuration< T >
 Configuration (DistanceMetric metric_type, size_t problem_size, size_t leaf_node_size, size_t neighbor_size, size_t maximum_rank, T tolerance, T budget)
 
void Set (DistanceMetric metric_type, size_t problem_size, size_t leaf_node_size, size_t neighbor_size, size_t maximum_rank, T tolerance, T budget)
 
void CopyFrom (Configuration< T > &config)
 
DistanceMetric MetricType ()
 
size_t ProblemSize ()
 
size_t LeafNodeSize ()
 
size_t NeighborSize ()
 
size_t MaximumRank ()
 
Tolerance ()
 
Budget ()
 
bool IsSymmetric ()
 
bool UseAdaptiveRanks ()
 
bool SecureAccuracy ()
 

Public Attributes

SPDMATRIX * K = NULL
 
Data< T > * w = NULL
 
Data< T > * u = NULL
 
Data< T > * input = NULL
 
Data< T > * output = NULL
 
lambda = 0.0
 
bool do_ulv_factorization = true
 
- Public Attributes inherited from hmlp::mpitree::Setup< SPLITTER, T >
size_t m
 
size_t max_depth
 
DistData< STAR, CBLK, pair< T, size_t > > * NN_cblk
 
DistData< STAR, CIDS, pair< T, size_t > > * NN
 
vector< size_t > morton
 
SPLITTER splitter
 

Additional Inherited Members

- Public Types inherited from hmlp::mpitree::Setup< SPLITTER, T >
typedef T T
 

Detailed Description

template<typename SPDMATRIX, typename SPLITTER, typename T>
class hmlp::mpigofmm::Setup< SPDMATRIX, SPLITTER, T >

These are data that shared by the whole local tree. Distributed setup inherits mpitree::Setup.

This class does not have to inherit DistData, but it have to inherit DistVirtualMatrix<T>ESSENTIAL: this is an abstract function MPI request Kij from rank ( j % size ) exchange ids allocate buffer for data fetch subrows exchange data ESSENTIAL: return a submatrix MPI request KIJ from rank ( j % size ) exchange ids allocate buffer for data fetch submatrix exchange data merging data overload operator

Member Function Documentation

template<typename SPDMATRIX , typename SPLITTER , typename T >
void hmlp::mpigofmm::Setup< SPDMATRIX, SPLITTER, T >::FromConfiguration ( gofmm::Configuration< T > &  config,
SPDMATRIX &  K,
SPLITTER &  splitter,
DistData< STAR, CBLK, pair< T, size_t >> *  NN_cblk 
)
inline

Shallow copy from the config.

Member Data Documentation

template<typename SPDMATRIX , typename SPLITTER , typename T >
bool hmlp::mpigofmm::Setup< SPDMATRIX, SPLITTER, T >::do_ulv_factorization = true

whether the matrix is symmetric use ULV or Sherman-Morrison-Woodbury

template<typename SPDMATRIX , typename SPLITTER , typename T >
Data<T>* hmlp::mpigofmm::Setup< SPDMATRIX, SPLITTER, T >::input = NULL

buffer space, either dimension needs to be n

template<typename SPDMATRIX , typename SPLITTER , typename T >
SPDMATRIX* hmlp::mpigofmm::Setup< SPDMATRIX, SPLITTER, T >::K = NULL

The SPDMATRIX (accessed with gids: dense, CSC or OOC)

template<typename SPDMATRIX , typename SPLITTER , typename T >
T hmlp::mpigofmm::Setup< SPDMATRIX, SPLITTER, T >::lambda = 0.0

regularization

template<typename SPDMATRIX , typename SPLITTER , typename T >
Data<T>* hmlp::mpigofmm::Setup< SPDMATRIX, SPLITTER, T >::w = NULL

rhs-by-n, all weights and potentials.


The documentation for this class was generated from the following file: