Eigen::internal::gemm_functor< Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType > Struct Template Reference

#include <GeneralMatrixMatrix.h>

Public Types

typedef Gemm::Traits Traits
 

Public Member Functions

 gemm_functor (const Lhs &lhs, const Rhs &rhs, Dest &dest, const Scalar &actualAlpha, BlockingType &blocking)
 
void initParallelSession (Index num_threads) const
 
void operator() (Index row, Index rows, Index col=0, Index cols=-1, GemmParallelInfo< Index > *info=0) const
 

Protected Attributes

const Lhsm_lhs
 
const Rhsm_rhs
 
Dest & m_dest
 
Scalar m_actualAlpha
 
BlockingType & m_blocking
 

Member Typedef Documentation

◆ Traits

template<typename Scalar , typename Index , typename Gemm , typename Lhs , typename Rhs , typename Dest , typename BlockingType >
typedef Gemm::Traits Eigen::internal::gemm_functor< Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType >::Traits

Constructor & Destructor Documentation

◆ gemm_functor()

template<typename Scalar , typename Index , typename Gemm , typename Lhs , typename Rhs , typename Dest , typename BlockingType >
Eigen::internal::gemm_functor< Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType >::gemm_functor ( const Lhs lhs,
const Rhs rhs,
Dest &  dest,
const Scalar actualAlpha,
BlockingType &  blocking 
)
inline
196  : m_lhs(lhs), m_rhs(rhs), m_dest(dest), m_actualAlpha(actualAlpha), m_blocking(blocking) {}
Dest & m_dest
Definition: GeneralMatrixMatrix.h:216
const Rhs & m_rhs
Definition: GeneralMatrixMatrix.h:215
Scalar m_actualAlpha
Definition: GeneralMatrixMatrix.h:217
BlockingType & m_blocking
Definition: GeneralMatrixMatrix.h:218
const Lhs & m_lhs
Definition: GeneralMatrixMatrix.h:214

Member Function Documentation

◆ initParallelSession()

template<typename Scalar , typename Index , typename Gemm , typename Lhs , typename Rhs , typename Dest , typename BlockingType >
void Eigen::internal::gemm_functor< Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType >::initParallelSession ( Index  num_threads) const
inline

◆ operator()()

template<typename Scalar , typename Index , typename Gemm , typename Lhs , typename Rhs , typename Dest , typename BlockingType >
void Eigen::internal::gemm_functor< Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType >::operator() ( Index  row,
Index  rows,
Index  col = 0,
Index  cols = -1,
GemmParallelInfo< Index > *  info = 0 
) const
inline
203  {
204  if (cols == -1) cols = m_rhs.cols();
205 
206  Gemm::run(rows, cols, m_lhs.cols(), &m_lhs.coeffRef(row, 0), m_lhs.outerStride(), &m_rhs.coeffRef(0, col),
207  m_rhs.outerStride(), (Scalar*)&(m_dest.coeffRef(row, col)), m_dest.innerStride(), m_dest.outerStride(),
209  }
m col(1)
m row(1)
int rows
Definition: Tutorial_commainit_02.cpp:1
int cols
Definition: Tutorial_commainit_02.cpp:1
SCALAR Scalar
Definition: bench_gemm.cpp:45
int info
Definition: level2_cplx_impl.h:39
void run(const string &dir_name, LinearSolver *linear_solver_pt, const unsigned nel_1d, bool mess_up_order)
Definition: two_d_poisson_compare_solvers.cc:317

References col(), cols, info, Eigen::internal::gemm_functor< Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType >::m_actualAlpha, Eigen::internal::gemm_functor< Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType >::m_blocking, Eigen::internal::gemm_functor< Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType >::m_dest, Eigen::internal::gemm_functor< Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType >::m_lhs, Eigen::internal::gemm_functor< Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType >::m_rhs, row(), rows, and run().

Member Data Documentation

◆ m_actualAlpha

template<typename Scalar , typename Index , typename Gemm , typename Lhs , typename Rhs , typename Dest , typename BlockingType >
Scalar Eigen::internal::gemm_functor< Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType >::m_actualAlpha
protected

◆ m_blocking

template<typename Scalar , typename Index , typename Gemm , typename Lhs , typename Rhs , typename Dest , typename BlockingType >
BlockingType& Eigen::internal::gemm_functor< Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType >::m_blocking
protected

◆ m_dest

template<typename Scalar , typename Index , typename Gemm , typename Lhs , typename Rhs , typename Dest , typename BlockingType >
Dest& Eigen::internal::gemm_functor< Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType >::m_dest
protected

◆ m_lhs

template<typename Scalar , typename Index , typename Gemm , typename Lhs , typename Rhs , typename Dest , typename BlockingType >
const Lhs& Eigen::internal::gemm_functor< Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType >::m_lhs
protected

◆ m_rhs

template<typename Scalar , typename Index , typename Gemm , typename Lhs , typename Rhs , typename Dest , typename BlockingType >
const Rhs& Eigen::internal::gemm_functor< Scalar, Index, Gemm, Lhs, Rhs, Dest, BlockingType >::m_rhs
protected

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