Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper > Struct Template Reference

#include <TensorContraction.h>

Public Types

enum  { HasBeta = false }
 
typedef TensorContractionBlockMemAllocator< LhsScalar, RhsScalar > BlockMemAllocator
 
typedef BlockMemAllocator::BlockMemHandle BlockMemHandle
 
typedef internal::gebp_kernel< LhsScalar, RhsScalar, StorageIndex, OutputMapper, Traits::mr, Traits::nr, false, false > GebpKernel
 
typedef LhsScalar * LhsBlock
 
typedef internal::gemm_pack_lhs< LhsScalar, StorageIndex, typename LhsMapper::SubMapper, Traits::mr, Traits::LhsProgress, typename Traits::LhsPacket4Packing, ColMajorLhsPacker
 
typedef RhsScalar * RhsBlock
 
typedef internal::gemm_pack_rhs< RhsScalar, StorageIndex, typename RhsMapper::SubMapper, Traits::nr, ColMajorRhsPacker
 
typedef internal::gebp_traits< LhsScalar, RhsScalar > Traits
 

Public Member Functions

template<typename Device >
EIGEN_DEVICE_FUNC BlockMemHandle allocate (Device &d, LhsBlock *lhs_block, RhsBlock *rhs_block)
 
template<typename Device >
EIGEN_DEVICE_FUNC BlockMemHandle allocateSlices (Device &d, const StorageIndex num_lhs, const StorageIndex num_rhs, const StorageIndex num_slices, std::vector< LhsBlock > *lhs_blocks, std::vector< RhsBlock > *rhs_blocks)
 
EIGEN_DEVICE_FUNC EIGEN_DONT_INLINE void invoke (const OutputMapper &output_mapper, const LhsBlock &lhsBlock, const RhsBlock &rhsBlock, const StorageIndex rows, const StorageIndex depth, const StorageIndex cols, const ResScalar alpha, const ResScalar beta)
 
EIGEN_DEVICE_FUNC EIGEN_DONT_INLINE void packLhs (LhsBlock *lhsBlock, const typename LhsMapper::SubMapper &data_mapper, const StorageIndex depth, const StorageIndex rows)
 
EIGEN_DEVICE_FUNC EIGEN_DONT_INLINE void packRhs (RhsBlock *rhsBlock, const typename RhsMapper::SubMapper &data_mapper, const StorageIndex depth, const StorageIndex cols)
 
EIGEN_DEVICE_FUNC TensorContractionKernel (StorageIndex m_, StorageIndex k_, StorageIndex n_, StorageIndex bm_, StorageIndex bk_, StorageIndex bn_)
 

Static Public Member Functions

template<typename Device >
static EIGEN_DEVICE_FUNC void deallocate (Device &d, BlockMemHandle handle)
 

Private Attributes

const StorageIndex bk
 
const StorageIndex bm
 
const StorageIndex bn
 
const StorageIndex k
 
const StorageIndex m
 
const StorageIndex n
 

Detailed Description

template<typename ResScalar, typename LhsScalar, typename RhsScalar, typename StorageIndex, typename OutputMapper, typename LhsMapper, typename RhsMapper>
struct Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >

Definition at line 182 of file TensorContraction.h.

Member Typedef Documentation

◆ BlockMemAllocator

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
typedef TensorContractionBlockMemAllocator<LhsScalar, RhsScalar> Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::BlockMemAllocator

Definition at line 198 of file TensorContraction.h.

◆ BlockMemHandle

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
typedef BlockMemAllocator::BlockMemHandle Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::BlockMemHandle

Definition at line 199 of file TensorContraction.h.

◆ GebpKernel

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
typedef internal::gebp_kernel<LhsScalar, RhsScalar, StorageIndex, OutputMapper, Traits::mr, Traits::nr, false, false> Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::GebpKernel

Definition at line 216 of file TensorContraction.h.

◆ LhsBlock

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
typedef LhsScalar* Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::LhsBlock

Definition at line 193 of file TensorContraction.h.

◆ LhsPacker

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
typedef internal::gemm_pack_lhs< LhsScalar, StorageIndex, typename LhsMapper::SubMapper, Traits::mr, Traits::LhsProgress, typename Traits::LhsPacket4Packing, ColMajor> Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::LhsPacker

