Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
ML::SimpleDenseMat< T > Struct Template Reference

#include <dense.hpp>

Inheritance diagram for ML::SimpleDenseMat< T >:
Inheritance graph
Collaboration diagram for ML::SimpleDenseMat< T >:
Collaboration graph

Public Types

typedef SimpleMat< T > Super
 

Public Member Functions

 SimpleDenseMat (STORAGE_ORDER order=COL_MAJOR)
 
 SimpleDenseMat (T *data, int m, int n, STORAGE_ORDER order=COL_MAJOR)
 
void reset (T *data_, int m_, int n_)
 
void gemmb (const raft::handle_t &handle, const T alpha, const SimpleDenseMat< T > &A, const bool transA, const bool transB, const T beta, SimpleDenseMat< T > &C, cudaStream_t stream) const override
 
void assign_gemm (const raft::handle_t &handle, const T alpha, const SimpleDenseMat< T > &A, const bool transA, const SimpleMat< T > &B, const bool transB, const T beta, cudaStream_t stream)
 
void ax (const T a, const SimpleDenseMat< T > &x, cudaStream_t stream)
 
void axpy (const T a, const SimpleDenseMat< T > &x, const SimpleDenseMat< T > &y, cudaStream_t stream)
 
template<typename Lambda >
void assign_unary (const SimpleDenseMat< T > &other, Lambda f, cudaStream_t stream)
 
template<typename Lambda >
void assign_binary (const SimpleDenseMat< T > &other1, const SimpleDenseMat< T > &other2, Lambda &f, cudaStream_t stream)
 
template<typename Lambda >
void assign_ternary (const SimpleDenseMat< T > &other1, const SimpleDenseMat< T > &other2, const SimpleDenseMat< T > &other3, Lambda &f, cudaStream_t stream)
 
void fill (const T val, cudaStream_t stream)
 
void copy_async (const SimpleDenseMat< T > &other, cudaStream_t stream)
 
void print (std::ostream &oss) const override
 
void operator= (const SimpleDenseMat< T > &other)=delete
 
- Public Member Functions inherited from ML::SimpleMat< T >
 SimpleMat (int m, int n)
 
void operator= (const SimpleMat< T > &other)=delete
 

Static Public Member Functions

static void gemm (const raft::handle_t &handle, const T alpha, const SimpleDenseMat< T > &A, const bool transA, const SimpleDenseMat< T > &B, const bool transB, const T beta, SimpleDenseMat< T > &C, cudaStream_t stream)
 

Public Attributes

int len
 
T * data
 
STORAGE_ORDER ord
 
- Public Attributes inherited from ML::SimpleMat< T >
int m
 
int n
 

Member Typedef Documentation

◆ Super

template<typename T >
typedef SimpleMat<T> ML::SimpleDenseMat< T >::Super

Constructor & Destructor Documentation

◆ SimpleDenseMat() [1/2]

template<typename T >
ML::SimpleDenseMat< T >::SimpleDenseMat ( STORAGE_ORDER  order = COL_MAJOR)
inline

◆ SimpleDenseMat() [2/2]

template<typename T >
ML::SimpleDenseMat< T >::SimpleDenseMat ( T *  data,
int  m,
int  n,
STORAGE_ORDER  order = COL_MAJOR 
)
inline

Member Function Documentation

◆ assign_binary()

template<typename T >
template<typename Lambda >
void ML::SimpleDenseMat< T >::assign_binary ( const SimpleDenseMat< T > &  other1,
const SimpleDenseMat< T > &  other2,
Lambda &  f,
cudaStream_t  stream 
)
inline

◆ assign_gemm()

template<typename T >
void ML::SimpleDenseMat< T >::assign_gemm ( const raft::handle_t &  handle,
const T  alpha,
const SimpleDenseMat< T > &  A,
const bool  transA,
const SimpleMat< T > &  B,
const bool  transB,
const T  beta,
cudaStream_t  stream 
)
inline

GEMM assigning to C where this refers to C.

*this <- alpha * A^transA * B^transB + beta * (*this)

◆ assign_ternary()

template<typename T >
template<typename Lambda >
void ML::SimpleDenseMat< T >::assign_ternary ( const SimpleDenseMat< T > &  other1,
const SimpleDenseMat< T > &  other2,
const SimpleDenseMat< T > &  other3,
Lambda &  f,
cudaStream_t  stream 
)
inline

◆ assign_unary()

template<typename T >
template<typename Lambda >
void ML::SimpleDenseMat< T >::assign_unary ( const SimpleDenseMat< T > &  other,
Lambda  f,
cudaStream_t  stream 
)
inline

◆ ax()

template<typename T >
void ML::SimpleDenseMat< T >::ax ( const T  a,
const SimpleDenseMat< T > &  x,
cudaStream_t  stream 
)
inline

◆ axpy()

template<typename T >
void ML::SimpleDenseMat< T >::axpy ( const T  a,
const SimpleDenseMat< T > &  x,
const SimpleDenseMat< T > &  y,
cudaStream_t  stream 
)
inline

◆ copy_async()

template<typename T >
void ML::SimpleDenseMat< T >::copy_async ( const SimpleDenseMat< T > &  other,
cudaStream_t  stream 
)
inline

◆ fill()

template<typename T >
void ML::SimpleDenseMat< T >::fill ( const T  val,
cudaStream_t  stream 
)
inline

◆ gemm()

template<typename T >
static void ML::SimpleDenseMat< T >::gemm ( const raft::handle_t &  handle,
const T  alpha,
const SimpleDenseMat< T > &  A,
const bool  transA,
const SimpleDenseMat< T > &  B,
const bool  transB,
const T  beta,
SimpleDenseMat< T > &  C,
cudaStream_t  stream 
)
inlinestatic

◆ gemmb()

template<typename T >
void ML::SimpleDenseMat< T >::gemmb ( const raft::handle_t &  handle,
const T  alpha,
const SimpleDenseMat< T > &  A,
const bool  transA,
const bool  transB,
const T  beta,
SimpleDenseMat< T > &  C,
cudaStream_t  stream 
) const
inlineoverridevirtual

GEMM assigning to C where this refers to B.

C <- alpha * A^transA * (*this)^transB + beta * C

Implements ML::SimpleMat< T >.

◆ operator=()

template<typename T >
void ML::SimpleDenseMat< T >::operator= ( const SimpleDenseMat< T > &  other)
delete

◆ print()

template<typename T >
void ML::SimpleDenseMat< T >::print ( std::ostream &  oss) const
inlineoverridevirtual

Implements ML::SimpleMat< T >.

◆ reset()

template<typename T >
void ML::SimpleDenseMat< T >::reset ( T *  data_,
int  m_,
int  n_ 
)
inline

Member Data Documentation

◆ data

template<typename T >
T* ML::SimpleDenseMat< T >::data

◆ len

template<typename T >
int ML::SimpleDenseMat< T >::len

◆ ord

template<typename T >
STORAGE_ORDER ML::SimpleDenseMat< T >::ord

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