1 |
This is my third report. |
2 |
|
3 |
Last week I pointed out the following objectives: |
4 |
* Interpret the user's input about the libraries to be tested. |
5 |
* Construct a test suite for BLAS. |
6 |
* Split from the script the test-dependent code. The script has to be |
7 |
general, while external modules will give information on how to |
8 |
install and test the implementation packages. |
9 |
* Make the portage interface better, possibly using the existing APIs. |
10 |
|
11 |
The first objective was recently achieved. Now the script can |
12 |
interpret a list of package atoms with special environment variables |
13 |
to be installed and processes the operations. It can be optimized in |
14 |
order to avoid multiple install of the same package with the same |
15 |
environment -- which will be an objective for the next week. |
16 |
|
17 |
The second and third objective had high priority. They have been |
18 |
achieved with satisfying results. The test suite is a modified copy of |
19 |
BTL from eigen development branch[1], which is now on my git |
20 |
overlay[2]. This has been adapted in order to only test the standard |
21 |
BLAS functions. Tests have been performed with blas-reference and |
22 |
eigen. The main script now reads from the command line argument list |
23 |
the name of the module to test -- can be blas, cblas, lapack,... -- |
24 |
and tries to load it. The module instructs the script on how to test |
25 |
an implementation. |
26 |
|
27 |
The fourth objective has been delayed untile the rest of the script is |
28 |
ready in order to change the implementation of the portage interface |
29 |
just once. |
30 |
|
31 |
Now that the BLAS test suite is ready, the two main objective for the |
32 |
next two weeks will be: |
33 |
* Enhancing the test suite |
34 |
* Generate a report with plots using gnuplot or matplotlib -- or both, |
35 |
depending on the installed tools |
36 |
* Support more libraries -- at least CBLAS and LAPACK |
37 |
* Remove commands and use subprocess instead. |
38 |
|
39 |
Modularity, scalability and maintainability are main priorities, and |
40 |
Python seems to be the right choice for that. |
41 |
|
42 |
|
43 |
[1] https://bitbucket.org/eigen/eigen/src/default/bench/btl/ |
44 |
[2] http://git.overlays.gentoo.org/gitweb/?p=proj/auto-numerical-bench.git |
45 |
|
46 |
|
47 |
-- |
48 |
Cheers |
49 |
Andrea Arteaga |