Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
fc6c201
refactor NVHPC easyblock into NvidiaBase, nvidia-compilers and NVHPC
lexming May 22, 2025
534ffe8
remove unnecessary check on too old version of OpenMPI in FFTW easyblock
lexming Jun 23, 2025
1fe4e34
complete the environment definition for HPC-X in installations of NVHPC
lexming Jun 30, 2025
dc16e38
make default CUDA compute capability in NVHPC optional
lexming Jul 23, 2025
3547478
accept all EULAs in easyblock tests
lexming Jul 24, 2025
56730a8
avoid needing local sources and do not stop if supported CUDA version…
lexming Jul 24, 2025
fcf8f59
fix ModuleOnlyTest for NVHPC easyblocks
lexming Jul 24, 2025
9815b17
do not error on CUDA version mismatch in NVHPC with external CUDA
lexming Jul 24, 2025
28a3276
add version checks for symlinks in comm_libs folder of NVHPC
lexming Jul 24, 2025
47ea217
avoid setting default compute capabilities from empty settings in NVHPC
lexming Jul 25, 2025
2b482c9
Merge branch 'develop' into nvhpc
lexming Nov 19, 2025
9c5f00f
use nvcc to determine default CUDA version from external module
lexming Nov 19, 2025
9f05407
convert filter_major_minor in nvidiabase to a proper method
lexming Nov 19, 2025
e2eca23
Merge branch 'develop' into nvhpc
lexming Nov 19, 2025
a78668e
error out on unsupported options used in nvidia-compilers
lexming Nov 19, 2025
195e18a
only remove existing paths in NvidiaBase easyblock
lexming Nov 19, 2025
d9a3adb
replace os.remove with filetools.remove in NvidiaBase easyblock
lexming Nov 19, 2025
878595a
Merge branch 'develop' into nvhpc
boegel Dec 13, 2025
b76de8e
avoid trouble when $EBROOTOPENMPI is not defined in test step of FFTW…
boegel Dec 14, 2025
a82f9e6
allow oversubscription + disable core binding in sanity check for NVHPC
boegel Dec 14, 2025
c8fa128
only require EULA when *installing* NVHPC or nvidia-compilers
boegel Dec 14, 2025
46e9aa6
add comma to log info message for default CUDA version
boegel Dec 14, 2025
da10341
also mention nvidia-compiler dependency in error messaga produced by …
boegel Dec 14, 2025
0bdc18b
also disable core binding in test step of FFTW easyblock, required wh…
boegel Dec 14, 2025
5c04207
Merge branch 'nvhpc' of github.com:lexming/easybuild-easyblocks into …
boegel Dec 14, 2025
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
22 changes: 16 additions & 6 deletions easybuild/easyblocks/f/fftw.py
Original file line number Diff line number Diff line change
Expand Up @@ -232,21 +232,31 @@ def run_all_steps(self, *args, **kwargs):
def test_step(self):
"""Custom implementation of test step for FFTW."""

if self.toolchain.mpi_family() is not None and not build_option('mpi_tests'):
comp_family = self.toolchain.comp_family()
mpi_family = self.toolchain.mpi_family()

if mpi_family is not None and not build_option('mpi_tests'):
self.log.info("Skipping testing of FFTW since MPI testing is disabled")
return

if self.toolchain.mpi_family() == toolchain.OPENMPI and not self.toolchain.comp_family() == TC_CONSTANT_FUJITSU:
if mpi_family == toolchain.OPENMPI and comp_family != TC_CONSTANT_FUJITSU:

# allow oversubscription of number of processes over number of available cores with OpenMPI 3.0 & newer,
# to avoid that some tests fail if only a handful of cores are available
ompi_ver = get_software_version('OpenMPI')
if LooseVersion(ompi_ver) >= LooseVersion('3.0') and LooseVersion(ompi_ver) < LooseVersion('5.0'):
if 'OMPI_MCA_rmaps_base_oversubscribe' not in self.cfg['pretestopts']:
self.cfg.update('pretestopts', "export OMPI_MCA_rmaps_base_oversubscribe=true && ")
if LooseVersion(ompi_ver) >= LooseVersion('5.0'):
if ompi_ver and LooseVersion(ompi_ver) >= LooseVersion('5.0'):
if 'PRTE_MCA_rmaps_default_mapping_policy' not in self.cfg['pretestopts']:
self.cfg.update('pretestopts', "export PRTE_MCA_rmaps_default_mapping_policy=:oversubscribe && ")
else:
# OpenMPI 4 and older (including NVHPC)
if 'OMPI_MCA_rmaps_base_oversubscribe' not in self.cfg['pretestopts']:
self.cfg.update('pretestopts', "export OMPI_MCA_rmaps_base_oversubscribe=true && ")

# workaround for problem with core binding with OpenMPI 4.x,
# errors like: hwloc_set_cpubind returned "Error" for bitmap "0"
# see https://github.com/open-mpi/ompi/issues/12470
if 'OMPI_MCA_hwloc_base_binding_policy' not in self.cfg['pretestopts']:
self.cfg.update('pretestopts', "export OMPI_MCA_hwloc_base_binding_policy=none && ")

super().test_step()

Expand Down
Loading