HMLP: High-performance Machine Learning Primitives
hmlp::MatrixLike< NB, T, TPACK > Struct Template Reference

#include <packing.hpp>

Inheritance diagram for hmlp::MatrixLike< NB, T, TPACK >:
hmlp::MatrifyableObject< NB, T, TPACK >

Public Member Functions

virtual void Set (T *X, size_t m, size_t n, size_t rs, size_t cs, bool trans)
 
virtual void Pack (size_t m, size_t ic, size_t ib, size_t n, size_t jc, size_t jb, TPACK *packX)
 
virtual void Unpack (size_t m, size_t ic, size_t ib, size_t n, size_t jc, size_t jb, TPACK *packX)
 

Public Attributes

T * X = NULL
 
size_t rs = 0
 
size_t cs = 0
 
bool trans = false
 
- Public Attributes inherited from hmlp::MatrifyableObject< NB, T, TPACK >
size_t m = 0
 
size_t n = 0
 

Detailed Description

template<size_t NB, typename T, typename TPACK>
struct hmlp::MatrixLike< NB, T, TPACK >

end struct MatrifyableObject

Member Function Documentation

template<size_t NB, typename T , typename TPACK >
virtual void hmlp::MatrixLike< NB, T, TPACK >::Pack ( size_t  m,
size_t  ic,
size_t  ib,
size_t  n,
size_t  jc,
size_t  jb,
TPACK *  packX 
)
inlinevirtual

packX is ib-by-jb (column-majored) withd leading dimension NB

Shift by ( ic, jc ) offset

Set x_pntr to the initial position for pointer calculation

Loop over each row

Set x_pntr to the initial position for pointer calculation

Loop over each column

Implements hmlp::MatrifyableObject< NB, T, TPACK >.

template<size_t NB, typename T , typename TPACK >
virtual void hmlp::MatrixLike< NB, T, TPACK >::Unpack ( size_t  m,
size_t  ic,
size_t  ib,
size_t  n,
size_t  jc,
size_t  jb,
TPACK *  packX 
)
inlinevirtual

Shift by ( ic, jc ) offset

Set x_pntr to the initial position for pointer calculation

Loop over each row

Set x_pntr to the initial position for pointer calculation

Loop over each column

Implements hmlp::MatrifyableObject< NB, T, TPACK >.


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