ReFrame’s System Configuration File
feelpp.benchmarking makes use of ReFrame’s Configuration files to set up multiple HPC systems.
These files describe the system’s architecture, as well as the necessary modules, partitions, commands and environments for your applications to run as expected.
System configuration files can be provided as a JSON file, or as a Python script where the configuration is stored as a dictionary in a variable named site_configuration
.
- Built-in supercomputers config
-
-
Discoverer. Sofia, Bulgaria.
-
Vega. Maribor, Slovenia.
-
MeluXina. Bissen, Luxembourg.
-
Karolina. Ostrava, Czechia.
-
Gaya. Strasbourg, France.
-
LUMI. Kajaani, Finland. [SOON]
-
There is no need to write system configurations for built-in systems. Users can specify them directly on the machine specification JSON. |
1. System partitions and Environments
According to ReFrame’s documentation, "a system is an abstraction of an HPC system that is managed by a workload manager. A system can comprise multiple partitions, which are collection of nodes with similar characteristics". And "an environment is an abstraction of the environment where a test will run and it is a collection of environment variables, environment modules and compiler definitions".
Karolina has defined a qcpu partition consisting of 720, and a qgpu partition consisting of 72 nodes equiped with GPU a accelerator. The entire list of Karolina’s partitions can be found here.
Now, a user might define a programming environment that uses Python3.8, and another environment that uses Python3.13.
2. System specific parameters
It can be useful to specify some configurations, like the maximum number of jobs that can be submitted asynchronously, additional launcher options, or the available memory per node.
feelpp.benchmarking requires to set the |