In the repository:
https://github.com/AaltoSciComp/hpc-software-tests/
# Test naming convention:
Each test is named like this:
`SOFTWARE/TEST-NAME-WITHOUT-UNDERSCORE/run_TEST-NAME-WITHOUT-UNDERSCORE.sh`
```
find . -name 'run_*.sh'
```
The folder hpc_tests has the configs.
# Misc notes
python wrapper to run sbatched tests
The scripts are based on **pytest**.
Everything runnable as normal user.
sbatch runs with --wait
# Each test
Each test has zero return value if successfull/correct.
Tests take list of modules as command line parameter
runnable separately:
```
sbatch run_hello-world.sh openmpi/4.1.6
```
Each test will run in the git repo folder of the test.
# configuration file for tests
`pytest_generate_tests()`
`hpc_tests/aalto_dev.yaml`
- *extra modules* are loaded first
- __then one run for each *module*__ (for loop over modules)
- there is also *global* where you can set extra parameters/requirements
- *localrun*: instead of sbatch run them on the submit node or workstation
naming convention similar to file structure
# Creating a new test
Take an example case, such as hello-world from mpi
Often download example input if it doesn't exist yet.
If there is a cleanup needed, it usually done at the beginning of run.
The whole `run_*.sh` is submitted as a sbatch job.
# Running via the suite
```
bash run_tests.sh --help
bash run_tests.sh --conf hpc/tests/aalto-desktop.yml --list
bash run_tests.sh --conf hpc/tests/aalto-desktop.yml --keyword gcc_hello-world-gcc_8.4.0
```
(--keyword is grepping to match tests, don't use --test)
(--dev will run all the aalto-dev side test, whole tests in the order of 10mins)
# osu-micro-benchmark MPI tests are outside the suite/framework
`compile_osu-micro-benchmark.sh` is a helpful wrapper to compile using a specific module, e.g.:
`./compile_osu-micro-benchmarks.sh mpicc mpic++ openmpi/4.1.6`
(Creates bins in the build folder, Check the Known issues in the README.md and remove the failing tests)
`sbatch --constraint=milan run-osu-microbenchmarks.sh openmpi/4.1.6`
## Output
Pretty much manual work to look at the output.
The bandwidth should be ~10GB/s.
Latency should be low... few or few tens of microseconds.
# Simppa's workplan
1. convert this document to wiki
2. create a image-test-suite
3. ior test suite is missing for simppa (module exists already)