|
|
10 months ago | |
|---|---|---|
| .. | ||
| CMakeLists.txt | 10 months ago | |
| Makefile | 10 months ago | |
| README.md | 10 months ago | |
| autotest.sh | 10 months ago | |
| psb_geaxpby_test.f90 | 10 months ago | |
README.md
Introduction
This is a directory developed by Luca Pepè Sciarria and Simone Staccone froma Tor Vergata University to start to create some unit tests for PSBLAS 3.9, in particular for psb_geaxpby routine.
Getting started
Steps to reproduce the tests:
- Compile the code using
make(Optional) - Launch the script ./autotest.sh or with source ./autotest.sh if you want to add modules to the .bashrc file permenently.
- Check the output log file psb_geaxpby_test.log to collect results
NOTE: If the code is changed and a new compilation is needed to show the changes, the autotest.sh script isn't aware of this scenario, therefore it is necessary to manually recompile the code.
Test Suite
Overall Analysys
The psb_geaxpby. The signature of the function is:
call psb_geaxpby(alpha, x, beta, y, desc_a, info)
The strategy to validate the correctness of the computation is to compare single precision result and double precision result in the test cases in which the test should not give an error. In this way it is possible to have a correctness check of the computation comparing the two results considering a number of significant digits which is tuned on the single precision computation.
Parameters Values
x vectors are located in the vectors/ directory. They are generated randomly using the same seed and then saved on different files based on their characteristics. The size of the vector is choosen accordingly to the size of the matrix column space considered for the single test instance.
| Vector | File Name | Coefficients | Coefficients Description |
|---|---|---|---|
x_1 |
x1.txt | x_i> 0, \forall i |
Positive coefficients |
x_2 |
x2.txt | x_i < 0, \forall i |
Negative coefficients |
x_3 |
x3.txt | x_i \ne 0, \forall i |
Random coefficients |
x_4 |
x4.txt | x_i = 0, \forall i |
Null coefficients |
y vectors are located in the vectors/ directory. They are generated randomly using the same seed and then saved on different files based on their characteristics. The size of the vector is choosen accordingly to the size of the matrix rows space considered for the single test instance.
| Vector | File Name | Coefficients | Coefficients Description |
|---|---|---|---|
y_1 |
y1.txt | y_i> 0, \forall i |
Positive coefficients |
y_2 |
y2.txt | y_i < 0, \forall i |
Negative coefficients |
y_3 |
y3.txt | y_i \ne 0, \forall i |
Random coefficients |
y_4 |
y4.txt | y_i = 0, \forall i |
Null coefficients |
\alpha real coefficient multiplied by vector x
\alpha |
Value | Coefficients Description |
|---|---|---|
\alpha_1 |
1.0 | Positive value |
\alpha_2 |
-1.0 | Negative value |
\alpha_3 |
0.0 | Null value |
\beta real coefficient multiplied by vector y
\alpha |
Value | Coefficients Description |
|---|---|---|
\beta_1 |
1.0 | Positive value |
\beta_2 |
-1.0 | Negative value |
\beta_3 |
0.0 | Null value |
TODO
- Add computation with broken descriptor and catch the errore result
- Test using complex data
- Try multiple distributions
- Try using a matrix instead of a vector