Definition at line 206 of file TensorContraction.h.

◆ RhsBlock

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
typedef RhsScalar* Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::RhsBlock

Definition at line 194 of file TensorContraction.h.

◆ RhsPacker

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
typedef internal::gemm_pack_rhs<RhsScalar, StorageIndex, typename RhsMapper::SubMapper, Traits::nr, ColMajor> Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::RhsPacker

Definition at line 211 of file TensorContraction.h.

◆ Traits

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
typedef internal::gebp_traits<LhsScalar, RhsScalar> Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::Traits

Definition at line 201 of file TensorContraction.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
anonymous enum
Enumerator
HasBeta 

Definition at line 185 of file TensorContraction.h.

Constructor & Destructor Documentation

◆ TensorContractionKernel()

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
EIGEN_DEVICE_FUNC Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::TensorContractionKernel ( StorageIndex  m_,
StorageIndex  k_,
StorageIndex  n_,
StorageIndex  bm_,
StorageIndex  bk_,
StorageIndex  bn_ 
)
inline

Definition at line 188 of file TensorContraction.h.

Member Function Documentation

◆ allocate()

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
template<typename Device >
EIGEN_DEVICE_FUNC BlockMemHandle Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::allocate ( Device &  d,
LhsBlock lhs_block,
RhsBlock rhs_block 
)
inline

Definition at line 219 of file TensorContraction.h.

◆ allocateSlices()

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
template<typename Device >
EIGEN_DEVICE_FUNC BlockMemHandle Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::allocateSlices ( Device &  d,
const StorageIndex  num_lhs,
const StorageIndex  num_rhs,
const StorageIndex  num_slices,
std::vector< LhsBlock > *  lhs_blocks,
std::vector< RhsBlock > *  rhs_blocks 
)
inline

Definition at line 225 of file TensorContraction.h.

◆ deallocate()

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
template<typename Device >
static EIGEN_DEVICE_FUNC void Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::deallocate ( Device &  d,
BlockMemHandle  handle 
)
inlinestatic

Definition at line 234 of file TensorContraction.h.

◆ invoke()

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
EIGEN_DEVICE_FUNC EIGEN_DONT_INLINE void Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::invoke ( const OutputMapper &  output_mapper,
const LhsBlock lhsBlock,
const RhsBlock rhsBlock,
const StorageIndex  rows,
const StorageIndex  depth,
const StorageIndex  cols,
const ResScalar  alpha,
const ResScalar  beta 
)
inline

Definition at line 251 of file TensorContraction.h.

◆ packLhs()

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
EIGEN_DEVICE_FUNC EIGEN_DONT_INLINE void Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::packLhs ( LhsBlock lhsBlock,
const typename LhsMapper::SubMapper &  data_mapper,
const StorageIndex  depth,
const StorageIndex  rows 
)
inline

Definition at line 238 of file TensorContraction.h.

◆ packRhs()

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
EIGEN_DEVICE_FUNC EIGEN_DONT_INLINE void Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::packRhs ( RhsBlock rhsBlock,
const typename RhsMapper::SubMapper &  data_mapper,
const StorageIndex  depth,
const StorageIndex  cols 
)
inline

Definition at line 245 of file TensorContraction.h.

Member Data Documentation

◆ bk

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
const StorageIndex Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::bk
private

Definition at line 273 of file TensorContraction.h.

◆ bm

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
const StorageIndex Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::bm
private

Definition at line 272 of file TensorContraction.h.

◆ bn

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
const StorageIndex Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::bn
private

Definition at line 274 of file TensorContraction.h.

◆ k

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
const StorageIndex Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::k
private

Definition at line 270 of file TensorContraction.h.

◆ m

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
const StorageIndex Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::m
private

Definition at line 269 of file TensorContraction.h.

◆ n

template<typename ResScalar , typename LhsScalar , typename RhsScalar , typename StorageIndex , typename OutputMapper , typename LhsMapper , typename RhsMapper >
const StorageIndex Eigen::internal::TensorContractionKernel< ResScalar, LhsScalar, RhsScalar, StorageIndex, OutputMapper, LhsMapper, RhsMapper >::n
private

Definition at line 271 of file TensorContraction.h.


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


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:45:33