Closed
Description
(old internal ticket 284, 324)
We should allow a way to specify a custom naming scheme for modules, instead of the default that EasyBuild uses now, i.e. name-prefix-version-toolkit-suffix
.
This is badly needed for most big HPC sites.
Notes, as discussed during the 1st EasyBuild hackathon:
- the module naming scheme should/could be defined by a 'standard', e.g. https://github.com/fgeorgatos/HPC-RFC/blob/master/0001/0001.md
- create a symlink farm with given alternative names to modules files created by EasyBuild
- idea is to let EasyBuild keep it's current module scheme, and just provide a layer above that
- this easily allows later to change the module naming scheme without touching EasyBuild too much
- this requires that the current naming scheme that EasyBuild uses supports all possible naming schemes (e.g., see list below)
- allow sysadmins to define function (or Python module) to map easyconfig parameters to this alternative namespace
- function can be defined in EasyBuild config file
- try and come up with documentation that shows how to implement different namespaces
- issues with dependency resolving by modules, conflicts between modules can be fixed by making modules more complex (if-else-if constructs for loading dependencies)
- (suggestion by @nudded): or maybe my 'alias' feature offered by environment modules?
- nested levels of modules should also be supported
- also release tool to merge from one namespace to another
The list below gives an overview of what this custom naming scheme should support (compiled by @fgeorgatos):
---------------------------------------------------------- --------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Example name WHO Reference URL & Comments
---------------------------------------------------------- --------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
netcdf/3.6.2 TACC [[http://services.tacc.utexas.edu/index.php/using-modules][]] \\ Lmod: automatic reloading of an entire module hierarchy when a single module anywhere in the hierarchy is changed.
hpc/netcdf-3.6.3_intel-11.0.083 HARVARD [[http://rc.fas.harvard.edu/faq/modulelist][]] \\ very long and complete list
misc-libs/netcdf/3.6.3_intel CLUMEQ [[https://www.clumeq.ca/wiki/index.php/ModulesDisponiblesSurColosse][]] \\ nested layout
netcdf/intel/64/4.0 SARA [[http://www.sara.nl/systems/shared/modules/][]] \\ [[http://www.sara.nl/systems/lisa/news/modules-ng][]] \\ [[http://www.sara.nl/systems/lisa/news/amd64-phase1][]] \\ [[http://www.sara.nl/systems/lisa/news/Modules-deprecated-2011-04-04][]]
[[https://www.clumeq.ca/wiki/index.php/ModulesDisponiblesSurColosse][]] \\ nested layout
netcdf/gnu/64/4.0 SARA [[http://www.sara.nl/systems/shared/modules/][]] \\ [[http://www.sara.nl/systems/lisa/news/modules-ng][]] \\ [[http://www.sara.nl/systems/lisa/news/amd64-phase1][]] \\ [[http://www.sara.nl/systems/lisa/news/Modules-deprecated-2011-04-04][]]
netcdf/4.0.1 UIBK [[http://www.uibk.ac.at/zid/systeme/hpc-systeme/common/tutorials/modules-howto.html][]] \\ PREFERRED_MC
netcdf/X.Y.Z/gnu-4.1.2 UIBK, too [[http://www.uibk.ac.at/th-physik/howto/hpc/modules.html][]]
netcdf/X.Y.Z-gnu CSC [[http://www.csc.fi/english/pages/hippu_guide/using_hippu/modules/index_html][]]
ofed/qlogic/gcc/64/1.2.7 UCL [[http://www.ucl.ac.uk/isd/common/research-computing/services/legion-upgrade/userguide/userenvironment][]]
netcdf/3.6.2 MIT [[http://www.darwinproject.mit.edu/wiki/index.php/Compute_cluster_hardware/software_overview][]]
netcdf/X.Y.Z MIT, too [[http://coyote.mit.edu/mediawiki/index.php/Modules][]]
netcdf/3.6.2 CAM [[http://www.hpc.cam.ac.uk/user/software.html][]]
netcdf/4.0.1_nc3 UTORONTO [[https://support.scinet.utoronto.ca/wiki/index.php/Software_and_Libraries][]]
blas/? VLSCI@AU [[http://www.vlsci.org.au/documentation/software-applications][]]
fluent/? EPFL [[http://pleiades.epfl.ch/index.php?option=com_content&task=view&id=15&Itemid=30][]]
netcdf/4.0.0.3.1jg64 CSCS [[http://user.cscs.ch/software_and_programming_environment/compilers_and_programming/rosa_cray_xt5/modules_framework/index.html][]]
netcdf/4.1.1/pgi/10.3/64 TAMU [[http://brazos.tamu.edu/software/modules.html][]]
sles10.1_gnu4.1.2_shared UTENNESSEE [[http://www.nics.tennessee.edu/computing-resources/kraken/software][]]
netcdf/4.0-pgi, /4.0-gcc , /4.1.1 UMICH [[http://cac.engin.umich.edu/resources/software/][]]
netcdf-4.0.1 ARSC [[http://www.arsc.edu/support/news/systemnews/][]]
NetCDF/4.1.3-gnu Griffith University [[http://confluence.rcs.griffith.edu.au:8080/display/GHPC/netcdf][]]
HMMER iCER/HPCC [[https://wiki.hpcc.msu.edu/display/Bioinfo/Module+Files][]]
HMMER UPPNEX [[https://www.uppnex.uu.se/installed-software][]]
uberftp-client-2.6 NCSA [[http://www.ncsa.illinois.edu/UserInfo/Resources/Hardware/CommonDoc/module.html][]]
netcdf LRZ [[http://www.lrz.de/services/software/utilities/modules/deisa_details.html][]] \\ Ref. on DEISA setup: [[http://www.lrz.de/services/software/utilities/modules/deisa_details.html][]]
globus PRACE sites [[http://www.prace-ri.eu/Interactive-Access-to-HPC][]]
globus/5.0.4 & GLOBUS-5.0 TACC [[http://www.underworldproject.org/BuildRecipes/ranger.rst][]] See Teragrid below
netcdf/4.1.2-gnu, /4.1.2-intel, /3.6.3-gnu, /3.6.3-intel cyi/euclid@ls2 [[http://eniac.cyi.ac.cy/display/UserDoc/HPC+Baseline+Configuration]]
netcdf/3.6.3-gcc, netcdf-4/4.0.1-gcclf cyi/planck [[http://eniac.cyi.ac.cy/display/UserDoc/HPC+Baseline+Configuration]]
netcdf/3.6.2-intel, /3.6.2-gnu ba@ls2 [[http://eniac.cyi.ac.cy/display/UserDoc/HPC+Baseline+Configuration]]
netcdf/4.1.3-gcc(default) cytera@ls2 [[http://eniac.cyi.ac.cy/display/UserDoc/HPC+Baseline+Configuration]]
netcdf/1.4.3-mpich2-intel-64bit FZK [[http://www.google.com]]
---------------------------------------------------------- --------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------