As GitHub markdown has pretty poor tables we currently use a list layout.
-
CPEpackages_yy.mm.csvfiles: Two-column .csv files defining the components of the yy.mm CPE release.Much but not all of that data could be automatically extracted from the matching
/opt/cray/pe/cpe/yy.mm/modulerc.luafile. See the procedure to install a new version of the Cray PE on the system.
-
The
LMODsubdirectory itself is set as the value of the environment variableLMOD_PACKAGE_PATHin the system setup. -
admin.list: Set as the value of the environment variableLMOD_ADMIN_FILEin the system setup. -
lmodrc.lua: Set as the value of the environment variableLMOD_RCin the system setup. -
LUMIstack_yy.mm_modulerc.luafiles: Added to the list of modulerc files in theLMOD_MODULERCFILEenvironment variable by themodules/LUMIstackgeneric module files for theLUMI/yy.mmmodules.Sets the default versions for the CPE release yy.mm in a way that is independent of everything the
cpe/yy.mmmodules might do (unless they really overwriteLMOD_MODULERCFILE). -
LUMIstack_modulerc.luafiles: Added to the list of modulerc files in theLMOD_MODULERCFILEenvironment variable by themodules/LUMIstackgeneric module files for theLUMI/yy.mmmodules.Used to hide a number of modules that are of no use to ordinary users when using the LUMI software stacks, and provide some user-friendly aliases for the partition modules.
-
SitePackage.lua: Referred to indirectly by theLMOD_PACKAGE_PATHsystem environment variable.
-
CraEnv.lua: Module providing the plain nearly unmodified Cray Programming Environment.On the initial system, we did overwrite a number of CPE files in the
modules/CrayOverwritesubdirectory to work around problems in some of the Cray module files. That code is currently disabled as it was to work around bugs that were solved in 21.08. -
EasyBuild-config: A generic EasyBuild configuration module that instantiates into theEasyBuild-production,EasyBuild-infrastructureandEasyBuild-usermodules in the relevant partitions of the LUMI software stacks. -
EasyBuild-unlock: A module that has to be loaded before any of theEasyBuild-productionorEasyBuild-infrastructuremodules can be loaded as additional protection to not accidentally overwrite a system installation. -
init-lumi: The module called from the Cray PE intialisation process (in/etc/cray-pe.d/cray-pe-configuration.sh) to do the final steps of enabling the LUST software stacks. -
LUMIstack: Generic implementation(s) of the LUMI software stack modules. The actual modules can simply link to the right version of the generic module file. -
LUMIpartition: Generic implementation(s) of the LUMI partition modules. The actual modules can simply link to the right version of the generic module file. -
LocalStack: Implementation of modules for the local software stacks.As of September 2025:
-
Local-CSC: CSC local stack -
Local-quantum: Stuff for Helmi
-
-
CrayOverwrite: A directory with modulefiles that should overwrite standard CPE module files that have behaviour that conflicts with our setup.The process of overruling a Cray module may not be easy: If one of those modules is set as default in the original CPE subdirectory, one should make sure that that is overruled in the
CrayOverwritesubdirectory for that module.Note: Not used on the current system as the bugs that it works around were fixed by HPE.
-
CrayMissing: Directory used to implement modules that went missing on the system at some point due to installation errors but where needed. -
StyleModifiers: A set of small modules that change the presentation of the module display bymodule avail. These modules simply set one or more environment variables, one LUMI-specific one and the other LMOD configuration variables.These modules include:
-
ModuleColour: Switch between colour and black-and-white display of the modules -
ModuleExtensions: Show or hide the display of extensions in the output ofmodule avail. -
ModuleLabel: Switch between three ways of displaying the module subdirectories:-
label: Give the module subdirectories meaningful names and collapses all directories in the CPE module hierarchy. -
PEhierarcy: Give the module subdirectories meaningful names but do not collapse the directories in the CPE module hierarchy -
system: Show the directory names of all modules subdirectories
-
-
ModulePowerUser: Enables the power user view of the module system: Less modules are hidden, but using those modules that are otherwise hidden is not supported by the LUMI User Support Team. These modules may not work under a regular user account or are their use is not documented in the regular LUMI documentation as they are only meant for support staff. -
ModuleStyle: Used to return to the situation at login or the default for the system. -
ModuleFullSpider: Enable or disable full spider indexing of all software stacks. Default is off.
-
For the EasyBuild-config,
LUMIstack
and LUMIpartition modules we adopted a special version
numbering: They are numbered in the same way as CPE releases and a particular module
for any LUMI stack we use the most recent version that is not younger than the correpsonding
CPE/LUMI stack.
The files are referred to by the EasyBuild-config
generic module file.
This is the subdirectory for the LUMI custom EasyBlocks. We use a scheme with subdirectories as in the main EasyBlock repository.
EasyConfig repository for LUMI.
This directory contains the custom hooks for EasyBuild on LUMI.
The file names end on the first version of the software stack that they support. As such we can drop old code from hooks while still being able to regenerate old configirations.
This directory contains the custom Cray toolchain code for EasyBuild.
For LUMI:
-
Custom toolchain definition files:
-
cpecray.py: Toolchain based on the Cray compiler -
cpegnu.py: Toolchain based on the GNU compilers provided by Cray -
cpeaocc.py: Toochain based om the AOCC compilers provided by Cray -
cpeamd.py: Toolchain based on the AMD ROCm compiler provided by Cray.
-
-
Compiler definitions to use compilers through the Cray wrappers:
-
compiler/cpecompcce.py: Definitions for the Cray CCE compiler with the Cray wrappers. -
compiler/cpecompgcc.py: Definitions for the GNU compilers with the Cray wrappers. -
compiler/cpecompaocc.py: Definitions for the AMD AOCC compilers with the Cray wrappers. -
compiler/cpecompamd.py: Definitions for the AMD ROCm compilers with the Cray wrappers.
-
-
module_naming_schemesubdirectory: LUMI uses a customised flat EasyBuild naming scheme. The links by moduleclass are omitted as they are not used in our module system.Note that the
EasyBuild-configgeneric module also sets the environment variableEASYBUILD_SUFFIX_MODULES_PATHto the empty string to omit thealllevel in the EasyBuild modules directory structure.
This directory contains the motd.txt and
lumi_fortune.txt files that are used
by the init-lumi module to augment the message of the day and to display a random
tip about LUMI.
The scripts subdirectory contains a number of shell scripts to initialise a new installation, new software stack in the installation, or various substeps of this. Several of those scripts are just wrapper scripts that call a Python routine to do the work.
A directory where we keep our preferred setup of the system configuration files for the HPE Cray PE, useful to communicate with the sysadmins who maintain those files.
This directory contains scripts that are useful to any user of EasyBuild of LUMI, e.g., to bump EasyConfig files to a new release of the Cray PE.
-
upgrade-tc.py: Bump the version of the Cray PE in an EasyConfig file, also adapting the name of the file. Note that the regular dependencies are not updated to a new version. -
upgrade-locals.lua: Script to upgrade thelocal_*_verionvariables in EasyConfigs.
This directory contains various files to be used in component tests.
-
install_lmod_newest.shis a script to install a very recent version of LMOD to test compatibility of the module system against more recent versions than the one that comes with a HPE-Cray system.It was used a lot when the HPE Lmod implementation was far behind the latest release as if they would ever upgrade (which they did) too many things might break at once.
-
LMODsubdirectory itself as the value of the environment variableLMOD_PACKAGE_PATH -
LMOD/admin.listas the value of the environment variableLMOD_ADMIN_FILE -
LMOD/lmodrc.luaas the value of the environment variableLMOD_RC -
Not a reference to a file, but the system should set
LMOD_AVAIL_STYLEto<label>:PEhierarchy:system.