You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
3.4 KiB
Markdown
65 lines
3.4 KiB
Markdown
# 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_gedot``` 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 psblas_gedot_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_gedot```. The signature of the function is:
|
|
|
|
```fortran
|
|
psb_gedot(x, y, desc_a, info [,global])
|
|
```
|
|
|
|
In the comparison 7 significand digits means having a notation like 0,$d_1 d_2 d_3 ... d_7$*10^7 also.
|
|
|
|
### 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$**
|
|
|$\alpha$|Value|Coefficients Description|
|
|
|:-:|:-:|:-:|
|
|
|$\alpha_1$|1.0|Positive value|
|
|
|$\alpha_2$|-1.0|Negative value|
|
|
|$\alpha_3$|0.0|Null value|
|
|
|
|
**$\beta$**
|
|
|$\alpha$|Value|Coefficients Description|
|
|
|:-:|:-:|:-:|
|
|
|$\beta_1$|1.0|Positive value|
|
|
|$\beta_2$|-1.0|Negative value|
|
|
|$\beta_3$|0.0|Null value|
|
|
|
|
## Output
|
|
The ouput files generated by the test are automatically compared by the autotest.sh script, but if it is needed to manually run the test here it is the naming convenction used.
|
|
|
|
The results of the computation will be saved on different files based on the instance of the test considered. In particular the naming conventiona format the output file as sol_x#_y#_a#_b#.mtx, where each # is a number choosen w.r.t. the test instance. (Ex. sol_x1_y1_a1_b1.mtx is the solution computed using the first x vector file , the first y vector file, alpha = 1.0 and beta = 1.0). Moreover, the files will be saved in the serial/ directory if the program is launched using 1 process or in parrallel/ directory if the program is launched with more than one process.
|
|
|
|
|
|
## TODO
|
|
- Use also global in different ways
|
|
- Add computation with broken descriptor and catch the errore result
|
|
- Test using complex data ($dot \leftarrow x^H \cdot y$)
|
|
- Try multiple distributions
|
|
- Fix result_check handling, it should not be an entire vector |