5 #include "eigen_src/Eigen/Core"
6 #include "../BenchTimer.h"
10 #error SCALAR must be defined
17 template <
typename Func>
28 double up = 1e8 * 4 /
sizeof(
Scalar);
29 double tm0 = 4, tm1 = 10;
36 double flops = 2. *
m *
n *
k;
42 return 1
e-9 * rep * flops /
t.best();
45 template <
typename Func>
53 while (settings >>
m >>
n >>
k) {
#define BENCH(TIMER, TRIES, REP, CODE)
Definition: BenchTimer.h:150
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
Array< double, 1, 3 > e(1./3., 0.5, 2.)
#define EIGEN_DONT_INLINE
Definition: Macros.h:853
Matrix< SCALARA, Dynamic, Dynamic, opt_A > A
Definition: bench_gemm.cpp:47
Matrix< Scalar, Dynamic, Dynamic > C
Definition: bench_gemm.cpp:49
#define SCALAR
Definition: bench_gemm.cpp:22
Matrix< SCALARB, Dynamic, Dynamic, opt_B > B
Definition: bench_gemm.cpp:48
Definition: BenchTimer.h:55
Derived & setRandom(Index size)
Definition: Random.h:147
Definition: matrices.h:74
static int f(const TensorMap< Tensor< int, 3 > > &tensor)
Definition: cxx11_tensor_map.cpp:237
#define min(a, b)
Definition: datatypes.h:22
#define max(a, b)
Definition: datatypes.h:23
std::map< std::string, Array< float, 1, 8, DontAlign|RowMajor > > results
Definition: dense_solvers.cpp:10
SCALAR Scalar
Definition: gemm_common.h:13
Matrix< Scalar, Dynamic, Dynamic > Mat
Definition: gemm_common.h:15
EIGEN_DONT_INLINE double bench(long m, long n, long k, const Func &f)
Definition: gemm_common.h:18
int main_gemm(int argc, char **argv, const Func &f)
Definition: gemm_common.h:46
int * m
Definition: level2_cplx_impl.h:294
char char char int int * k
Definition: level2_impl.h:374
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
string filename
Definition: MergeRestartFiles.py:39
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286
t
Definition: plotPSD.py:36
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition: NumTraits.h:217