MatrixProductMMA.h File Reference

Go to the source code of this file.

Namespaces

 Eigen
 : InteropHeaders
 
 Eigen::internal
 

Macros

#define accColsC
 
#define advanceCols
 
#define advanceRows
 
#define MAX_COMPLEX_MMA_UNROLL
 
#define MAX_MMA_UNROLL
 
#define MICRO_COMPLEX_MMA_DST_PTR
 
#define MICRO_COMPLEX_MMA_DST_PTR_ONE(iter)
 
#define MICRO_COMPLEX_MMA_ONE
 
#define MICRO_COMPLEX_MMA_ONE_PEEL
 
#define MICRO_COMPLEX_MMA_PREFETCH
 
#define MICRO_COMPLEX_MMA_SRC_PTR
 
#define MICRO_COMPLEX_MMA_STORE
 
#define MICRO_COMPLEX_MMA_STORE_ONE(iter)
 
#define MICRO_COMPLEX_MMA_TYPE_PEEL(funcw, funcl, type, peel)
 
#define MICRO_COMPLEX_MMA_UNROLL(func)
 
#define MICRO_COMPLEX_MMA_UNROLL_ITER2(N, M)
 
#define MICRO_COMPLEX_MMA_UNROLL_TYPE(MICRO_COMPLEX_MMA_TYPE, size)
 
#define MICRO_COMPLEX_MMA_UNROLL_TYPE_ONE(funcw, funcl, type)
 
#define MICRO_COMPLEX_MMA_UNROLL_TYPE_PEEL(funcw, funcl, type)
 
#define MICRO_COMPLEX_MMA_WORK(func, type, peel)
 
#define MICRO_COMPLEX_MMA_WORK_ONE(iter, type, peel)
 
#define MICRO_MMA_DST_PTR
 
#define MICRO_MMA_DST_PTR_ONE(iter)
 
#define MICRO_MMA_ONE
 
#define MICRO_MMA_ONE_PEEL
 
#define MICRO_MMA_PREFETCH
 
#define MICRO_MMA_SRC_PTR
 
#define MICRO_MMA_STORE
 
#define MICRO_MMA_STORE_ONE(iter)
 
#define MICRO_MMA_TYPE_PEEL(funcw, funcl, type, peel)
 
#define MICRO_MMA_UNROLL(func)
 
#define MICRO_MMA_UNROLL_ITER2(N, M)
 
#define MICRO_MMA_UNROLL_TYPE(MICRO_MMA_TYPE, size)
 
#define MICRO_MMA_UNROLL_TYPE_ONE(funcw, funcl, type)
 
#define MICRO_MMA_UNROLL_TYPE_PEEL(funcw, funcl, type)
 
#define MICRO_MMA_WORK(func, type, peel)
 
#define MICRO_MMA_WORK_ONE(iter, type, peel)
 
#define PEEL_COMPLEX_MMA
 
#define PEEL_MMA
 

Functions

EIGEN_ALWAYS_INLINE void Eigen::internal::bsetzeroMMA (__vector_quad *acc)
 
template<int unroll_factor, typename Scalar , typename Packet , typename Packetc , typename RhsPacket , typename DataMapper , const Index accRows, const Index accCols, const Index accCols2, bool ConjugateLhs, bool ConjugateRhs, bool LhsIsReal, bool RhsIsReal>
EIGEN_ALWAYS_INLINE void Eigen::internal::gemm_complex_unrolled_MMA_iteration (const DataMapper &res, const Scalar *lhs_base, const Scalar *rhs_base, Index depth, Index strideA, Index offsetA, Index strideB, Index &row, const Packet &pAlphaReal, const Packet &pAlphaImag, const Packet &pMask)
 
template<typename LhsScalar , typename RhsScalar , typename Scalarc , typename Scalar , typename Packet , typename Packetc , typename RhsPacket , typename DataMapper , const Index accRows, const Index accCols, bool ConjugateLhs, bool ConjugateRhs, bool LhsIsReal, bool RhsIsReal>
void Eigen::internal::gemm_complexMMA (const DataMapper &res, const LhsScalar *blockAc, const RhsScalar *blockBc, Index rows, Index depth, Index cols, Scalarc alpha, Index strideA, Index strideB, Index offsetA, Index offsetB)
 
template<int unroll_factor, typename Scalar , typename Packet , typename RhsPacket , typename DataMapper , const Index accRows, const Index accCols, const Index accCols2>
EIGEN_ALWAYS_INLINE void Eigen::internal::gemm_unrolled_MMA_iteration (const DataMapper &res, const Scalar *lhs_base, const Scalar *rhs_base, Index depth, Index strideA, Index offsetA, Index &row, const Packet &pAlpha, const Packet &pMask)
 
template<typename Scalar , typename Packet , typename RhsPacket , typename DataMapper , const Index accRows, const Index accCols>
void Eigen::internal::gemmMMA (const DataMapper &res, const Scalar *blockA, const Scalar *blockB, Index rows, Index depth, Index cols, Scalar alpha, Index strideA, Index strideB, Index offsetA, Index offsetB)
 
template<typename Scalar , typename Packet , typename RhsPacket , typename DataMapper , const Index accRows, const Index accCols>
EIGEN_ALWAYS_INLINE void Eigen::internal::gemmMMA_cols (const DataMapper &res, const Scalar *blockA, const Scalar *blockB, Index depth, Index strideA, Index offsetA, Index strideB, Index offsetB, Index col, Index rows, Index remaining_rows, const Packet &pAlpha, const Packet &pMask)
 
template<typename Scalar , typename Packet , typename Packetc , typename RhsPacket , typename DataMapper , const Index accRows, const Index accCols, bool ConjugateLhs, bool ConjugateRhs, bool LhsIsReal, bool RhsIsReal>
EIGEN_ALWAYS_INLINE void Eigen::internal::gemmMMA_complex_cols (const DataMapper &res, const Scalar *blockA, const Scalar *blockB, Index depth, Index strideA, Index offsetA, Index strideB, Index offsetB, Index col, Index rows, Index remaining_rows, const Packet &pAlphaReal, const Packet &pAlphaImag, const Packet &pMask)
 
template<typename Packet , typename RhsPacket , bool ConjugateLhs, bool ConjugateRhs, bool LhsIsReal, bool RhsIsReal>
EIGEN_ALWAYS_INLINE void Eigen::internal::pgercMMA (__vector_quad *accReal, __vector_quad *accImag, const Packet &lhsV, Packet &lhsVi, const RhsPacket &rhsV, RhsPacket &rhsVi)
 
template<typename LhsPacket , typename RhsPacket , bool NegativeAccumulate>
EIGEN_ALWAYS_INLINE void Eigen::internal::pgerMMA (__vector_quad *acc, const __vector_pair &a, const Packet2d &b)
 
template<typename LhsPacket , typename RhsPacket , bool NegativeAccumulate>
EIGEN_ALWAYS_INLINE void Eigen::internal::pgerMMA (__vector_quad *acc, const RhsPacket &a, const LhsPacket &b)
 
EIGEN_ALWAYS_INLINE void Eigen::internal::ploadLhsMMA (const double *lhs, __vector_pair &lhsV)
 
template<typename Packet >
EIGEN_ALWAYS_INLINE Packet Eigen::internal::ploadRhs (const __UNPACK_TYPE__(Packet) *rhs)
 
template<>
EIGEN_ALWAYS_INLINE void Eigen::internal::ploadRhsMMA (const double *rhs, __vector_pair &rhsV)
 
template<typename Scalar , typename Packet >
EIGEN_ALWAYS_INLINE void Eigen::internal::ploadRhsMMA (const Scalar *rhs, Packet &rhsV)
 
