TrsmKernel.h File Reference

Go to the source code of this file.

Namespaces

 Eigen
 : InteropHeaders
 
 Eigen::internal
 

Macros

#define EIGEN_AVX_B_LOAD_SETS
 
#define EIGEN_AVX_MAX_A_BCAST
 
#define EIGEN_AVX_MAX_K_UNROL
 
#define EIGEN_AVX_MAX_NUM_ACC
 
#define EIGEN_AVX_MAX_NUM_ROW
 
#define EIGEN_ENABLE_AVX512_NOCOPY_TRSM_CUTOFFS
 
#define EIGEN_ENABLE_AVX512_NOCOPY_TRSM_L_CUTOFFS
 
#define EIGEN_ENABLE_AVX512_NOCOPY_TRSM_R_CUTOFFS
 
#define EIGEN_USE_AVX512_TRSM_KERNELS
 
#define EIGEN_USE_AVX512_TRSM_L_KERNELS
 
#define EIGEN_USE_AVX512_TRSM_R_KERNELS
 

Typedefs

typedef Packet8d Eigen::internal::vecFullDouble
 
typedef Packet16f Eigen::internal::vecFullFloat
 
typedef Packet4d Eigen::internal::vecHalfDouble
 
typedef Packet8f Eigen::internal::vecHalfFloat
 

Functions

template<typename Scalar , bool toTemp = true, bool remM = false>
EIGEN_ALWAYS_INLINE void Eigen::internal::copyBToRowMajor (Scalar *B_arr, int64_t LDB, int64_t K, Scalar *B_temp, int64_t LDB_, int64_t remM_=0)
 
template<typename Scalar , bool isARowMajor, bool isCRowMajor, bool isAdd, bool handleKRem>
void Eigen::internal::gemmKernel (Scalar *A_arr, Scalar *B_arr, Scalar *C_arr, int64_t M, int64_t N, int64_t K, int64_t LDA, int64_t LDB, int64_t LDC)
 
template<typename Scalar , typename vec , int64_t unrollM, int64_t unrollN, bool remM, bool remN>
EIGEN_ALWAYS_INLINE void Eigen::internal::transStoreC (PacketBlock< vec, EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS > &zmm, Scalar *C_arr, int64_t LDC, int64_t remM_=0, int64_t remN_=0)
 
template<typename Scalar , bool isARowMajor = true, bool isBRowMajor = true, bool isFWDSolve = true, bool isUnitDiag = false>
void Eigen::internal::triSolve (Scalar *A_arr, Scalar *B_arr, int64_t M, int64_t numRHS, int64_t LDA, int64_t LDB)
 
template<typename Scalar , typename vec , int64_t unrollM, bool isARowMajor, bool isFWDSolve, bool isUnitDiag>
EIGEN_ALWAYS_INLINE void Eigen::internal::triSolveKernel (Scalar *A_arr, Scalar *B_arr, int64_t K, int64_t LDA, int64_t LDB)
 
template<typename Scalar , bool isARowMajor, bool isFWDSolve, bool isUnitDiag>
void Eigen::internal::triSolveKernelLxK (Scalar *A_arr, Scalar *B_arr, int64_t M, int64_t K, int64_t LDA, int64_t LDB)
 

Macro Definition Documentation

◆ EIGEN_AVX_B_LOAD_SETS

#define EIGEN_AVX_B_LOAD_SETS

Definition at line 49 of file TrsmKernel.h.

◆ EIGEN_AVX_MAX_A_BCAST

#define EIGEN_AVX_MAX_A_BCAST

Definition at line 50 of file TrsmKernel.h.

◆ EIGEN_AVX_MAX_K_UNROL

#define EIGEN_AVX_MAX_K_UNROL

Definition at line 48 of file TrsmKernel.h.

◆ EIGEN_AVX_MAX_NUM_ACC

#define EIGEN_AVX_MAX_NUM_ACC

Definition at line 46 of file TrsmKernel.h.

◆ EIGEN_AVX_MAX_NUM_ROW

#define EIGEN_AVX_MAX_NUM_ROW

Definition at line 47 of file TrsmKernel.h.

◆ EIGEN_ENABLE_AVX512_NOCOPY_TRSM_CUTOFFS

#define EIGEN_ENABLE_AVX512_NOCOPY_TRSM_CUTOFFS

Definition at line 111 of file TrsmKernel.h.

◆ EIGEN_ENABLE_AVX512_NOCOPY_TRSM_L_CUTOFFS

#define EIGEN_ENABLE_AVX512_NOCOPY_TRSM_L_CUTOFFS

Definition at line 113 of file TrsmKernel.h.

◆ EIGEN_ENABLE_AVX512_NOCOPY_TRSM_R_CUTOFFS

#define EIGEN_ENABLE_AVX512_NOCOPY_TRSM_R_CUTOFFS

Definition at line 112 of file TrsmKernel.h.

◆ EIGEN_USE_AVX512_TRSM_KERNELS

#define EIGEN_USE_AVX512_TRSM_KERNELS

Definition at line 16 of file TrsmKernel.h.

◆ EIGEN_USE_AVX512_TRSM_L_KERNELS

#define EIGEN_USE_AVX512_TRSM_L_KERNELS

Definition at line 31 of file TrsmKernel.h.

◆ EIGEN_USE_AVX512_TRSM_R_KERNELS

#define EIGEN_USE_AVX512_TRSM_R_KERNELS

Definition at line 28 of file TrsmKernel.h.