Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
7ae01fe
EESSI bash initialization to module file
Aug 12, 2024
b099220
Update init/modules/EESSI/2023.06.lua
TopRichard Aug 12, 2024
2bfb7af
Update init/modules/EESSI/2023.06.lua
TopRichard Aug 12, 2024
e302e66
Update init/modules/EESSI/2023.06.lua
TopRichard Aug 12, 2024
34d4d42
Update init/modules/EESSI/2023.06.lua
TopRichard Aug 12, 2024
6c23ec1
Update init/modules/EESSI/2023.06.lua
TopRichard Aug 12, 2024
f3b29a8
Update init/modules/EESSI/2023.06.lua
TopRichard Aug 12, 2024
8ead05f
Update 2023.06.lua
TopRichard Aug 12, 2024
824ffaf
Update 2023.06.lua
TopRichard Aug 12, 2024
b85e37b
Added EESSI/2023.06 to install_scripts.sh
Aug 14, 2024
aa35e75
Added a draft CI tests for EESSI module
Aug 15, 2024
aa2a1d6
Update tests_eessi_module.yml
TopRichard Aug 15, 2024
890c38b
Update tests_eessi_module.yml
TopRichard Aug 15, 2024
19af8cf
Added a draft CI tests for EESSI module
Aug 15, 2024
5cb1f36
Added missing required yml file format
Aug 15, 2024
8f75d56
Update init/modules/EESSI/2023.06.lua
TopRichard Aug 26, 2024
0582018
Update tests_eessi_module.yml
TopRichard Aug 26, 2024
a7d7aff
Update tests_eessi_module.yml
TopRichard Aug 26, 2024
53bc4a0
Update tests_eessi_module.yml
TopRichard Aug 26, 2024
f4ee932
Update tests_eessi_module.yml
TopRichard Aug 26, 2024
5170088
Update tests_eessi_module.yml
TopRichard Aug 26, 2024
3cea846
Update tests_eessi_module.yml
TopRichard Aug 26, 2024
5484b92
Update tests_eessi_module.yml
TopRichard Aug 26, 2024
63002d5
Update tests_eessi_module.yml
TopRichard Aug 26, 2024
50782e4
Update tests_eessi_module.yml
TopRichard Aug 27, 2024
477476b
Update tests_eessi_module.yml
TopRichard Aug 27, 2024
b651030
Update tests_eessi_module.yml
TopRichard Aug 27, 2024
543f760
Update tests_eessi_module.yml
TopRichard Aug 27, 2024
7acc85e
Update tests_eessi_module.yml
TopRichard Aug 27, 2024
7791be4
Update tests_eessi_module.yml
TopRichard Aug 27, 2024
3fab812
Update tests_eessi_module.yml
TopRichard Aug 27, 2024
623fd67
Update tests_eessi_module.yml
TopRichard Aug 27, 2024
2e4d5d6
Update tests_eessi_module.yml
TopRichard Aug 27, 2024
090133c
Update install_scripts.sh
TopRichard Aug 27, 2024
8cea03b
Update 2023.06.lua
TopRichard Aug 30, 2024
a5d7812
Update install_scripts.sh
TopRichard Aug 30, 2024
6a1d615
Update tests_eessi_module.yml
TopRichard Aug 30, 2024
69a7e66
Update .github/workflows/tests_eessi_module.yml
TopRichard Aug 30, 2024
c7dce8c
Update .github/workflows/tests_eessi_module.yml
TopRichard Aug 30, 2024
cc3b877
Update 2023.06.lua
TopRichard Aug 30, 2024
fc64dcf
Update tests_eessi_module.yml
TopRichard Aug 30, 2024
c8141a9
Update 2023.06.lua
TopRichard Aug 30, 2024
e688d65
Update tests_eessi_module.yml
TopRichard Aug 30, 2024
17b512d
Update tests_eessi_module.yml
TopRichard Aug 30, 2024
de91ea3
Update 2023.06.lua
TopRichard Sep 2, 2024
dff4b13
Update tests_eessi_module.yml
TopRichard Sep 2, 2024
0a61542
Update init/modules/EESSI/2023.06.lua
TopRichard Sep 3, 2024
47959c5
Update 2023.06.lua
TopRichard Sep 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions init/modules/EESSI/2023.06.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
help([[
Description
===========
The European Environment for Scientific Software Installations (EESSI, pronounced as easy) is a collaboration between different European partners in HPC community.The goal of this project is to build a common stack of scientific software installations for HPC systems and beyond, including laptops, personal workstations and cloud infrastructure.

More information
================
- URL: https://www.eessi.io/docs/
]])
whatis("Description: The European Environment for Scientific Software Installations (EESSI, pronounced as easy) is a collaboration between different European partners in HPC community. The goal of this project is to build a common stack of scientific software installations for HPC systems and beyond, including laptops, personal workstations and cloud infrastructure.")
whatis("URL: https://www.eessi.io/docs/:")

