EESSI / filesystem-layer

Filesystem layer of the EESSI project
https://eessi.github.io/docs/filesystem_layer
GNU General Public License v2.0
7 stars 16 forks source link

Include accelerator modules in Lmod caches #200

Closed bedroge closed 3 days ago

bedroge commented 4 days ago

Running it on the Stratum 0 in an open (but aborted) transaction shows the following for zen2 and zen3 (the only CPU targets for which we have accelerator modules at the moment):

Updated the Lmod cache for /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2 using MODULEPATH: /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2/accel/nvidia/cc80/modules/all:/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2/modules/all.

Updated the Lmod cache for /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen3 using MODULEPATH: /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen3/accel/nvidia/cc80/modules/all:/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen3/modules/all.

And an inspection of the cache file itself also shows that they're now included:

spiderT = {
  ["/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2/accel/nvidia/cc80/modules/all"] = {
    CUDA = {

Note that it adds all accelerator targets (i.e. compute capabilities) to the cache. At the moment there's only one (cc80), but having more should not be a problem: paths that are not in the $MODULEPATH will be ignored, hence users will not see any accelerator modules as long as the corresponding path hasn't been added to their $MODULEPATH.