template<typename DataMapper , typename Packet , const Index accCols, const Index accCols2>
EIGEN_ALWAYS_INLINE void Eigen::internal::storeAccumulator (Index i, const DataMapper &data, const Packet &alpha, const Packet &pMask, __vector_quad *acc)
 
template<typename DataMapper , typename Packet , typename Packetc , const Index accCols, const Index accCols2>
EIGEN_ALWAYS_INLINE void Eigen::internal::storeComplexAccumulator (Index i, const DataMapper &data, const Packet &alphaReal, const Packet &alphaImag, const Packet &pMask, __vector_quad *accReal, __vector_quad *accImag)
 

Macro Definition Documentation

◆ accColsC

#define accColsC

Definition at line 37 of file MatrixProductMMA.h.

◆ advanceCols

#define advanceCols

Definition at line 458 of file MatrixProductMMA.h.

◆ advanceRows

#define advanceRows

Definition at line 457 of file MatrixProductMMA.h.

◆ MAX_COMPLEX_MMA_UNROLL

#define MAX_COMPLEX_MMA_UNROLL

◆ MAX_MMA_UNROLL

#define MAX_MMA_UNROLL

◆ MICRO_COMPLEX_MMA_DST_PTR

#define MICRO_COMPLEX_MMA_DST_PTR

Definition at line 590 of file MatrixProductMMA.h.

◆ MICRO_COMPLEX_MMA_DST_PTR_ONE

#define MICRO_COMPLEX_MMA_DST_PTR_ONE (   iter)

Definition at line 581 of file MatrixProductMMA.h.

◆ MICRO_COMPLEX_MMA_ONE

#define MICRO_COMPLEX_MMA_ONE

Definition at line 579 of file MatrixProductMMA.h.

◆ MICRO_COMPLEX_MMA_ONE_PEEL

#define MICRO_COMPLEX_MMA_ONE_PEEL

Definition at line 569 of file MatrixProductMMA.h.

◆ MICRO_COMPLEX_MMA_PREFETCH

#define MICRO_COMPLEX_MMA_PREFETCH

Definition at line 594 of file MatrixProductMMA.h.

◆ MICRO_COMPLEX_MMA_SRC_PTR

#define MICRO_COMPLEX_MMA_SRC_PTR

Definition at line 592 of file MatrixProductMMA.h.

◆ MICRO_COMPLEX_MMA_STORE

#define MICRO_COMPLEX_MMA_STORE

Definition at line 601 of file MatrixProductMMA.h.

◆ MICRO_COMPLEX_MMA_STORE_ONE

#define MICRO_COMPLEX_MMA_STORE_ONE (   iter)

Definition at line 596 of file MatrixProductMMA.h.

◆ MICRO_COMPLEX_MMA_TYPE_PEEL

#define MICRO_COMPLEX_MMA_TYPE_PEEL (   funcw,
  funcl,
  type,
  peel 
)

Definition at line 499 of file MatrixProductMMA.h.

◆ MICRO_COMPLEX_MMA_UNROLL

#define MICRO_COMPLEX_MMA_UNROLL (   func)

Definition at line 463 of file MatrixProductMMA.h.

◆ MICRO_COMPLEX_MMA_UNROLL_ITER2

#define MICRO_COMPLEX_MMA_UNROLL_ITER2 (   N,
  M 
)

Definition at line 652 of file MatrixProductMMA.h.

◆ MICRO_COMPLEX_MMA_UNROLL_TYPE

#define MICRO_COMPLEX_MMA_UNROLL_TYPE (   MICRO_COMPLEX_MMA_TYPE,
  size 
)

Definition at line 563 of file MatrixProductMMA.h.

◆ MICRO_COMPLEX_MMA_UNROLL_TYPE_ONE

#define MICRO_COMPLEX_MMA_UNROLL_TYPE_ONE (   funcw,
  funcl,
  type 
)

Definition at line 559 of file MatrixProductMMA.h.

