* [gentoo-commits] proj/auto-numerical-bench:newinterfaces commit in: btl/generic_bench/, btl/actions/BLAS/, btl/actions/LAPACK/
@ 2012-10-16 21:55 Andrea Arteaga
0 siblings, 0 replies; only message in thread
From: Andrea Arteaga @ 2012-10-16 21:55 UTC (permalink / raw
To: gentoo-commits
commit: 526826e013dd353efeb3eec0f6552de5a4a5a431
Author: Andrea Arteaga <andyspiros <AT> gmail <DOT> com>
AuthorDate: Tue Oct 16 21:55:09 2012 +0000
Commit: Andrea Arteaga <andyspiros <AT> gmail <DOT> com>
CommitDate: Tue Oct 16 21:55:09 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/auto-numerical-bench.git;a=commit;h=526826e0
Use different seeds.
---
btl/actions/BLAS/action_MatrixMatrix.hpp | 4 ++--
btl/actions/BLAS/action_MatrixTMatrix.hpp | 4 ++--
btl/actions/BLAS/action_MatrixTVector.hpp | 4 ++--
btl/actions/BLAS/action_MatrixVector.hpp | 4 ++--
btl/actions/BLAS/action_Rank1Update.hpp | 4 ++--
btl/actions/BLAS/action_Rank2Update.hpp | 4 ++--
btl/actions/BLAS/action_SymMatrixVector.hpp | 4 ++--
btl/actions/BLAS/action_TriMatrixMatrix.hpp | 4 ++--
btl/actions/BLAS/action_TriSolveMatrix.hpp | 4 ++--
btl/actions/BLAS/action_TriSolveVector.hpp | 4 ++--
btl/actions/BLAS/action_axpy.hpp | 4 ++--
btl/actions/BLAS/action_rot.hpp | 4 ++--
btl/actions/LAPACK/action_Choleskydecomp.hpp | 4 ++--
btl/actions/LAPACK/action_GeneralSolve.hpp | 4 ++--
btl/actions/LAPACK/action_LUdecomp.hpp | 4 ++--
btl/actions/LAPACK/action_LeastSquaresSolve.hpp | 4 ++--
btl/actions/LAPACK/action_QRdecomp.hpp | 9 +++++----
btl/generic_bench/accuracy.hpp | 20 ++++++++++++--------
18 files changed, 49 insertions(+), 44 deletions(-)
diff --git a/btl/actions/BLAS/action_MatrixMatrix.hpp b/btl/actions/BLAS/action_MatrixMatrix.hpp
index a69a7f0..ef3b54e 100644
--- a/btl/actions/BLAS/action_MatrixMatrix.hpp
+++ b/btl/actions/BLAS/action_MatrixMatrix.hpp
@@ -35,8 +35,8 @@ private:
public:
// Constructor
- Action_MatrixMatrix(int size)
- : _size(size), lc(10),
+ Action_MatrixMatrix(int size, int seed=10)
+ : _size(size), lc(seed),
A(lc.fillVector<Scalar>(size*size)), B(lc.fillVector<Scalar>(size*size)),
C(size*size), C_work(size*size)
{
diff --git a/btl/actions/BLAS/action_MatrixTMatrix.hpp b/btl/actions/BLAS/action_MatrixTMatrix.hpp
index 43aaf74..de983ea 100644
--- a/btl/actions/BLAS/action_MatrixTMatrix.hpp
+++ b/btl/actions/BLAS/action_MatrixTMatrix.hpp
@@ -35,8 +35,8 @@ private:
public:
// Constructor
- Action_MatrixTMatrix(int size)
- : _size(size), lc(10),
+ Action_MatrixTMatrix(int size, int seed=10)
+ : _size(size), lc(seed),
A(lc.fillVector<Scalar>(size*size)), B(lc.fillVector<Scalar>(size*size)),
C(size*size), C_work(size*size)
{
diff --git a/btl/actions/BLAS/action_MatrixTVector.hpp b/btl/actions/BLAS/action_MatrixTVector.hpp
index 20b360a..d7d4df2 100644
--- a/btl/actions/BLAS/action_MatrixTVector.hpp
+++ b/btl/actions/BLAS/action_MatrixTVector.hpp
@@ -35,8 +35,8 @@ private:
public:
// Constructor
- Action_MatrixTVector(int size)
- : _size(size), lc(10),
+ Action_MatrixTVector(int size, int seed=10)
+ : _size(size), lc(seed),
A(lc.fillVector<Scalar>(size*size)), x(lc.fillVector<Scalar>(size)),
A_work(size*size), x_work(size), y_work(size)
{
diff --git a/btl/actions/BLAS/action_MatrixVector.hpp b/btl/actions/BLAS/action_MatrixVector.hpp
index b1a37d0..0ed5c3e 100644
--- a/btl/actions/BLAS/action_MatrixVector.hpp
+++ b/btl/actions/BLAS/action_MatrixVector.hpp
@@ -35,8 +35,8 @@ private:
public:
// Constructor
- Action_MatrixVector(int size)
- : _size(size), lc(10),
+ Action_MatrixVector(int size, int seed=10)
+ : _size(size), lc(seed),
A(lc.fillVector<Scalar>(size*size)), x(lc.fillVector<Scalar>(size)),
y(size), y_work(size)
{
diff --git a/btl/actions/BLAS/action_Rank1Update.hpp b/btl/actions/BLAS/action_Rank1Update.hpp
index bd88ac3..e2ba61a 100644
--- a/btl/actions/BLAS/action_Rank1Update.hpp
+++ b/btl/actions/BLAS/action_Rank1Update.hpp
@@ -35,8 +35,8 @@ private:
public:
// Constructor
- Action_Rank1Update(int size)
- : _size(size), lc(10),
+ Action_Rank1Update(int size, int seed=10)
+ : _size(size), lc(seed),
A(lc.fillVector<Scalar>(size*size)), A_work(size*size),
x(lc.fillVector<Scalar>(size)), y(lc.fillVector<Scalar>(size))
{
diff --git a/btl/actions/BLAS/action_Rank2Update.hpp b/btl/actions/BLAS/action_Rank2Update.hpp
index b0b1693..a94f4b0 100644
--- a/btl/actions/BLAS/action_Rank2Update.hpp
+++ b/btl/actions/BLAS/action_Rank2Update.hpp
@@ -35,8 +35,8 @@ private:
public:
// Constructor
- Action_Rank2Update(int size)
- : _size(size), lc(10),
+ Action_Rank2Update(int size, int seed=10)
+ : _size(size), lc(seed),
A(lc.fillVector<Scalar>(size*size)), A_work(size*size),
x(lc.fillVector<Scalar>(size)), y(lc.fillVector<Scalar>(size))
{
diff --git a/btl/actions/BLAS/action_SymMatrixVector.hpp b/btl/actions/BLAS/action_SymMatrixVector.hpp
index e475007..e4f324e 100644
--- a/btl/actions/BLAS/action_SymMatrixVector.hpp
+++ b/btl/actions/BLAS/action_SymMatrixVector.hpp
@@ -35,8 +35,8 @@ private:
public:
// Constructor
- Action_SymMatrixVector(int size)
- : _size(size), lc(10),
+ Action_SymMatrixVector(int size, int seed=10)
+ : _size(size), lc(seed),
A(lc.fillVector<Scalar>(size*size)), x(lc.fillVector<Scalar>(size)),
y(size), y_work(size)
{
diff --git a/btl/actions/BLAS/action_TriMatrixMatrix.hpp b/btl/actions/BLAS/action_TriMatrixMatrix.hpp
index 2b8a7c1..2655413 100644
--- a/btl/actions/BLAS/action_TriMatrixMatrix.hpp
+++ b/btl/actions/BLAS/action_TriMatrixMatrix.hpp
@@ -35,8 +35,8 @@ private:
public:
// Constructor
- Action_TriMatrixMatrix(int size)
- : _size(size), lc(10),
+ Action_TriMatrixMatrix(int size, int seed=10)
+ : _size(size), lc(seed),
A(lc.fillVector<Scalar>(size*size)), B(lc.fillVector<Scalar>(size*size)),
B_work(size*size)
{
diff --git a/btl/actions/BLAS/action_TriSolveMatrix.hpp b/btl/actions/BLAS/action_TriSolveMatrix.hpp
index f2f8879..0e7ddfc 100644
--- a/btl/actions/BLAS/action_TriSolveMatrix.hpp
+++ b/btl/actions/BLAS/action_TriSolveMatrix.hpp
@@ -35,8 +35,8 @@ private:
public:
// Constructor
- Action_TriSolveMatrix(int size)
- : _size(size), lc(10),
+ Action_TriSolveMatrix(int size, int seed=10)
+ : _size(size), lc(seed),
A(lc.fillVector<Scalar>(size*size)), B(lc.fillVector<Scalar>(size*size)),
X_work(size*size)
{
diff --git a/btl/actions/BLAS/action_TriSolveVector.hpp b/btl/actions/BLAS/action_TriSolveVector.hpp
index 6cac6f1..a858c77 100644
--- a/btl/actions/BLAS/action_TriSolveVector.hpp
+++ b/btl/actions/BLAS/action_TriSolveVector.hpp
@@ -35,8 +35,8 @@ private:
public:
// Constructor
- Action_TriSolveVector(int size)
- : _size(size), lc(10),
+ Action_TriSolveVector(int size, int seed=10)
+ : _size(size), lc(seed),
A(lc.fillVector<Scalar>(size*size)), b(lc.fillVector<Scalar>(size)),
x_work(size)
{
diff --git a/btl/actions/BLAS/action_axpy.hpp b/btl/actions/BLAS/action_axpy.hpp
index 85cb40e..2cc8324 100644
--- a/btl/actions/BLAS/action_axpy.hpp
+++ b/btl/actions/BLAS/action_axpy.hpp
@@ -35,8 +35,8 @@ private:
public:
// Constructor
- Action_axpy(int size)
- : _size(size), lc(10),
+ Action_axpy(int size, int seed=10)
+ : _size(size), lc(seed),
x(lc.fillVector<Scalar>(size)),
x_work(size), y_work(size)
{
diff --git a/btl/actions/BLAS/action_rot.hpp b/btl/actions/BLAS/action_rot.hpp
index 574254a..5eca8ba 100644
--- a/btl/actions/BLAS/action_rot.hpp
+++ b/btl/actions/BLAS/action_rot.hpp
@@ -35,8 +35,8 @@ private:
public:
// Constructor
- Action_rot(int size)
- : _size(size), lc(10),
+ Action_rot(int size, int seed=10)
+ : _size(size), lc(seed),
x(lc.fillVector<Scalar>(size)), y(lc.fillVector<Scalar>(size)),
x_work(size), y_work(size)
{
diff --git a/btl/actions/LAPACK/action_Choleskydecomp.hpp b/btl/actions/LAPACK/action_Choleskydecomp.hpp
index b60bac1..ae0a6b0 100644
--- a/btl/actions/LAPACK/action_Choleskydecomp.hpp
+++ b/btl/actions/LAPACK/action_Choleskydecomp.hpp
@@ -35,8 +35,8 @@ private:
public:
// Constructor
- Action_Choleskydecomp(int size)
- : _size(size), lc(10),
+ Action_Choleskydecomp(int size, int seed=10)
+ : _size(size), lc(seed),
A(lc.fillVector<Scalar>(size*size)), A_work(size*size)
{
MESSAGE("Action_Choleskydecomp Constructor");
diff --git a/btl/actions/LAPACK/action_GeneralSolve.hpp b/btl/actions/LAPACK/action_GeneralSolve.hpp
index c6842b1..b547d82 100644
--- a/btl/actions/LAPACK/action_GeneralSolve.hpp
+++ b/btl/actions/LAPACK/action_GeneralSolve.hpp
@@ -35,8 +35,8 @@ private:
public:
// Constructor
- Action_GeneralSolve(int size)
- : _size(size), lc(10),
+ Action_GeneralSolve(int size, int seed=10)
+ : _size(size), lc(seed),
A(lc.fillVector<Scalar>(size*size)), b(lc.fillVector<Scalar>(size)),
A_work(size*size), x_work(size), b_res(size), ipiv(size)
{
diff --git a/btl/actions/LAPACK/action_LUdecomp.hpp b/btl/actions/LAPACK/action_LUdecomp.hpp
index 1369017..f1e66c2 100644
--- a/btl/actions/LAPACK/action_LUdecomp.hpp
+++ b/btl/actions/LAPACK/action_LUdecomp.hpp
@@ -35,8 +35,8 @@ private:
public:
// Constructor
- Action_LUdecomp(int size)
- : _size(size), lc(10),
+ Action_LUdecomp(int size, int seed=10)
+ : _size(size), lc(seed),
A(lc.fillVector<Scalar>(size*size)), A_work(size*size),
eye_work(size*size), ipiv(size)
{
diff --git a/btl/actions/LAPACK/action_LeastSquaresSolve.hpp b/btl/actions/LAPACK/action_LeastSquaresSolve.hpp
index 4bd7da4..f25c39d 100644
--- a/btl/actions/LAPACK/action_LeastSquaresSolve.hpp
+++ b/btl/actions/LAPACK/action_LeastSquaresSolve.hpp
@@ -35,8 +35,8 @@ private:
public:
// Constructor
- Action_LeastSquaresSolve(int size)
- : _size(size), lc(10),
+ Action_LeastSquaresSolve(int size, int seed=10)
+ : _size(size), lc(seed),
A(lc.fillVector<Scalar>(size*size)), b(lc.fillVector<Scalar>(size)),
A_work(size*size), x_work(size), b_res(size)
{
diff --git a/btl/actions/LAPACK/action_QRdecomp.hpp b/btl/actions/LAPACK/action_QRdecomp.hpp
index a079407..c367f5e 100644
--- a/btl/actions/LAPACK/action_QRdecomp.hpp
+++ b/btl/actions/LAPACK/action_QRdecomp.hpp
@@ -35,10 +35,11 @@ private:
public:
// Constructor
- Action_QRdecomp(int size)
- : _size(size), lc(10),
+ Action_QRdecomp(int size, int seed=10)
+ : _size(size), lc(seed),
A(lc.fillVector<Scalar>(size*size)), A_work(size*size),
- tau_work(size), jpiv(size, 0), jpiv_work(size)
+ tau_work(size), jpiv(size, 0), jpiv_work(size),
+ Q_work(size*size), H_work(size*size), v_work(size), eye_work(size*size)
{
MESSAGE("Action_QRdecomp Constructor");
}
@@ -72,7 +73,7 @@ private:
LinearCongruential<> lc;
const vector_t A;
- vector_t A_work, tau_work;
+ vector_t A_work, tau_work, Q_work, H_work, v_work, eye_work;
std::vector<int> jpiv, jpiv_work;
};
diff --git a/btl/generic_bench/accuracy.hpp b/btl/generic_bench/accuracy.hpp
index eb3265f..eb26990 100644
--- a/btl/generic_bench/accuracy.hpp
+++ b/btl/generic_bench/accuracy.hpp
@@ -46,11 +46,10 @@ void bench_accuracy (int size_min, int size_max, int nb_point,
// Loop on sizes
for (int i = nb_point-1; i >= 0; --i) {
- if (!silent)
- std::cout << " " << "size = " << sizes[i] << ", " << std::flush;
+ const int size = sizes[i];
- // Initialize action with given size
- Action action(sizes[i]);
+ if (!silent)
+ std::cout << " " << "size = " << size << ", " << std::flush;
int repetitions = 0;
double average = 0., stddev = 0., e;
@@ -58,17 +57,20 @@ void bench_accuracy (int size_min, int size_max, int nb_point,
// Perform time loop and store average and standard deviation
timer.start();
do {
+ // Initialize action with given size and new seed
+ Action action(size, 15+repetitions);
e = action.getResidual();
average += e;
stddev += e*e;
++repetitions;
- } while(timer.elapsed() < 1.);
+ } while(timer.elapsed() < 1. || repetitions < 4);
// Compute average and standard deviation
+ // (sometimes strange things happen)
average /= repetitions;
- stddev = std::sqrt(stddev/repetitions - average*average);
+ stddev = std::sqrt(std::fabs(stddev/repetitions - average*average));
errors[i] = average;
devs[i] = stddev;
@@ -76,15 +78,17 @@ void bench_accuracy (int size_min, int size_max, int nb_point,
// Output
if (!silent)
std::cout << "average = " << average << ", stddev = " << stddev
- << std::endl;
+ << " (" << repetitions << " samples)" << std::endl;
}
// Dump the result
if (!silent) {
std::ofstream outfile(filename.c_str());
+ // Don't dump the stddev for now
for (int i = 0; i < nb_point; ++i)
- outfile << sizes[i] << " " << errors[i] << " " << devs[i] << "\n";
+ //outfile << sizes[i] << " " << errors[i] << " " << devs[i] << "\n";
+ outfile << sizes[i] << " " << errors[i] << "\n";
outfile.close();
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-10-16 21:55 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-16 21:55 [gentoo-commits] proj/auto-numerical-bench:newinterfaces commit in: btl/generic_bench/, btl/actions/BLAS/, btl/actions/LAPACK/ Andrea Arteaga
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox