67 bool fullyrand =
true;
75 std::cerr <<
"fill pool"
79 Vector2i ij(internal::random<int>(0,
rows - 1), internal::random<int>(0,
cols - 1));
87 std::cerr <<
"pool ok"
92 for (
int i = 0;
i <
n; ++
i) {
93 int i = internal::random<int>(0, pool.size());
94 coords.push_back(pool[
i]);
95 values.push_back(internal::random<Scalar>());
100 coords.push_back(Vector2i(internal::random<int>(0,
rows - 1),
j));
101 values.push_back(internal::random<Scalar>());
104 std::cout <<
"nnz = " << coords.size() <<
"\n";
109 BENCH(setrand_eigen_dense(coords, values);)
110 std::cout <<
"Eigen Dense\t" <<
timer.value() <<
"\n";
122 std::cout <<
"Eigen dynamic\t" <<
timer.value() <<
"\n";
130 std::cout <<
"Eigen sumeq\t" <<
timer.value() <<
"\n";
138 std::cout <<
"scipy\t" <<
timer.value() <<
"\n";
143 std::cout <<
"Eigen google dense\t" <<
timer.value() <<
"\n";
147 std::cout <<
"Eigen google sparse\t" <<
timer.value() <<
"\n";
157 std::cout <<
"ublas vecofvec\t" <<
timer.value() <<
"\n";
181 std::cout <<
"MTL\t" <<
timer.value() <<
"\n";
int rows
Definition: Tutorial_commainit_02.cpp:1
int cols
Definition: Tutorial_commainit_02.cpp:1
Template argument; use a member class of CGCoordinates to instantiate.
Definition: BenchTimer.h:55
double timer
Definition: oomph_metis_from_parmetis_3.1.1/struct.h:210
#define NBPERROW
Definition: sparse_setter.cpp:12
EIGEN_DONT_INLINE Scalar * setrand_mtl(const Coordinates &coords, const Values &vals)
EIGEN_DONT_INLINE Scalar * setrand_eigen_sumeq(const Coordinates &coords, const Values &vals)
Definition: sparse_setter.cpp:212
EIGEN_DONT_INLINE Scalar * setrand_eigen_google_dense(const Coordinates &coords, const Values &vals)
Definition: sparse_setter.cpp:254
#define BENCH(X)
Definition: sparse_setter.cpp:37
#define SIZE
Definition: sparse_setter.cpp:8
std::vector< float > Values
Definition: sparse_setter.cpp:48
EIGEN_DONT_INLINE Scalar * setrand_ublas_genvec(const Coordinates &coords, const Values &vals)
Definition: sparse_setter.cpp:422
EIGEN_DONT_INLINE Scalar * setrand_eigen_google_sparse(const Coordinates &coords, const Values &vals)
Definition: sparse_setter.cpp:265
EIGEN_DONT_INLINE Scalar * setrand_eigen_dynamic(const Coordinates &coords, const Values &vals)
Definition: sparse_setter.cpp:200
#define CHECK_MEM
Definition: sparse_setter.cpp:34
EIGEN_DONT_INLINE Scalar * setrand_scipy(const Coordinates &coords, const Values &vals)
Definition: sparse_setter.cpp:366
#define KK
Definition: sparse_setter.cpp:24