Organisation of repository
The source code of benchmark tests can be found in the
apps/folder. This folder is divided into three sub-folders
level2/. These folders are further sub-divided where each benchmark test is placed into a folder named after it. Inside each benchmark folder, we typically find three different files namely,
<testname>is the name of the benchmark. The logic of the test is included in
reframe_<testname>.py, details about the documentation can be found in
TESTNAME.ipynbcan be used to plot and tabulate benchmark results.
All the configuration related files are placed in
config/folder and they are imported into
reframe_config.pyfile. We find two sub-folders in
environs/. All the system and partitions are defined in
systems/folder and environments are defined in
environs/folder. We keep one file for a given platform and define all the partitions of that platform in that file. Similarly, place a environment file for a given test and define all the environments for that test in the file.
All the utility functions and extra classes defined out of ReFrame are placed in
ReFrame tests use topological information of the platforms like number of sockets, cores, etc. Topological information of different platforms are placed in
topologies/folder. These files are imported and added during configuration of system partitions.
All the documentation is provided in the
docs/ folder. The sources can be found at
docs/src/content/ folder where each section of documentation has a folder. Within each folder,
rst files can be found that contain core documentation.
To deploy software stack using Spack, the bootstrap script is provided in
spack/folder. There is a
READMEfile in the folder with the instructions on how to use the bootstrap script.
perflogs/contain all the performance metrics that are extracted for different benchmarks for different systems and partitions. These logs are used in plotting and tabulating the performance data in the Jupyter notebooks for each test.
helloworld/contains a simple ReFrame test taken from ReFrame documentation demonstrating the use case of its framework.
.ci/contains all the CI related files. It includes dockerfile to build image and all the auxiliary files used inside docker image.