From d9c091ef0cfd02908526f8fe2952cfed6a541539 Mon Sep 17 00:00:00 2001 From: Andrea Arteaga Date: Mon, 27 Feb 2012 01:58:20 +0100 Subject: Solved problems with lapack and report. Reordered sample configuration files. --- blastests.in | 20 ------------ blastests.xml | 56 --------------------------------- metistests.in | 2 -- numbench/modules/internal/lapackBase.py | 7 ++--- numbench/report.py | 6 ++-- samples/Old/blastests.in | 20 ++++++++++++ samples/Old/cblastests.in | 12 +++++++ samples/Old/fftwtests.in | 5 +++ samples/Old/lapacktests.in | 5 +++ samples/Old/metistests.in | 2 ++ samples/Old/scalapacktests.in | 2 ++ samples/blastests.xml | 56 +++++++++++++++++++++++++++++++++ samples/lapacktests.xml | 38 ++++++++++++++++++++++ scalapacktests.in | 2 -- 14 files changed, 147 insertions(+), 86 deletions(-) delete mode 100644 blastests.in delete mode 100644 blastests.xml delete mode 100644 metistests.in create mode 100644 samples/Old/blastests.in create mode 100644 samples/Old/cblastests.in create mode 100644 samples/Old/fftwtests.in create mode 100644 samples/Old/lapacktests.in create mode 100644 samples/Old/metistests.in create mode 100644 samples/Old/scalapacktests.in create mode 100644 samples/blastests.xml create mode 100644 samples/lapacktests.xml delete mode 100644 scalapacktests.in diff --git a/blastests.in b/blastests.in deleted file mode 100644 index b31b19f..0000000 --- a/blastests.in +++ /dev/null @@ -1,20 +0,0 @@ -# Testing almost all implementations using gcc-4.6.1 and enabling vectorization - -# blas-reference is implemented in Fortran: set environment variables that are relevant for Fortran. -blas-reference sci-libs/blas-reference-3.3.1-r1 FC=gfortran-4.5.2 FFLAGS="-O3 -pipe -march=native -msse3 -msse4.1 -msse4.2" - -# ACML is a compiled library (no compiler/flags variables affect the result). -# Depending on the USE flags, different implementations for both 32 and 64 bits are installed. -# Use the -implementation syntax to mask them. -acml sci-libs/acml-4.4.0-r1 -acml32-gfortran -acml32-gfortran-openmp -acml64-gfortran-openmp - -# The gotoblas and openblas need the variable TARGET to be set for some CPUs (e.g. for Nehalem) -# The use flags incblas installs the CBLAS interface, too. -goto sci-libs/gotoblas2-1.13 CFLAGS="-O3 -march=native" USE='incblas' TARGET=NEHALEM -openblas sci-libs/openblas CC=gcc-4.6.1 CFLAGS="-O3 -pipe -march=native -msse3 -msse4.1 -msse4.2" USE=incblas TARGET=NEHALEM - -# ATLAS is implemented in C: set flags for C -atlas sci-libs/atlas-3.9.41 CC=gcc-4.6.1 CFLAGS="-O3 -pipe -march=native -msse3 -msse4.1 -msse4.2" - -# Eigen is mostly implemented in C++, with some C code. Set flags for both languages. -eigen dev-cpp/eigen-3.0.1-r1 CC=gcc-4.6.1 CXX=g++-4.6.1 CFLAGS="-O3 -pipe -march=native -msse3 -msse4.1 -msse4.2" CXXFLAGS="-O3 -pipe -march=native -msse3 -msse4.1 -msse4.2" \ No newline at end of file diff --git a/blastests.xml b/blastests.xml deleted file mode 100644 index b1cc327..0000000 --- a/blastests.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - sci-libs/atlas-3.9.67 - - threads - - - - - dev-cpp/eigen-3.0.5 - - -O3 - - - - - sci-libs/openblas-0.1_alpha2 - - NEHALEM - -O3 - -O3 - -openmp -threads - - - - - sci-libs/openblas-0.1_alpha2 - - NEHALEM - -O3 - -O3 - threads - - - 8 - - - - - sci-libs/mkl-10.3.7.256 - mkl32* - *int64* - *openmp - - - diff --git a/metistests.in b/metistests.in deleted file mode 100644 index 76de6bb..0000000 --- a/metistests.in +++ /dev/null @@ -1,2 +0,0 @@ -metis sci-libs/metis-4.0.1-r1 CFLAGS="-march=native" -metis-O3 sci-libs/metis-4.0.1-r1 CFLAGS="-march=native -O3" \ No newline at end of file diff --git a/numbench/modules/internal/lapackBase.py b/numbench/modules/internal/lapackBase.py index e45951d..7cd0c8c 100644 --- a/numbench/modules/internal/lapackBase.py +++ b/numbench/modules/internal/lapackBase.py @@ -27,10 +27,9 @@ defaultTests = ('lu_decomp', 'cholesky', 'qr_decomp', 'svd_decomp', 'syev') def init(self, args): - if len(args) == 0: + self.tests = btl.selectTests(availableTests, args) + if len(self.tests) == 0: self.tests = defaultTests - else: - self.tests = btl.selectTests(availableTests, args) def getImplementations(self, test): @@ -52,5 +51,5 @@ def runTest(self, test, implementation): return btlBase.runTest(self, test, btlconfig) -getTests btlBase.getTests +getTests = btlBase.getTests reportConf = btlBase.reportConf \ No newline at end of file diff --git a/numbench/report.py b/numbench/report.py index 2d8d384..c080b1f 100644 --- a/numbench/report.py +++ b/numbench/report.py @@ -97,8 +97,10 @@ def saveReport(): for tid,test in cfg.tests.items(): if test.has_key('implementations'): for impl in test['implementations']: - if test['results'][impl].has_key(operation): - resultsFile = test['results'][impl][operation] + + implres = test['results'][impl] + if implres and implres.has_key(operation): + resultsFile = implres[operation] x,y = np.loadtxt(resultsFile, unpack=True) p.addPlot(x, y, tid+'/'+impl) diff --git a/samples/Old/blastests.in b/samples/Old/blastests.in new file mode 100644 index 0000000..b31b19f --- /dev/null +++ b/samples/Old/blastests.in @@ -0,0 +1,20 @@ +# Testing almost all implementations using gcc-4.6.1 and enabling vectorization + +# blas-reference is implemented in Fortran: set environment variables that are relevant for Fortran. +blas-reference sci-libs/blas-reference-3.3.1-r1 FC=gfortran-4.5.2 FFLAGS="-O3 -pipe -march=native -msse3 -msse4.1 -msse4.2" + +# ACML is a compiled library (no compiler/flags variables affect the result). +# Depending on the USE flags, different implementations for both 32 and 64 bits are installed. +# Use the -implementation syntax to mask them. +acml sci-libs/acml-4.4.0-r1 -acml32-gfortran -acml32-gfortran-openmp -acml64-gfortran-openmp + +# The gotoblas and openblas need the variable TARGET to be set for some CPUs (e.g. for Nehalem) +# The use flags incblas installs the CBLAS interface, too. +goto sci-libs/gotoblas2-1.13 CFLAGS="-O3 -march=native" USE='incblas' TARGET=NEHALEM +openblas sci-libs/openblas CC=gcc-4.6.1 CFLAGS="-O3 -pipe -march=native -msse3 -msse4.1 -msse4.2" USE=incblas TARGET=NEHALEM + +# ATLAS is implemented in C: set flags for C +atlas sci-libs/atlas-3.9.41 CC=gcc-4.6.1 CFLAGS="-O3 -pipe -march=native -msse3 -msse4.1 -msse4.2" + +# Eigen is mostly implemented in C++, with some C code. Set flags for both languages. +eigen dev-cpp/eigen-3.0.1-r1 CC=gcc-4.6.1 CXX=g++-4.6.1 CFLAGS="-O3 -pipe -march=native -msse3 -msse4.1 -msse4.2" CXXFLAGS="-O3 -pipe -march=native -msse3 -msse4.1 -msse4.2" \ No newline at end of file diff --git a/samples/Old/cblastests.in b/samples/Old/cblastests.in new file mode 100644 index 0000000..670ddc4 --- /dev/null +++ b/samples/Old/cblastests.in @@ -0,0 +1,12 @@ +# Testing different implementations of CBLAS + +# cblas-reference is a wrapper for blas: test this with different blas implementations +reference-eigen sci-libs/cblas-reference-20110218 blas:eigen +reference-openblas sci-libs/cblas-reference-20110218 blas:openblas-threads +reference-acml sci-libs/cblas-reference-20110218 blas:acml64-gfortran + +# Other implementations are not wrappers +# Test them using gcc-4.6.1 and enabling vectorization +gsl gsl-1.15-r1 CC=gcc-4.6.1 CFLAGS="-O3 -pipe -march=native -msse3 -msse4.1 -msse4.2" +goto sci-libs/gotoblas2-1.13 CC=gcc-4.6.1 CFLAGS="-O3 -pipe -march=native -msse3 -msse4.1 -msse4.2" USE=incblas TARGET=NEHALEM +openblas sci-libs/openblas CC=gcc-4.6.1 CFLAGS="-O3 -pipe -march=native -msse3 -msse4.1 -msse4.2" USE=incblas TARGET=NEHALEM \ No newline at end of file diff --git a/samples/Old/fftwtests.in b/samples/Old/fftwtests.in new file mode 100644 index 0000000..04a905d --- /dev/null +++ b/samples/Old/fftwtests.in @@ -0,0 +1,5 @@ +# Testing FFTW with different gcc versions and enabling vectorization + +gcc-4.6.1 sci-libs/fftw-3.2.2-r1 CC=gcc-4.6.1 CFLAGS="-O3 -march=native -msse2 -msse3 -mssse3 -msse4.1 -msse4.2" +gcc-4.5.2 sci-libs/fftw-3.2.2-r1 CC=gcc-4.5.2 CFLAGS="-O3 -march=native -msse2 -msse3 -mssse3 -msse4.1 -msse4.2" +gcc-4.3.6 sci-libs/fftw-3.2.2-r1 CC=gcc-4.3.6 CFLAGS="-O3 -march=native -msse2 -msse3 -mssse3 -msse4.1 -msse4.2" \ No newline at end of file diff --git a/samples/Old/lapacktests.in b/samples/Old/lapacktests.in new file mode 100644 index 0000000..39d925e --- /dev/null +++ b/samples/Old/lapacktests.in @@ -0,0 +1,5 @@ +# Testing different implementations of LAPACK +reference_eigen sci-libs/lapack-reference-3.3.1-r1 blas:eigen +reference_openblas sci-libs/lapack-reference-3.3.1-r1 blas:openblas-threads +#atlas sci-libs/atlas-3.9.46 +acml sci-libs/acml-4.4.0-r1 -acml32-gfortran -acml32-gfortran-openmp -acml64-gfortran-openmp diff --git a/samples/Old/metistests.in b/samples/Old/metistests.in new file mode 100644 index 0000000..76de6bb --- /dev/null +++ b/samples/Old/metistests.in @@ -0,0 +1,2 @@ +metis sci-libs/metis-4.0.1-r1 CFLAGS="-march=native" +metis-O3 sci-libs/metis-4.0.1-r1 CFLAGS="-march=native -O3" \ No newline at end of file diff --git a/samples/Old/scalapacktests.in b/samples/Old/scalapacktests.in new file mode 100644 index 0000000..e32c0fb --- /dev/null +++ b/samples/Old/scalapacktests.in @@ -0,0 +1,2 @@ +reference sci-libs/scalapack-1.8.0 FFLAGS="-march=native" +reference-O3 sci-libs/scalapack-1.8.0 FFLAGS="-march=native -O3" \ No newline at end of file diff --git a/samples/blastests.xml b/samples/blastests.xml new file mode 100644 index 0000000..321e724 --- /dev/null +++ b/samples/blastests.xml @@ -0,0 +1,56 @@ + + + + + + sci-libs/atlas-3.9.68 + + threads + + + + + dev-cpp/eigen-3.0.5 + + -O3 + + + + + sci-libs/openblas-9999 + + NEHALEM + -O3 + -O3 + -openmp -threads + + + + + sci-libs/openblas-9999 + + NEHALEM + -O3 + -O3 + threads + + + 8 + + + + + sci-libs/mkl-10.3.7.256 + mkl32* + *int64* + *openmp + + + diff --git a/samples/lapacktests.xml b/samples/lapacktests.xml new file mode 100644 index 0000000..5ca0391 --- /dev/null +++ b/samples/lapacktests.xml @@ -0,0 +1,38 @@ + + + + sci-libs/lapack-reference-3.4.0_p20120215-r1 + + -O3 + + mkl64-intel + + + + sci-libs/lapack-reference-3.4.0_p20120215-r1 + + -O3 + + openblas + + + + sci-libs/atlas-3.9.68 + + threads + + + + + sci-libs/mkl-10.3.7.256 + mkl32* + *int64* + *openmp + *dynamic* + + + + sci-libs/acml-5.1.0 + + + diff --git a/scalapacktests.in b/scalapacktests.in deleted file mode 100644 index e32c0fb..0000000 --- a/scalapacktests.in +++ /dev/null @@ -1,2 +0,0 @@ -reference sci-libs/scalapack-1.8.0 FFLAGS="-march=native" -reference-O3 sci-libs/scalapack-1.8.0 FFLAGS="-march=native -O3" \ No newline at end of file -- cgit v1.2.3-65-gdbad