|
#define | accColsC (accCols / 2) |
|
#define | GEMM_MULTIPLE_COLS |
|
#define | PEEL_MMA 8 |
|
#define | MICRO_MMA_UNROLL(func) func(0) func(1) func(2) func(3) func(4) func(5) func(6) func(7) |
|
#define | MICRO_MMA_WORK(func, type, peel) |
|
#define | MICRO_MMA_WORK_ONE(iter, type, peel, left, right) |
|
#define | MICRO_MMA_UNROLL_ITER(func, val) |
|
#define | MICRO_MMA_LOAD_ONE_RHS1(peel, right) ploadRhsMMA(rhs_ptr##right + (accRows * peel), rhsV##right[peel]); |
|
#define | MICRO_MMA_LOAD_ONE_RHS(peel) MICRO_MMA_UNROLL_ITER(MICRO_MMA_LOAD_ONE_RHS1, peel) |
|
#define | MICRO_MMA_TYPE_PEEL(funcw, funcl, type, peel) |
|
#define | MICRO_MMA_UNROLL_TYPE_PEEL(funcw, funcl, type) |
|
#define | MICRO_MMA_UNROLL_TYPE_ONE(funcw, funcl, type) |
|
#define | MICRO_MMA_UPDATE_RHS1(size, right) rhs_ptr##right += (accRows * size); |
|
#define | MICRO_MMA_UPDATE_RHS(size) MICRO_MMA_UNROLL_ITER(MICRO_MMA_UPDATE_RHS1, size) |
|
#define | MICRO_MMA_UNROLL_TYPE(MICRO_MMA_TYPE, size) |
|
#define | MICRO_MMA_ONE_PEEL MICRO_MMA_UNROLL_TYPE(MICRO_MMA_UNROLL_TYPE_PEEL, PEEL_MMA) |
|
#define | MICRO_MMA_ONE MICRO_MMA_UNROLL_TYPE(MICRO_MMA_UNROLL_TYPE_ONE, 1) |
|
#define | MICRO_MMA_DST_PTR_ONE(iter) |
|
#define | MICRO_MMA_DST_PTR MICRO_MMA_UNROLL(MICRO_MMA_DST_PTR_ONE) |
|
#define | MICRO_MMA_SRC_PTR MICRO_MMA_UNROLL(MICRO_SRC_PTR_ONE) |
|
#define | MICRO_MMA_PREFETCH MICRO_MMA_UNROLL(MICRO_PREFETCH_ONE) |
|
#define | MICRO_MMA_STORE_ONE(iter, left, right) |
|
#define | MICRO_MMA_ITER_UNROLL(func) |
|
#define | MICRO_MMA_STORE MICRO_MMA_ITER_UNROLL(MICRO_MMA_STORE_ONE) |
|
#define | MICRO_MMA_EXTRA_ROWS(right) |
|
#define | MICRO_MMA_EXTRA_ROWS1(val, right) MICRO_MMA_EXTRA_ROWS(right); |
|
#define | MICRO_MMA_UNROLL_ITER2(N, M) |
|
#define | MICRO_MMA_ROWS(n) |
|
#define | MAX_MMA_UNROLL 7 |
|
#define | MICRO_MMA_COLS(n) |
|
#define | advanceRows ((LhsIsReal) ? 1 : 2) |
|
#define | advanceCols ((RhsIsReal) ? 1 : 2) |
|
#define | PEEL_COMPLEX_MMA 4 |
|
#define | MICRO_COMPLEX_MMA_UNROLL(func) func(0) func(1) func(2) func(3) |
|
#define | MICRO_COMPLEX_MMA_WORK(func, type, peel) |
|
#define | MICRO_COMPLEX_MMA_WORK_ONE(iter, type, peel, left, right) |
|
#define | MICRO_COMPLEX_MMA_LOAD_RHS1(peel, right) |
|
#define | MICRO_COMPLEX_MMA_LOAD_ONE_RHS(peel) MICRO_MMA_UNROLL_ITER(MICRO_COMPLEX_MMA_LOAD_RHS1, peel) |
|
#define | MICRO_COMPLEX_MMA_TYPE_PEEL(funcw, funcl, type, peel) |
|
#define | MICRO_COMPLEX_MMA_UNROLL_TYPE_PEEL(funcw, funcl, type) |
|
#define | MICRO_COMPLEX_MMA_UNROLL_TYPE_ONE(funcw, funcl, type) |
|
#define | MICRO_COMPLEX_MMA_UPDATE_RHS1(size, right) |
|
#define | MICRO_COMPLEX_MMA_UPDATE_RHS(size) MICRO_MMA_UNROLL_ITER(MICRO_COMPLEX_MMA_UPDATE_RHS1, size) |
|
#define | MICRO_COMPLEX_MMA_UNROLL_TYPE(MICRO_COMPLEX_MMA_TYPE, size) |
|
#define | MICRO_COMPLEX_MMA_ONE_PEEL MICRO_COMPLEX_MMA_UNROLL_TYPE(MICRO_COMPLEX_MMA_UNROLL_TYPE_PEEL, PEEL_COMPLEX_MMA) |
|
#define | MICRO_COMPLEX_MMA_ONE MICRO_COMPLEX_MMA_UNROLL_TYPE(MICRO_COMPLEX_MMA_UNROLL_TYPE_ONE, 1) |
|
#define | MICRO_COMPLEX_MMA_DST_PTR_ONE(iter) |
|
#define | MICRO_COMPLEX_MMA_DST_PTR MICRO_COMPLEX_MMA_UNROLL(MICRO_COMPLEX_MMA_DST_PTR_ONE) |
|
#define | MICRO_COMPLEX_MMA_SRC_PTR MICRO_COMPLEX_MMA_UNROLL(MICRO_COMPLEX_SRC_PTR_ONE) |
|
#define | MICRO_COMPLEX_MMA_PREFETCH MICRO_COMPLEX_MMA_UNROLL(MICRO_COMPLEX_PREFETCH_ONE) |
|
#define | MICRO_COMPLEX_MMA_STORE_ONE(iter, left, right) |
|
#define | MICRO_COMPLEX_MMA_ITER_UNROLL(func) |
|
#define | MICRO_COMPLEX_MMA_STORE MICRO_COMPLEX_MMA_ITER_UNROLL(MICRO_COMPLEX_MMA_STORE_ONE) |
|
#define | MICRO_COMPLEX_MMA_EXTRA_ROWS(right) |
|
#define | MICRO_COMPLEX_MMA_EXTRA_ROWS1(val, right) MICRO_COMPLEX_MMA_EXTRA_ROWS(right); |
|
#define | MICRO_COMPLEX_MMA_UNROLL_ITER2(N, M) |
|
#define | MICRO_COMPLEX_MMA_ROWS(n) |
|
#define | MAX_COMPLEX_MMA_UNROLL 4 |
|
#define | MICRO_COMPLEX_MMA_COLS(n) |
|
|
EIGEN_ALWAYS_INLINE void | Eigen::internal::bsetzeroMMA (__vector_quad *acc) |
|
template<typename DataMapper , typename Packet , bool full> |
EIGEN_ALWAYS_INLINE void | Eigen::internal::storeAccumulator (Index i, const DataMapper &data, const Packet &alpha, const Index elements, __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) |
|
template<typename LhsPacket , typename RhsPacket , bool NegativeAccumulate> |
EIGEN_ALWAYS_INLINE void | Eigen::internal::pgerMMA (__vector_quad *acc, const RhsPacket &a, const LhsPacket &b) |
|
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 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 Packet > |
EIGEN_ALWAYS_INLINE Packet | Eigen::internal::ploadRhs (const __UNPACK_TYPE__(Packet) *rhs) |
|
template<typename Scalar , typename Packet > |
EIGEN_ALWAYS_INLINE void | Eigen::internal::ploadRhsMMA (const Scalar *rhs, Packet &rhsV) |
|
template<> |
EIGEN_ALWAYS_INLINE void | Eigen::internal::ploadRhsMMA (const double *rhs, __vector_pair &rhsV) |
|
EIGEN_ALWAYS_INLINE void | Eigen::internal::ploadLhsMMA (const double *lhs, __vector_pair &lhsV) |
|
template<int unroll_factor, typename Scalar , typename Packet , typename RhsPacket , typename DataMapper , const Index accRows, const Index accCols, bool full, const Index accItr> |
EIGEN_ALWAYS_INLINE void | Eigen::internal::gemm_unrolled_MMA_iteration (const DataMapper &res0, const DataMapper &res1, const DataMapper &res2, const DataMapper &res3, const Scalar *lhs_base, const Scalar *rhs_base, Index depth, Index strideA, Index strideB, Index offsetA, Index &row, const Packet &pAlpha, Index accCols2) |
|
template<typename Scalar , typename Packet , typename RhsPacket , typename DataMapper , const Index accRows, const Index accCols, const Index accItr> |
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 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<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, const Index accItr> |
EIGEN_ALWAYS_INLINE void | Eigen::internal::gemm_complex_unrolled_MMA_iteration (const DataMapper &res0, const DataMapper &res1, const DataMapper &res2, const DataMapper &res3, 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 Scalar , typename Packet , typename Packetc , typename RhsPacket , typename DataMapper , const Index accRows, const Index accCols, bool ConjugateLhs, bool ConjugateRhs, bool LhsIsReal, bool RhsIsReal, const Index accItr> |
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 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) |
|