-
Notifications
You must be signed in to change notification settings - Fork 14
Description
As we move closer to releasing 2025.06, I think it makes sense that we still make 2023.06 available even though it will no longer be the default. Lmod initialisation can do this fairly easily since we can just make /cvmfs/software.eessi.io/init/modules the initial module path. We can also:
- Make the initial load of
EESSIsticky with## ability to predefine elsewhere the default list LMOD_SYSTEM_DEFAULT_MODULES=${LMOD_SYSTEM_DEFAULT_MODULES:-"EESSI/$EESSI_VERSION"} export LMOD_SYSTEM_DEFAULT_MODULES EESSI_MODULE_STICKY=1 module --initial_load --no_redirect restore
One problem right now is that the LMOD_RC is set on an EESSI_VERSION basis, but we should consider maintaining a central version (at least for the spider caches). It's not trivial to do this right now as the spider caches do not currently include the requirement to load the EESSI module (i.e., there is a hierarchy but it is not recognised in the spider caches):
ocaisa@~$ module list
Currently Loaded Modules:
1) EESSI/2025.06 (H)
Where:
H: Hidden Module
ocaisa@~$ module spider GCCcore
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
GCCcore:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Description:
The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...).
Versions:
GCCcore/13.3.0
GCCcore/14.2.0
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
For detailed information about a specific "GCCcore" package (including how to load the modules) use the module's full name.
Note that names that have a trailing (E) are extensions provided by other modules.
For example:
$ module spider GCCcore/14.2.0
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ocaisa@~$ export LMOD_RC=$LMOD_RC:/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/icelake/.lmod/lmodrc.lua
ocaisa@~$ module spider GCCcore
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
GCCcore:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Description:
The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...).
Versions:
GCCcore/12.2.0
GCCcore/12.3.0
GCCcore/13.2.0
GCCcore/13.3.0
GCCcore/14.2.0
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
For detailed information about a specific "GCCcore" package (including how to load the modules) use the module's full name.
Note that names that have a trailing (E) are extensions provided by other modules.
For example:
$ module spider GCCcore/14.2.0
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ocaisa@~$ module spider GCCcore/14.2.0
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
GCCcore: GCCcore/14.2.0
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Description:
The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...).
This module can be loaded directly: module load GCCcore/14.2.0
Help:
Description
===========
The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada,
as well as libraries for these languages (libstdc++, libgcj,...).
More information
================
- Homepage: https://gcc.gnu.org/
ocaisa@~$ module spider GCCcore/12.2.0
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
GCCcore: GCCcore/12.2.0
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Description:
The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...).
This module can be loaded directly: module load GCCcore/12.2.0
Help:
Description
===========
The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada,
as well as libraries for these languages (libstdc++, libgcj,...).
More information
================
- Homepage: https://gcc.gnu.org/
Right now we have a pattern in our EESSI module
if ( mode() ~= "spider" ) then
prepend_path("MODULEPATH", eessi_module_path_accel)
eessiDebug("Using accelerator modules at: " .. eessi_module_path_accel)
end
which stops Lmod from looking into the the hierarchy. I think this condition might not be necessary if we had a spider cache for /cvmfs/software.eessi.io/init/modules, and I also think that if Lmod is aware of the spider caches for each EESSI_VERSION this will be a tiny spider cache.