HMLP: High-performance Machine Learning Primitives
|
Public Member Functions | |
KernelMatrix (size_t m_, size_t n_, size_t d_, kernel_s< T, T > &kernel_, Data< T > &sources_, Data< T > &targets_) | |
KernelMatrix (size_t m, size_t n, size_t d, kernel_s< T, T > &kernel, Data< T > &sources) | |
KernelMatrix (Data< T > &sources) | |
~KernelMatrix () | |
virtual T | operator() (size_t i, size_t j) override |
virtual Data< T > | operator() (const vector< size_t > &I, const vector< size_t > &J) override |
virtual Data< T > | GeometryDistances (const vector< size_t > &I, const vector< size_t > &J) override |
Data< T > | Diagonal (vector< size_t > &I) |
pair< T, size_t > | ImportantSample (size_t j) |
void | Print () |
size_t | dim () |
double | flops (size_t na, size_t nb) |
![]() | |
VirtualMatrix (size_t m, size_t n) | |
virtual void | resize (size_t m, size_t n) |
size_t | row () |
size_t | col () |
Data< T > | KernelDistances (const vector< size_t > &I, const vector< size_t > &J) |
Data< T > | AngleDistances (const vector< size_t > &I, const vector< size_t > &J) |
virtual Data< T > | UserDistances (const vector< size_t > &I, const vector< size_t > &J) |
Data< T > | Distances (DistanceMetric metric, const vector< size_t > &I, const vector< size_t > &J) |
virtual Data< pair< T, size_t > > | NeighborSearch (DistanceMetric metric, size_t kappa, const vector< size_t > &Q, const vector< size_t > &R, pair< T, size_t > init) |
virtual Data< T > | Diagonal (const vector< size_t > &I) |
virtual pair< T, int > | ImportantSample (int j) |
![]() | |
virtual void | SendIndices (vector< size_t > ids, int dest, mpi::Comm comm) |
virtual void | RecvIndices (int src, mpi::Comm comm, mpi::Status *status) |
virtual void | BcastIndices (vector< size_t > ids, int root, mpi::Comm comm) |
virtual void | RequestIndices (const vector< vector< size_t >> &ids) |
![]() | |
ReadWrite () | |
void | DependencyAnalysis (ReadWriteType type, Task *task) |
This is the key function that encode the dependency. More... | |
void | DependencyCleanUp () |
Additional Inherited Members | |
![]() | |
typedef T | T |
![]() | |
deque< Task * > | read |
deque< Task * > | write |
|
inline |
(Default) constructor for non-symmetric kernel matrices.
|
inline |
(Default) constructor for symmetric kernel matrices.
|
inline |
(Default) destructor.
|
inline |
end GeometryDistances() get the diagonal of KII, i.e. diag( K( I, I ) )
return values
at this moment we already have the corrdinates on this process
|
inline |
end Print() Return number of attributes.
|
inline |
flops required for Kab
|
inlineoverridevirtual |
Early return if possible.
Request for coordinates: A (targets), B (sources).
For symmetry matrices, extract from sources.
For non-symmetry matrices, extract from targets and sources.
Compute inner products.
Compute square 2-norms.
end omp parallel for
end omp parallel for
Add square norms to inner products to get square distances.
Return all pair-wise distances.
Reimplemented from hmlp::VirtualMatrix< T, Allocator >.
|
inlinevirtual |
important sampling
Reimplemented from hmlp::VirtualMatrix< T, Allocator >.
|
inlineoverridevirtual |
ESSENTIAL: override the virtual function
Implements hmlp::VirtualMatrix< T, Allocator >.
|
inlineoverridevirtual |
(Overwrittable) ESSENTIAL: return K( I, J )
Early return if possible.
Request for coordinates: A (targets), B (sources).
Evaluate KIJ using legacy interface.
Return K( I, J ).
Reimplemented from hmlp::VirtualMatrix< T, Allocator >.