Gentoo Archives: gentoo-soc

From: Andrea Arteaga <andyspiros@×××××.com>
To: gentoo-soc@l.g.o
Subject: [gentoo-soc] Benchmarking suite - Report 11
Date: Mon, 08 Aug 2011 13:03:49
Message-Id: CAPtnn5FEvwo1LyXoy5BWCCyo4fvt=Ju2G3AyR97PjbXO8U96=Q@mail.gmail.com
1 This is the report of the project "Automated benchmark suite for
2 numerical libraries in Gentoo" for the week 1 - 7 August.
3 This is also available on my blog [1].
4
5 == Project description ==
6
7 The project aims to develop a simple yet powerful automated system of
8 benchmarking for numerical libraries. The Gentoo software system
9 provides many implementations of widely used standards such as BLAS,
10 CBLAS, LAPACK, ScaLAPACK and some other numerical library such as
11 FFTW, MKL. The developed tools will aid the system maintener to choose
12 the best suited implementation with respect to the machine hardware
13 and to test the samer implementation or different ones with different
14 compilers, compiler versions and compile flags.
15
16
17 == Progrees during the week ==
18
19 This week has been devoted to the following features:
20
21 * Stabilization of the PBLAS/ScaLAPACK tests
22 * Introduction of the METIS tests
23 * Implementation of the LAPACK accuracy tests
24 * Refinement of the LAPACK performance tests
25
26
27 === METIS ===
28 METIS is a package — a set of executables and a library — that perform
29 some common preliminary numerical work: graph partitioning, mesh
30 partitioning, sparse matrix reordering. The metis.py module taht has
31 been introduced benchmarks the run times of the executables "pmetis"
32 and "kmetis" when doing the most important task: graph partitioning —
33 the other task rely on this one. In order to keep the benchmarks fair,
34 the same input data is processed by every “implementation” (i.e. for
35 each different compilation of the sci-libs/metis package). The module
36 is already stable and usable, although some more tests could be added.
37
38
39 === LAPACK performance tests ===
40 We decided to benchmark matrix decompositions rather than full
41 solvers, as the decompositions are the real core of each LAPACK
42 solver, while the substitutions and transposed matrix-vector
43 multiplication are BLAS tasks that have to be benchmarked separately.
44 Therefore the following tests have been deprecated — they are still
45 available, but are not part of the standard set:
46
47 * general_solve: General linear system of equations solver
48 * least_squares: General linear least squares solver
49 * symm_ev: Symmetric matrix eigensolver — eigenvalues only
50
51 Some new tests have been added, and the following are the resulting
52 standard tests:
53 * lu_decomp: LU decomposition
54 * cholesky: Cholesky decomposition of a SPD matrix
55 * qr_decomp (new): QR decomposition
56 * svd_decomp (new): Singular Values Decomposition
57 * syev (new): Symmetric matrix eigensolver (eigenvalues and
58 eigenvectors), full diagonalization
59 * stev (new): Tridiagonal matrix eigensolver (eigenvalues and
60 eigenvectors), full diagonalization
61
62
63 === LAPACK accuracy tests ===
64 Following the blas_accuracy.py module strategy, a new much more
65 interesting module has been added for testing the different LAPACK
66 implementations for accuracy. This includes every LAPACK standard
67 tests (see above section). The matrix decomposition are tested by
68 multiplying the results and comparing this to the original matrix; the
69 eigensolvers are treated as decompositions (diagonalization) and
70 tested the same way. Some reports are available on my homepage [2].
71
72
73 == Plan for the next weeks ==
74
75 The GSoC programme is reaching the end. Next week is the soft “pencils
76 down” date. Therefore I will spend the next week doing only tests and
77 bugfixes, writing documentation and performing other “administrative”
78 tasks (ebuild refinment, repository management,…). On Friday the
79 unstable branch of the repository will be merged to the stable. Then a
80 full report will be written and sent to the mailing list.
81
82 After the soft “pencils down” date, only critical bugs will be fixed
83 and more documentation will be added. Then, I will release a stable,
84 tested, documented and supported version of my suite just before the
85 hard “pencils down” date.
86
87 I would appreciaty *very* *much* some helping hand in testing my
88 script! If somebody is interested in having a look of it, it very easy
89 to install the required packages and run some tests. So please if you
90 have some time, let it run and report bugs that you find (if any) to
91 me; if you don’t find bugs, please write to me as well! I will write a
92 short howto for run the tests and send the link to the mailing list.
93
94
95 Best regards
96 Andrea Arteaga
97
98 [1] http://wp.me/pzWEm-8F
99 [2] http://www.phys.ethz.ch/~arteagaa/soc/lapack_accuracy/