Eigen::internal::TensorContractionBlocking< ResScalar, LhsScalar, RhsScalar, StorageIndex, ShardingType > Class Template Reference

#include <TensorContractionBlocking.h>

Public Member Functions

EIGEN_DEVICE_FUNC TensorContractionBlocking (StorageIndex k, StorageIndex m, StorageIndex n, StorageIndex num_threads=1)
 
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE StorageIndex kc () const
 
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE StorageIndex mc () const
 
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE StorageIndex nc () const
 

Private Attributes

StorageIndex kc_
 
StorageIndex mc_
 
StorageIndex nc_
 

Constructor & Destructor Documentation

◆ TensorContractionBlocking()

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , int ShardingType = ShardByCol>
EIGEN_DEVICE_FUNC Eigen::internal::TensorContractionBlocking< ResScalar, LhsScalar, RhsScalar, StorageIndex, ShardingType >::TensorContractionBlocking ( StorageIndex  k,
StorageIndex  m,
StorageIndex  n,
StorageIndex  num_threads = 1 
)
inline
45  : kc_(k), mc_(m), nc_(n) {
46  if (ShardingType == ShardByCol) {
47  computeProductBlockingSizes<LhsScalar, RhsScalar, 1>(kc_, mc_, nc_, num_threads);
48  } else {
49  computeProductBlockingSizes<LhsScalar, RhsScalar, 1>(kc_, nc_, mc_, num_threads);
50  }
51 
52  const int rhs_packet_size = internal::packet_traits<RhsScalar>::size;
53  kc_ = (rhs_packet_size <= 8 || kc_ <= rhs_packet_size) ? kc_ : (kc_ / rhs_packet_size) * rhs_packet_size;
54  }
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
StorageIndex kc_
Definition: TensorContractionBlocking.h:61
StorageIndex nc_
Definition: TensorContractionBlocking.h:63
StorageIndex mc_
Definition: TensorContractionBlocking.h:62
int * m
Definition: level2_cplx_impl.h:294
char char char int int * k
Definition: level2_impl.h:374
@ ShardByCol
Definition: TensorContractionBlocking.h:19
@ size
Definition: GenericPacketMath.h:113

References Eigen::internal::TensorContractionBlocking< ResScalar, LhsScalar, RhsScalar, StorageIndex, ShardingType >::kc_, Eigen::internal::TensorContractionBlocking< ResScalar, LhsScalar, RhsScalar, StorageIndex, ShardingType >::mc_, Eigen::internal::TensorContractionBlocking< ResScalar, LhsScalar, RhsScalar, StorageIndex, ShardingType >::nc_, and Eigen::internal::ShardByCol.

Member Function Documentation

◆ kc()

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , int ShardingType = ShardByCol>
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE StorageIndex Eigen::internal::TensorContractionBlocking< ResScalar, LhsScalar, RhsScalar, StorageIndex, ShardingType >::kc ( ) const
inline

◆ mc()

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , int ShardingType = ShardByCol>
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE StorageIndex Eigen::internal::TensorContractionBlocking< ResScalar, LhsScalar, RhsScalar, StorageIndex, ShardingType >::mc ( ) const
inline

◆ nc()

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , int ShardingType = ShardByCol>
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE StorageIndex Eigen::internal::TensorContractionBlocking< ResScalar, LhsScalar, RhsScalar, StorageIndex, ShardingType >::nc ( ) const
inline

Member Data Documentation

◆ kc_

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , int ShardingType = ShardByCol>
StorageIndex Eigen::internal::TensorContractionBlocking< ResScalar, LhsScalar, RhsScalar, StorageIndex, ShardingType >::kc_
private

◆ mc_

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , int ShardingType = ShardByCol>
StorageIndex Eigen::internal::TensorContractionBlocking< ResScalar, LhsScalar, RhsScalar, StorageIndex, ShardingType >::mc_
private

◆ nc_

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , int ShardingType = ShardByCol>
StorageIndex Eigen::internal::TensorContractionBlocking< ResScalar, LhsScalar, RhsScalar, StorageIndex, ShardingType >::nc_
private

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