# Discuss portability of ReFrame tests (20240131)
attendees:
- Caspar van Leeuwen (SURF, MultiXscale/EESSI)
- Satish Kamath (SURF, MultiXscale/EESSI)
- Lara Peeters (HPC-UGent, MultiXscale/EESSI)
- Kenneth Hoste (HPC-UGent, MultiXscale/EESSI)
- Sam Moors (Vrije Universiteit Brussel)
- Vasileios Karakasis (NVIDIA, ReFrame)
- Victor Holanda Rusu (CSCS, ReFrame)
- Eirini Koutsaniti (CSCS, ReFrame)
- Theofilos Manitaras (CSCS, ReFrame)
## Notes
- main goal of EESSI test suite (https://github.com/EESSI/test-suite): tests that are *portable* across systems
- initial focus is on portable *functionality* tests, but we also want to look into portable *performance* tests
- proof-of-concept test with GROMACS, on top of hpctestlib
- only need to modify ReFrame configuration file
- Vasileios: how are performance references for tests set?
- we have some ideas there, would like to get input
- maybe some support for this can be upstreamed in ReFrame
- Vasileios: we should see if there are common challenges across EESSI/CSCS/NVIDIA
- Victor: what type of tests are you focusing on? application tests that can be run by unpriviledged users?
- Vasileios: could use variables (which can be set on CLI via `-S` option) to expose "knobs" for tests so they can be used as performance benchmarks
- Victor: hpctestlib hasn't been touched much recently partially out of concern for breaking/changing tests that are implemented on top of it
- Vasileios: similar issue @ NVIDIA with the containers being used to run tests w.r.t. assumptions that are made on how software being tested was installed
- on portable performance checks
- NVIDIA has an internal tool to collect table of perf numbers from ReFrame perf log
- ideas
- let framework figure out perf ref (guess)
- compare with previous runs
- set performance reference manually (because you know what it should be somehow)
- where should performance reference data be stored
- in test (hardcoded), in some external database
- and when should it be updated (on demand, when tests are run, etc.)
- there should be an easy way to set/update performance reference data for a specific test
- SQLite should definitely be an option as database to store performance references
- NVIDIA is running tests through pyxis (https://github.com/NVIDIA/pyxis)
- interest in fleshing out hpctestlib from ReFrame
- what should focus be?
- collection of tests implemented in ReFrame that can be used by others
- much less something like hpctestlib (which gives power users a base to build on top of)
## Discussion topics
- CPU autodetect
- hpctestlib vs common tests
## Action items
- review GROMACS test in EESSI test suite + the one in hpctestlib (Vasileios)
- try running GROMACS test in EESSI test suite based on documentation
- https://www.eessi.io/docs/test-suite
- create repo for ReFrame test suite (Vasileios)
- Victor comes up with a catchy name first
- protected branches
- ~~set up dedicated channel in ReFrame Slack (Vasileios)~~