◆ MICRO_COMPLEX_MMA_UNROLL_TYPE_PEEL

#define MICRO_COMPLEX_MMA_UNROLL_TYPE_PEEL (   funcw,
  funcl,
  type 
)

Definition at line 512 of file MatrixProductMMA.h.

◆ MICRO_COMPLEX_MMA_WORK

#define MICRO_COMPLEX_MMA_WORK (   func,
  type,
  peel 
)

Definition at line 466 of file MatrixProductMMA.h.

◆ MICRO_COMPLEX_MMA_WORK_ONE

#define MICRO_COMPLEX_MMA_WORK_ONE (   iter,
  type,
  peel 
)

Definition at line 469 of file MatrixProductMMA.h.

◆ MICRO_MMA_DST_PTR

#define MICRO_MMA_DST_PTR

Definition at line 285 of file MatrixProductMMA.h.

◆ MICRO_MMA_DST_PTR_ONE

#define MICRO_MMA_DST_PTR_ONE (   iter)

Definition at line 278 of file MatrixProductMMA.h.

◆ MICRO_MMA_ONE

#define MICRO_MMA_ONE

Definition at line 276 of file MatrixProductMMA.h.

◆ MICRO_MMA_ONE_PEEL

#define MICRO_MMA_ONE_PEEL

Definition at line 267 of file MatrixProductMMA.h.

◆ MICRO_MMA_PREFETCH

#define MICRO_MMA_PREFETCH

Definition at line 289 of file MatrixProductMMA.h.

◆ MICRO_MMA_SRC_PTR

#define MICRO_MMA_SRC_PTR

Definition at line 287 of file MatrixProductMMA.h.

◆ MICRO_MMA_STORE

#define MICRO_MMA_STORE

Definition at line 303 of file MatrixProductMMA.h.

◆ MICRO_MMA_STORE_ONE

#define MICRO_MMA_STORE_ONE (   iter)

Definition at line 297 of file MatrixProductMMA.h.

◆ MICRO_MMA_TYPE_PEEL

#define MICRO_MMA_TYPE_PEEL (   funcw,
  funcl,
  type,
  peel 
)

Definition at line 213 of file MatrixProductMMA.h.

◆ MICRO_MMA_UNROLL

#define MICRO_MMA_UNROLL (   func)

Definition at line 175 of file MatrixProductMMA.h.

◆ MICRO_MMA_UNROLL_ITER2

#define MICRO_MMA_UNROLL_ITER2 (   N,
  M 
)

Definition at line 354 of file MatrixProductMMA.h.

◆ MICRO_MMA_UNROLL_TYPE

#define MICRO_MMA_UNROLL_TYPE (   MICRO_MMA_TYPE,
  size 
)

Definition at line 262 of file MatrixProductMMA.h.

◆ MICRO_MMA_UNROLL_TYPE_ONE

#define MICRO_MMA_UNROLL_TYPE_ONE (   funcw,
  funcl,
  type 
)

Definition at line 258 of file MatrixProductMMA.h.

◆ MICRO_MMA_UNROLL_TYPE_PEEL

#define MICRO_MMA_UNROLL_TYPE_PEEL (   funcw,
  funcl,
  type 
)

Definition at line 222 of file MatrixProductMMA.h.

◆ MICRO_MMA_WORK

#define MICRO_MMA_WORK (   func,
  type,
  peel 
)

Definition at line 178 of file MatrixProductMMA.h.

◆ MICRO_MMA_WORK_ONE

#define MICRO_MMA_WORK_ONE (   iter,
  type,
  peel 
)

Definition at line 182 of file MatrixProductMMA.h.

◆ PEEL_COMPLEX_MMA

#define PEEL_COMPLEX_MMA

Definition at line 461 of file MatrixProductMMA.h.

◆ PEEL_MMA

#define PEEL_MMA

Definition at line 173 of file MatrixProductMMA.h.