Skip to content
Snippets Groups Projects
Commit 12f7ee4e authored by Sebastian Achilles's avatar Sebastian Achilles
Browse files

update toolchain nvompic-2021.eb

parent a35c63cf
Branches
No related tags found
No related merge requests found
...@@ -24,9 +24,10 @@ ...@@ -24,9 +24,10 @@
# along with EasyBuild. If not, see <http://www.gnu.org/licenses/>. # along with EasyBuild. If not, see <http://www.gnu.org/licenses/>.
## ##
""" """
EasyBuild support for nompi compiler toolchain (includes NVHPC and OpenMPI, and CUDA as dependency). EasyBuild support for nvompic compiler toolchain (includes NVHPC and OpenMPI, and CUDA as dependency).
@author: Damian Alvarez (Forschungszentrum Juelich) @author: Damian Alvarez (Forschungszentrum Juelich)
@author: Sebastian Achilles (Forschungszentrum Juelich)
""" """
from easybuild.toolchains.nvhpc import NvhpcToolchain from easybuild.toolchains.nvhpc import NvhpcToolchain
...@@ -37,7 +38,7 @@ from easybuild.toolchains.compiler.cuda import Cuda ...@@ -37,7 +38,7 @@ from easybuild.toolchains.compiler.cuda import Cuda
# Order matters! # Order matters!
class Ompi(NvhpcToolchain, Cuda, OpenMPI): class NVompic(NvhpcToolchain, Cuda, OpenMPI):
"""Compiler toolchain with NVHPC and OpenMPI, with CUDA as dependency.""" """Compiler toolchain with NVHPC and OpenMPI, with CUDA as dependency."""
NAME = 'nompi' NAME = 'nvompic'
SUBTOOLCHAIN = NvhpcToolchain.NAME SUBTOOLCHAIN = NvhpcToolchain.NAME
...@@ -25,8 +25,6 @@ The table below shows the details of the toolchains in the 2020 stage: ...@@ -25,8 +25,6 @@ The table below shows the details of the toolchains in the 2020 stage:
| Toolchain name | Toolchain version | Underlying GCC | Compiler | MPI | CUDA | Math libraries | Includes software from | | Toolchain name | Toolchain version | Underlying GCC | Compiler | MPI | CUDA | Math libraries | Includes software from |
|-----------------|---------------------------|----------------|------------------|-------------------------|----------|----------------|---------------------------| |-----------------|---------------------------|----------------|------------------|-------------------------|----------|----------------|---------------------------|
| gpsmpi | 2020 | 9.3.0 | GCC 9.3.0 | ParaStationMPI 5.4.X | 11.0.X§ | | GCCcore, GCC | | gpsmpi | 2020 | 9.3.0 | GCC 9.3.0 | ParaStationMPI 5.4.X | 11.0.X§ | | GCCcore, GCC |
| nompi | 2020 | 9.3.0 | NVHPC 20.9 | OpenMPI 4.1.0rc1 | 11.0.X | | GCCcore, NVHPC |
| nompi | 2020.1 | 9.3.0 | NVHPC 21.1 | OpenMPI 4.1.0rc1 | 11.0.X | | GCCcore, NVHPC |
| npsmpic | 2020 | 9.3.0 | NVHPC 20.7 | ParaStationMPI 5.4.X | 11.0.X | | GCCcore, NVHPC | | npsmpic | 2020 | 9.3.0 | NVHPC 20.7 | ParaStationMPI 5.4.X | 11.0.X | | GCCcore, NVHPC |
| npsmpic | 2020.1 | 9.3.0 | NVHPC 21.1 | ParaStationMPI 5.4.X | 11.0.X | | GCCcore, NVHPC | | npsmpic | 2020.1 | 9.3.0 | NVHPC 21.1 | ParaStationMPI 5.4.X | 11.0.X | | GCCcore, NVHPC |
| ipsmpi | 2020 | 9.3.0 | Intel 2020.2.254 | ParaStationMPI 5.4.X | 11.0.X§ | | GCCcore, iccifort | | ipsmpi | 2020 | 9.3.0 | Intel 2020.2.254 | ParaStationMPI 5.4.X | 11.0.X§ | | GCCcore, iccifort |
...@@ -35,7 +33,7 @@ The table below shows the details of the toolchains in the 2020 stage: ...@@ -35,7 +33,7 @@ The table below shows the details of the toolchains in the 2020 stage:
| gompi | 2020 | 9.3.0 | GCC 9.3.0 | OpenMPI 4.1.0rc1 | 11.0.X§ | | GCCcore, GCC | | gompi | 2020 | 9.3.0 | GCC 9.3.0 | OpenMPI 4.1.0rc1 | 11.0.X§ | | GCCcore, GCC |
| iompi | 2020 | 9.3.0 | Intel 2020.2.254 | OpenMPI 4.1.0rc1 | 11.0.X§ | | GCCcore, iccifort | | iompi | 2020 | 9.3.0 | Intel 2020.2.254 | OpenMPI 4.1.0rc1 | 11.0.X§ | | GCCcore, iccifort |
| gpsmpi | 2021 | 10.3.0 | GCC 10.3.0 | ParaStationMPI 5.4.X | 11.3.X§ | | GCCcore, GCC | | gpsmpi | 2021 | 10.3.0 | GCC 10.3.0 | ParaStationMPI 5.4.X | 11.3.X§ | | GCCcore, GCC |
| nompi | 2021 | 10.3. | NVHPC 21.5 | OpenMPI 4.1.1 | 11.3.X | | GCCcore, NVHPC | | nvompic | 2021 | 10.3.0 | NVHPC 21.5 | OpenMPI 4.1.1 | 11.3.X | | GCCcore, NVHPC |
| npsmpic | 2021 | 10.3.0 | NVHPC 21.5 | ParaStationMPI 5.4.X | 11.3.X | | GCCcore, NVHPC | | npsmpic | 2021 | 10.3.0 | NVHPC 21.5 | ParaStationMPI 5.4.X | 11.3.X | | GCCcore, NVHPC |
| ipsmpi | 2021 | 10.3.0 | Intel 2021.2.0 | ParaStationMPI 5.4.X | 11.3.X§ | | GCCcore, intel-compilers | | ipsmpi | 2021 | 10.3.0 | Intel 2021.2.0 | ParaStationMPI 5.4.X | 11.3.X§ | | GCCcore, intel-compilers |
| iimpi | 2021 | 10.3.0 | Intel 2021.2.0 | Intel MPI 2021.2.0 | | | GCCcore, intel-compilers | | iimpi | 2021 | 10.3.0 | Intel 2021.2.0 | Intel MPI 2021.2.0 | | | GCCcore, intel-compilers |
......
easyblock = 'Toolchain'
name = 'nompi'
version = '2020.1'
homepage = '(none)'
description = 'NVHPC based compiler toolchain, including OpenMPI for MPI support.'
site_contacts = 'sc@fz-juelich.de'
toolchain = SYSTEM
local_compiler = ('NVHPC', '21.1-GCC-9.3.0')
dependencies = [
local_compiler,
('CUDA', '11.0', '', SYSTEM),
('OpenMPI', '4.1.0rc1', '', local_compiler),
]
moduleclass = 'toolchain'
easyblock = 'Toolchain'
name = 'nompi'
version = '2020'
homepage = '(none)'
description = 'NVHPC based compiler toolchain, including OpenMPI for MPI support.'
site_contacts = 'sc@fz-juelich.de'
toolchain = SYSTEM
local_compiler = ('NVHPC', '20.9-GCC-9.3.0')
dependencies = [
local_compiler,
('CUDA', '11.0', '', SYSTEM),
('OpenMPI', '4.1.0rc1', '', local_compiler),
]
moduleclass = 'toolchain'
easyblock = 'Toolchain' easyblock = 'Toolchain'
name = 'nompi' name = 'nvompic'
version = '2021' version = '2021'
homepage = '(none)' homepage = '(none)'
......
easyblock = 'ConfigureMake'
name = 'OpenMPI'
version = '4.1.0rc1'
homepage = 'http://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-3 implementation."""
site_contacts = 'sc@fz-juelich.de'
toolchain = {'name': 'NVHPC', 'version': '20.9-GCC-9.3.0'}
toolchainopts = {'pic': True}
source_urls = ['http://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads']
sources = [SOURCELOWER_TAR_GZ]
osdependencies = [
# needed for --with-verbs
('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel'),
# needed for --with-pmix
('pmix-devel'),
]
builddependencies = [
('Autotools', '20200321'),
]
dependencies = [
('zlib', '1.2.11'),
('hwloc', '2.2.0'),
('UCX', '1.8.1', '', SYSTEM),
('CUDA', '11.0', '', SYSTEM),
('libevent', '2.1.12'),
]
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 '
# 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': [],
}
# Add a family for our naming scheme
modluafooter = '''
family("mpi")
add_property("arch","gpu")
if not ( isloaded("mpi-settings") ) then
load("mpi-settings")
end
'''
moduleclass = 'mpi'
easyblock = 'ConfigureMake'
name = 'OpenMPI'
version = '4.1.0rc1'
homepage = 'http://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-3 implementation."""
site_contacts = 'sc@fz-juelich.de'
toolchain = {'name': 'NVHPC', 'version': '21.1-GCC-9.3.0'}
toolchainopts = {'pic': True}
source_urls = ['http://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads']
sources = [SOURCELOWER_TAR_GZ]
osdependencies = [
# needed for --with-verbs
('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel'),
# needed for --with-pmix
('pmix-devel'),
]
builddependencies = [
('Autotools', '20200321'),
]
dependencies = [
('zlib', '1.2.11'),
('hwloc', '2.2.0'),
('UCX', '1.8.1', '', SYSTEM),
('CUDA', '11.0', '', SYSTEM),
('libevent', '2.1.12'),
]
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 '
# 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': [],
}
# Add a family for our naming scheme
modluafooter = '''
family("mpi")
add_property("arch","gpu")
if not ( isloaded("mpi-settings") ) then
load("mpi-settings")
end
'''
moduleclass = 'mpi'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment