Skip to content

Commit

Permalink
Merge pull request EESSI#319 from trz42/rebuild_openmpi_and_remove_hook
Browse files Browse the repository at this point in the history
{2023.06}[foss/2022b,foss/2023a,foss/2023b] REBUILD OpenMPI v4.1.{4,5,6}
  • Loading branch information
poksumdo authored Apr 13, 2024
2 parents d82cf8a + d8e08c8 commit e482cab
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 21 deletions.
21 changes: 0 additions & 21 deletions create_lmodsitepackage.py
Original file line number Diff line number Diff line change
Expand Up @@ -145,31 +145,10 @@
end
end
local function eessi_openmpi_load_hook(t)
-- disable smcuda BTL when loading OpenMPI module for aarch64/neoverse_v1,
-- to work around hang/crash due to bug in OpenMPI;
-- see https://gitlab.com/eessi/support/-/issues/41
local frameStk = require("FrameStk"):singleton()
local mt = frameStk:mt()
local moduleName = string.match(t.modFullName, "(.-)/")
local cpuTarget = os.getenv("EESSI_SOFTWARE_SUBDIR") or ""
if (moduleName == "OpenMPI") and (cpuTarget == "aarch64/neoverse_v1") then
local msg = "Adding '^smcuda' to $OMPI_MCA_btl to work around bug in OpenMPI"
LmodMessage(msg .. " (see https://gitlab.com/eessi/support/-/issues/41)")
local ompiMcaBtl = os.getenv("OMPI_MCA_btl")
if ompiMcaBtl == nil then
setenv("OMPI_MCA_btl", "^smcuda")
else
setenv("OMPI_MCA_btl", ompiMcaBtl .. ",^smcuda")
end
end
end
-- Combine both functions into a single one, as we can only register one function as load hook in lmod
-- Also: make it non-local, so it can be imported and extended by other lmodrc files if needed
function eessi_load_hook(t)
eessi_cuda_enabled_load_hook(t)
eessi_openmpi_load_hook(t)
end
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# 2024-04-13
# Rebuild all OpenMPI 4.1.x versions due to an issue with smcuda:
# https://github.com/open-mpi/ompi/issues/12270
# https://github.com/open-mpi/ompi/pull/12344
# https://github.com/easybuilders/easybuild-easyconfigs/pull/19940
# Note, we don't need the easyconfig PR because it is included in EasyBuild 4.9.1
easyconfigs:
- OpenMPI-4.1.4-GCC-12.2.0.eb:
- OpenMPI-4.1.5-GCC-12.3.0:
- OpenMPI-4.1.6-GCC-13.2.0:

0 comments on commit e482cab

Please sign in to comment.