The run and build sections of the config drive the generation of a build script, and the modules component of these set up what environment modules will be loaded for the test. For example, run scripts for this test will load gcc/6.4.0 and openmpi:
run:
modules: ['gcc/6.4.0', 'openmpi']
Each of the modules in the list will be loaded, in the order given in the test script.
Only the first instance of a module being loaded will actually occur. Repeated load commands will be ignored.
Module version numbers are optional. Leaving versions out relies on the module system to load a reasonable default.
After a module is loaded, the script will verify that it was in fact loaded by checking the module list. The test will fail if a specified module did not load. Note that this check does not imply that the script actually loaded the module, just that something did.
Swapping modules
Modules can also be swapped, as per the module swap command. To do this, give the module to be replaced followed by an arrow '->' and then the new module. This is important for systems with a default set of modules loaded that need only a bit of manipulation.
Scripts will verify both that the new module is loaded, and that the old module is not.
Pavilion will try to do a module load of the new module if the swap fails.
Module Wrappers may override this behavior.
run:
# Swap intel for gcc, and load openmpi
modules: ['intel -> gcc', 'openmpi']
Removing modules
Modules can also be removed from the environment, by prefixing the name with a dash '-'.
Scripts will verify that the module is not loaded.
It's ok if the module you're removing was never loaded in the first place.
build:
# Load intel and intel-mpi, but get rid of python.
modules: ['intel', 'intel-mpi', '-python']
Module Manipulation
The run and build sections of the config drive the generation of a build script, and the modules component of these set up what environment modules will be loaded for the test. For example, run scripts for this test will load gcc/6.4.0 and openmpi:
Swapping modules
Modules can also be swapped, as per the module swap command. To do this, give the module to be replaced followed by an arrow '->' and then the new module. This is important for systems with a default set of modules loaded that need only a bit of manipulation.
Removing modules
Modules can also be removed from the environment, by prefixing the name with a dash '-'.