HMLP: High-performance Machine Learning Primitives
hmlp::gofmm::NodeData< T > Class Template Reference

This class contains all GOFMM related data carried by a tree node. More...

#include <gofmm.hpp>

Inheritance diagram for hmlp::gofmm::NodeData< T >:
hmlp::gofmm::Factor< T >

Public Member Functions

 NodeData ()
 
- Public Member Functions inherited from hmlp::gofmm::Factor< T >
void SetupFactor (bool issymmetric, bool do_ulv_factorization, bool isleaf, bool isroot, size_t n, size_t nl, size_t nr, size_t s, size_t sl, size_t sr)
 
void SetupFactor (bool issymmetric, bool do_ulv_factorization, bool isleaf, bool isroot, size_t n, size_t nl, size_t nr, size_t s, size_t sl, size_t sr, Data< T > &U, Data< T > &V)
 
bool DoULVFactorization ()
 
bool IsSymmetric ()
 
void CheckCondition ()
 
void Factorize (Data< T > &Kaa)
 
void PartialFactorize (Data< T > &A)
 
void Factorize (Data< T > &Ul, Data< T > &Ur, Data< T > &Vl, Data< T > &Vr)
 
void PartialFactorize (View< T > &Zl, View< T > &Zr, Data< T > &Ul, Data< T > &Ur, Data< T > &Vl, Data< T > &Vr)
 
void Multiply (View< T > &bl, View< T > &br)
 
void Solve (View< T > &rhs)
 Solver for leaf nodes. More...
 
void Solve (View< T > &bl, View< T > &br)
 b - U * inv( Z ) * C * V' * b More...
 
void Telescope (bool DO_INVERSE, Data< T > &Pa, Data< T > &Palr)
 
void Telescope (bool DO_INVERSE, Data< T > &Pa, Data< T > &Palr, Data< T > &Pl, Data< T > &Pr)
 
void Orthogonalization ()
 
void ChangeBasis (SideType side, Data< T > &B)
 
void ChangeBasis (Data< T > &A)
 
void ULVForward ()
 
void ULVBackward ()
 

Public Attributes

Lock lock
 
bool isskel = false
 
vector< size_t > skels
 
vector< int > jpvt
 
Data< T > proj
 
map< size_t, T > snids
 
vector< size_t > candidate_rows
 
vector< size_t > candidate_cols
 
Data< T > KIJ
 
Data< T > w_skel
 
Data< T > u_skel
 
Data< T > w_leaf
 
Data< T > u_leaf [20]
 
View< T > w_view
 
View< T > u_view
 
Data< size_t > Nearbmap
 
Data< T > NearKab
 
Data< T > FarKab
 
Event skeletonize
 
Event updateweight
 
Event skeltoskel
 
Event skeltonode
 
Event s2s
 
Event s2n
 
double knn_acc = 0.0
 
size_t num_acc = 0
 
- Public Attributes inherited from hmlp::gofmm::Factor< T >
bool isleaf = false
 
bool isroot = false
 
size_t n = 0
 
size_t nl = 0
 
size_t nr = 0
 
size_t s = 0
 
size_t sl = 0
 
size_t sr = 0
 
Data< T > Z
 
View< T > Zv
 
View< T > Ztl
 
View< T > Ztr
 
View< T > Zbl
 
View< T > Zbr
 
vector< int > ipiv
 
Data< T > U
 
Data< T > V
 
Data< T > Crl
 
Data< T > Clr
 
View< T > bview
 
Data< T > * Ul = NULL
 
Data< T > * Ur = NULL
 
Data< T > * Vl = NULL
 
Data< T > * Vr = NULL
 
Data< T > Q
 
View< T > Qv
 
View< T > Q1
 
View< T > Q2
 
vector< T > tau
 
Data< T > B
 
View< T > Bv
 
View< T > Bp
 
View< T > Bsibling
 
View< T > Bf
 
View< T > Bc
 

Detailed Description

template<typename T>
class hmlp::gofmm::NodeData< T >

This class contains all GOFMM related data carried by a tree node.

end class Setup

Constructor & Destructor Documentation

template<typename T >
hmlp::gofmm::NodeData< T >::NodeData ( )
inline

(Default) constructor.

Member Data Documentation

template<typename T >
vector<size_t> hmlp::gofmm::NodeData< T >::candidate_rows

(Buffer) nsamples row gids, and sl + sr skeleton columns of children.

template<typename T >
bool hmlp::gofmm::NodeData< T >::isskel = false

Whether the node can be compressed (with skel and proj).

template<typename T >
vector<int> hmlp::gofmm::NodeData< T >::jpvt

2s, pivoting order of GEQP3 (or GEQP4).

template<typename T >
Data<T> hmlp::gofmm::NodeData< T >::KIJ

(Buffer) nsamples-by-(sl+sr) submatrix of K.

template<typename T >
double hmlp::gofmm::NodeData< T >::knn_acc = 0.0

knn accuracy

template<typename T >
Lock hmlp::gofmm::NodeData< T >::lock

The OpenMP (or pthread) lock that grants exclusive right.

template<typename T >
Data<size_t> hmlp::gofmm::NodeData< T >::Nearbmap

Cached Kab

template<typename T >
Data<T> hmlp::gofmm::NodeData< T >::proj

s-by-2s, interpolative coefficients.

template<typename T >
Event hmlp::gofmm::NodeData< T >::skeletonize

recorded events (for HMLP Runtime)

template<typename T >
vector<size_t> hmlp::gofmm::NodeData< T >::skels

Skeleton gids (subset of gids).

template<typename T >
map<size_t, T> hmlp::gofmm::NodeData< T >::snids

Sampling neighbors gids.

template<typename T >
Data<T> hmlp::gofmm::NodeData< T >::w_leaf

(Buffer) permuted weights and potentials.

template<typename T >
Data<T> hmlp::gofmm::NodeData< T >::w_skel

(Buffer) skeleton weights and potentials.

template<typename T >
View<T> hmlp::gofmm::NodeData< T >::w_view

Hierarchical tree view of w<RIDS, STAR> and u<RIDS, STAR>.


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