82 if (*
m == 0 || *
n == 0)
return;
97 func[
code](*
m, *
n, *
k,
a, *
lda,
b, *
ldb,
c, 1, *
ldc,
alpha, blocking, 0);
101 (
const char *
side,
const char *
uplo,
const char *
opa,
const char *
diag,
const int *
m,
const int *
n,
221 if (*
m == 0 || *
n == 0)
return;
226 Eigen::internal::gemm_blocking_space<ColMajor, Scalar, Scalar, Dynamic, Dynamic, Dynamic, 4> blocking(*
m, *
n, *
m, 1,
230 Eigen::internal::gemm_blocking_space<ColMajor, Scalar, Scalar, Dynamic, Dynamic, Dynamic, 4> blocking(*
m, *
n, *
n, 1,
241 (
const char *
side,
const char *
uplo,
const char *
opa,
const char *
diag,
const int *
m,
const int *
n,
362 if (*
m == 0 || *
n == 0)
return;
369 Eigen::internal::gemm_blocking_space<ColMajor, Scalar, Scalar, Dynamic, Dynamic, Dynamic, 4> blocking(*
m, *
n, *
m, 1,
371 func[
code](*
m, *
n, *
m,
a, *
lda,
tmp.
data(),
tmp.
outerStride(),
b, 1, *
ldb,
alpha, blocking);
373 Eigen::internal::gemm_blocking_space<ColMajor, Scalar, Scalar, Dynamic, Dynamic, Dynamic, 4> blocking(*
m, *
n, *
n, 1,
375 func[
code](*
m, *
n, *
n,
tmp.
data(),
tmp.
outerStride(),
a, *
lda,
b, 1, *
ldb,
alpha, blocking);
416 if (*
m == 0 || *
n == 0)
return;
446 ColMajor, 1>
::run(*
m, *
n,
a, *
lda,
b, *
ldb,
c, 1, *
ldc,
alpha,
450 ColMajor, 1>
::run(*
m, *
n,
a, *
lda,
b, *
ldb,
c, 1, *
ldc,
alpha,
457 ColMajor, 1>
::run(*
m, *
n,
b, *
ldb,
a, *
lda,
c, 1, *
ldc,
alpha,
461 ColMajor, 1>
::run(*
m, *
n,
b, *
ldb,
a, *
lda,
c, 1, *
ldc,
alpha,
541 if (*
n == 0 || *
k == 0)
return;
565 func[
code](*
n, *
k,
a, *
lda,
a, *
lda,
c, 1, *
ldc,
alpha, blocking);
675 if (*
m == 0 || *
n == 0)
return;
690 ColMajor, 1>
::run(*
m, *
n,
a, *
lda,
b, *
ldb,
c, 1, *
ldc,
alpha,
694 ColMajor, 1>
::run(*
m, *
n,
a, *
lda,
b, *
ldb,
c, 1, *
ldc,
alpha,
703 .selfadjointView<
Upper>();
708 ColMajor, 1>::
run(*
m, *
n,
b, *
ldb,
a, *
lda,
c, 1, *
ldc,
alpha,
797 func[
code](*
n, *
k,
a, *
lda,
a, *
lda,
c, 1, *
ldc,
alpha, blocking);
AnnoyingScalar conj(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:133
SCALAR Scalar
Definition: bench_gemm.cpp:45
EIGEN_DONT_INLINE void gemm(const A &a, const B &b, C &c)
Definition: bench_gemm.cpp:158
NumTraits< Scalar >::Real RealScalar
Definition: bench_gemm.cpp:46
#define ISCOMPLEX
Definition: blas/complex_double.cpp:14
#define SCALAR_SUFFIX_UP
Definition: blas/complex_double.cpp:12
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index outerStride() const EIGEN_NOEXCEPT
Definition: Eigen/Eigen/src/Core/Matrix.h:390
constexpr EIGEN_DEVICE_FUNC const Scalar * data() const
Definition: PlainObjectBase.h:273
Definition: GeneralMatrixMatrix.h:223
Definition: GeneralMatrixMatrix.h:226
@ Conj
Definition: common.h:73
#define UP
Definition: common.h:46
#define LEFT
Definition: common.h:43
#define TR
Definition: common.h:40
#define SIDE(X)
Definition: common.h:57
#define OP(X)
Definition: common.h:54
#define NOTR
Definition: common.h:39
#define ADJ
Definition: common.h:41
#define INVALID
Definition: common.h:52
#define UPLO(X)
Definition: common.h:59
#define DIAG(X)
Definition: common.h:61
#define LO
Definition: common.h:47
#define max(a, b)
Definition: datatypes.h:23
@ StrictlyLower
Definition: Constants.h:223
@ UnitDiag
Definition: Constants.h:215
@ StrictlyUpper
Definition: Constants.h:225
@ Lower
Definition: Constants.h:211
@ Upper
Definition: Constants.h:213
@ ColMajor
Definition: Constants.h:318
@ RowMajor
Definition: Constants.h:320
@ OnTheLeft
Definition: Constants.h:331
@ OnTheRight
Definition: Constants.h:333
EIGEN_BLAS_FUNC(EIGEN_CAT(REAL_SCALAR_SUFFIX, scal))(int *n
const char const char const int const int const int const RealScalar const RealScalar const int const RealScalar const int const RealScalar RealScalar const int * ldc
Definition: level3_impl.h:15
Eigen::Matrix< Scalar, Dynamic, Dynamic, ColMajor > tmp
Definition: level3_impl.h:365
const char * opa
Definition: level3_impl.h:13
const char const char const int const int const int const RealScalar * palpha
Definition: level3_impl.h:13
matrix(b, *m, *n, *ldb).setZero()
const char const char const int const int const int const RealScalar const RealScalar const int * lda
Definition: level3_impl.h:14
const char const char const int const int * n
Definition: level3_impl.h:13
int size
Definition: level3_impl.h:418
int code
Definition: level3_impl.h:96
const char const char const int * m
Definition: level3_impl.h:13
Eigen::Matrix< Scalar, Dynamic, Dynamic, ColMajor > matA(size, size)
const Scalar * b
Definition: level3_impl.h:58
const char const char const int const int const int const RealScalar const RealScalar const int const RealScalar const int const RealScalar RealScalar * pc
Definition: level3_impl.h:14
const char const char * op
Definition: level3_impl.h:473
const char const char * uplo
Definition: level3_impl.h:101
const char const char const int const int const int const RealScalar const RealScalar const int const RealScalar const int * ldb
Definition: level3_impl.h:14
int info
Definition: level3_impl.h:63
const char const char const int const int const int * k
Definition: level3_impl.h:13
const Scalar * a
Definition: level3_impl.h:57
void(* functype)(DenseIndex, DenseIndex, DenseIndex, const Scalar *, DenseIndex, const Scalar *, DenseIndex, Scalar *, DenseIndex, DenseIndex, Scalar, Eigen::internal::level3_blocking< Scalar, Scalar > &, Eigen::internal::GemmParallelInfo< DenseIndex > *)
Definition: level3_impl.h:22
Scalar alpha
Definition: level3_impl.h:60
Scalar * c
Definition: level3_impl.h:59
const char const char const int const int const int const RealScalar const RealScalar const int const RealScalar * pb
Definition: level3_impl.h:14
const char const char const int const int const int const RealScalar const RealScalar const int const RealScalar const int const RealScalar * pbeta
Definition: level3_impl.h:14
const char * side
Definition: level3_impl.h:101
Scalar beta
Definition: level3_impl.h:61
const char const char const char const char * diag
Definition: level3_impl.h:101
const char const char * opb
Definition: level3_impl.h:13
const char const char const int const int const int const RealScalar const RealScalar * pa
Definition: level3_impl.h:14
EIGEN_DEFAULT_DENSE_INDEX_TYPE DenseIndex
Definition: Meta.h:75
const int Dynamic
Definition: Constants.h:25
void symm(int size=Size, int othersize=OtherSize)
Definition: product_symm.cpp:13
void syrk(const MatrixType &m)
Definition: product_syrk.cpp:13
void trmm(int rows=get_random_size< Scalar >(), int cols=get_random_size< Scalar >(), int otherCols=OtherCols==Dynamic ? get_random_size< Scalar >() :OtherCols)
Definition: product_trmm.cpp:20
Definition: Parallelizer.h:106
Definition: BlasUtil.h:38
Definition: GeneralMatrixMatrixTriangular.h:39
Definition: SelfadjointMatrixMatrix.h:264
Definition: TriangularMatrixMatrix.h:49
Definition: SolveTriangular.h:27
Definition: benchGeometry.cpp:21
void run(const string &dir_name, LinearSolver *linear_solver_pt, const unsigned nel_1d, bool mess_up_order)
Definition: two_d_poisson_compare_solvers.cc:317
EIGEN_WEAK_LINKING void xerbla_(const char *msg, int *info)
Definition: xerbla.cpp:14