local eessi_version = myModuleVersion()
local eessi_repo = "/cvmfs/software.eessi.io"
local eessi_prefix = pathJoin(eessi_repo, "versions", eessi_version)
local eessi_os_type = "linux"
setenv("EESSI_VERSION", eessi_version)
setenv("EESSI_CVMFS_REPO", eessi_repo)
setenv("EESSI_OS_TYPE", eessi_os_type)
function archdetect_cpu()
local script = pathJoin(eessi_repo, 'versions', eessi_version, 'init', 'lmod_eessi_archdetect_wrapper.sh')
if not os.getenv("EESSI_ARCHDETECT_OPTIONS") then
if convertToCanonical(LmodVersion()) < convertToCanonical("8.6") then
LmodMessage("Loading this modulefile requires using Lmod version > 8.6, but you can export EESSI_ARCHDETECT_OPTIONS to the available cpu architecture in the form of: x86_64/intel/haswell or aarch64/neoverse_v1")
os.exit(1)
end
source_sh("bash", script)
end
for archdetect_filter_cpu in string.gmatch(os.getenv("EESSI_ARCHDETECT_OPTIONS"), "([^" .. ":" .. "]+)") do
if isDir(pathJoin(string.gsub(script, "init/lmod_eessi_archdetect_wrapper.sh", "software/" .. eessi_os_type), archdetect_filter_cpu)) then
return archdetect_filter_cpu
end
end
LmodError("Software directory check for the detected architecture failed")
end
local archdetect = archdetect_cpu()
local eessi_cpu_family = archdetect:match("([^/]+)")
local eessi_software_subdir = os.getenv("EESSI_SOFTWARE_SUBDIR_OVERRIDE") or archdetect
local eessi_eprefix = pathJoin(eessi_prefix, "compat", eessi_os_type, eessi_cpu_family)
local eessi_software_path = pathJoin(eessi_prefix, "software", eessi_os_type, eessi_software_subdir)
local eessi_module_path = pathJoin(eessi_software_path, "modules/all")
setenv("EESSI_SITE_MODULEPATH", string.gsub(eessi_module_path, eessi_repo, "host_injections"))
setenv("EESSI_SOFTWARE_SUBDIR", eessi_software_subdir)
setenv("EESSI_PREFIX", eessi_prefix)
setenv("EESSI_EPREFIX", eessi_eprefix)
prepend_path("PATH", pathJoin(eessi_eprefix, "bin"))
prepend_path("PATH", pathJoin(eessi_eprefix, "usr/bin"))
setenv("EESSI_SOFTWARE_PATH", eessi_software_path)
setenv("EESSI_MODULEPATH", eessi_module_path)
prepend_path("MODULEPATH", os.getenv("EESSI_SITE_MODULEPATH") .. ":" .. os.getenv("EESSI_MODULEPATH"))
setenv("LMOD_CONFIG_DIR", pathJoin(eessi_software_path, ".lmod"))
setenv("LMOD_PACKAGE_PATH", pathJoin(eessi_software_path, ".lmod"))
if mode() == "load" then
LmodMessage("EESSI/" .. eessi_version .. " loaded successfully")
end