2 #ifndef EIGEN_BENCH_BASICBENCH_H
3 #define EIGEN_BENCH_BASICBENCH_H
7 template <
int Mode,
typename MatrixType>
10 template <
int Mode,
typename MatrixType>
12 for (
int a = 0;
a < iterations;
a++) {
14 asm(
"#begin_bench_loop LazyEval");
15 if (MatrixType::SizeAtCompileTime !=
Eigen::Dynamic)
asm(
"#fixedsize");
16 m = (
I + 0.00005 * (
m +
m.lazyProduct(
m))).eval();
18 asm(
"#begin_bench_loop OmpEval");
19 if (MatrixType::SizeAtCompileTime !=
Eigen::Dynamic)
asm(
"#fixedsize");
20 m = (
I + 0.00005 * (
m +
m.lazyProduct(
m))).eval();
22 asm(
"#begin_bench_loop EarlyEval");
23 if (MatrixType::SizeAtCompileTime !=
Eigen::Dynamic)
asm(
"#fixedsize");
24 m =
I + 0.00005 * (
m +
m *
m);
26 asm(
"#end_bench_loop");
30 template <
int Mode,
typename MatrixType>
33 template <
int Mode,
typename MatrixType>
44 for (uint
t = 0;
t < tries; ++
t) {
47 benchBasic_loop<Mode>(
I,
m, iterations);
void initMatrix_identity(MatrixType &mat) __attribute__((noinline))
Definition: BenchUtil.h:31
void initMatrix_random(MatrixType &mat) __attribute__((noinline))
Definition: BenchUtil.h:24
int rows
Definition: Tutorial_commainit_02.cpp:1
int cols
Definition: Tutorial_commainit_02.cpp:1
double benchBasic(const MatrixType &mat, int size, int tries) __attribute__((noinline))
Definition: basicbenchmark.h:34
void benchBasic_loop(const MatrixType &I, MatrixType &m, int iterations) __attribute__((noinline))
Definition: basicbenchmark.h:11
@ LazyEval
Definition: basicbenchmark.h:5
@ EarlyEval
Definition: basicbenchmark.h:5
@ OmpEval
Definition: basicbenchmark.h:5
Scalar Scalar int size
Definition: benchVecAdd.cpp:17
MatrixXf MatrixType
Definition: benchmark-blocking-sizes.cpp:52
Definition: BenchTimer.h:55
Index cols() const
Definition: SparseMatrix.h:161
Index rows() const
Definition: SparseMatrix.h:159
const Scalar * a
Definition: level2_cplx_impl.h:32
int * m
Definition: level2_cplx_impl.h:294
#define I
Definition: main.h:127
svint32_t PacketXi __attribute__((arm_sve_vector_bits(EIGEN_ARM64_SVE_VL)))
Definition: SVE/PacketMath.h:34
const int Dynamic
Definition: Constants.h:25
t
Definition: plotPSD.py:36
double timer
Definition: oomph_metis_from_parmetis_3.1.1/struct.h:210