Skip to content
Snippets Groups Projects
Commit a48c3dba authored by Damian Alvarez's avatar Damian Alvarez
Browse files

Merge branch '2022' of...

parents cfcf2171 d72d6bc6
No related branches found
No related tags found
No related merge requests found
easyblock = 'SystemBundle'
name = 'BullMPI-settings'
version = '4.1'
versionsuffix = 'CUDA'
homepage = ''
description = """This is a module to load the default BullMPI configuration"""
site_contacts = 'd.alvarez@fz-juelich.de'
toolchain = SYSTEM
source_urls = []
sources = []
modextravars = {
'SLURM_MPI_TYPE': 'pspmix',
'UCX_TLS': 'rc_x,cuda_ipc,gdr_copy,self,sm,cuda_copy',
'UCX_MEMTYPE_CACHE': 'n',
'OMPI_MCA_mca_base_component_show_load_errors': '1',
'OMPI_MCA_mpi_param_check': '1',
'OMPI_MCA_mpi_show_handle_leaks': '1',
'OMPI_MCA_mpi_warn_on_fork': '1',
# Disable uct for the time being due to:
# https://github.com/openucx/ucx/wiki/BullMPI-and-OpenSHMEM-installation-with-UCX#running-open-mpi-with-ucx
# Also openib, since it is deprecated and should be substituted by the UCX support in the pml
'OMPI_MCA_btl': '^uct,openib',
'OMPI_MCA_btl_openib_allow_ib': '1',
'OMPI_MCA_bml_r2_show_unreach_errors': '0',
'OMPI_MCA_coll': '^ml',
'OMPI_MCA_coll_hcoll_enable': '1',
'OMPI_MCA_coll_hcoll_np': '0',
'OMPI_MCA_pml': 'ucx',
'OMPI_MCA_osc': '^rdma',
'OMPI_MCA_opal_abort_print_stack': '1',
'OMPI_MCA_opal_set_max_sys_limits': '1',
'OMPI_MCA_opal_event_include': 'epoll',
'OMPI_MCA_btl_openib_warn_default_gid_prefix': '0',
# OMPIO does not seem to work reliably on our system
'OMPI_MCA_io': 'romio321',
}
moduleclass = 'system'
easyblock = 'ConfigureMake'
name = 'BullMPI'
version = '4.1.0'
homepage = 'https://www.open-mpi.org/'
description = """BullMPI is an MPI runtime based on OpenMPI with specific optimizations"""
toolchain = {'name': 'GCC', 'version': '11.2.0'}
toolchainopts = {'pic': True}
sources = [f'{name}_{version}.tar']
checksums = ['e08cce34ce6388bd7c8203a283f48c344f25044c9efbff6a27e5f1e0cbd01b14']
osdependencies = [
# needed for --with-verbs
('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel'),
# needed for --with-pmix
('pmix-devel'),
]
builddependencies = [
('Autotools', '20210726', '', SYSTEM),
('pkg-config', '0.29.2'),
]
dependencies = [
('zlib', '1.2.11'),
('hwloc', '2.5.0'),
('UCX', '1.11.2', '', SYSTEM),
('CUDA', '11.4', '', SYSTEM),
('libevent', '2.1.12'),
]
start_dir = f'openmpi-{version}'
unpack_options = f'&& rpm2cpio openmpi-bull-gnu-{version}-1.Bull.2.0.src.rpm | cpio -idmv && '
unpack_options += f'tar zxvf openmpi-{version}.tar.gz'
# We need to remove -march=native from CFLAGS, otherwise the compilation fails when trying to compile the op:avx
# component, due to lack of avx512 support. avx512 is safe to enable, even on non-avx512 architectures, since it is used
# in just one file, and the execution of that code is determined at runtime, depending on the processor ISA
preconfigopts = 'CFLAGS="-O2 -ftree-vectorize -fno-math-errno -fPIC" '
prebuildopts = preconfigopts
# General OpenMPI options
configopts = '--enable-shared '
configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support
configopts += '--with-ucx=$EBROOTUCX '
configopts += '--with-verbs '
configopts += '--with-libevent=$EBROOTLIBEVENT '
configopts += '--without-orte '
configopts += '--without-psm2 '
configopts += '--disable-oshmem '
configopts += '--with-cuda=$EBROOTCUDA '
configopts += '--with-ime=/opt/ddn/ime '
configopts += '--with-gpfs '
configopts += '--with-hcoll=$(pkg-config --variable prefix hcoll) '
# to enable SLURM integration (site-specific)
configopts += '--with-slurm --with-pmix=external --with-libevent=external --with-ompi-pmix-rte'
local_libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"]
sanity_check_paths = {
'files': ["bin/%s" % local_binfile for local_binfile in ["ompi_info", "opal_wrapper"]] +
["lib/lib%s.%s" % (local_libfile, SHLIB_EXT) for local_libfile in local_libs] +
["include/%s.h" % x for x in ["mpi-ext", "mpif-config",
"mpif", "mpi", "mpi_portable_platform"]],
'dirs': [],
}
moduleclass = 'mpi'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment