new file: b/Boost/Boost-1.72.0-intel-2020a-Py-3.7.eb

new file:   c/CGAL/CGAL-4.11.1-intel-2020a.eb
	new file:   c/CGAL/CGAL-5.0.2-intel-2020a.eb
	new file:   d/DOLFIN/DOLFIN-2019.1.0-intel-2020a-Py-3.7.eb
	new file:   f/FFC/FFC-2019.1.0-conda.eb
	new file:   m/MATIO/MATIO-1.5.12-intel-2020a.eb
	new file:   m/mshr/mshr-2019.1.0-conda.eb
	modified:   o/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27-noPBS.eb
	new file:   o/OpenMPI/OpenMPI-3.1.6-GCCcore-8.3.0-noPBS.eb
	new file:   s/SLEPc/SLEPc-3.13.3-intel-2020a.eb
	new file:   s/SLEPc/SLEPc-3.9.2-intel-2020a.eb
	new file:   t/Trilinos/Trilinos-12.12.1-intel-2020a-Py-3.7.eb
This commit is contained in:
Lukáš Krupčík 2020-07-21 12:50:01 +02:00
parent cb62cef936
commit d3593bd9a7
12 changed files with 396 additions and 10 deletions

View File

@ -0,0 +1,30 @@
# IT4Innovations 2020
# LK
name = 'Boost'
version = '1.72.0'
versionsuffix = '-Py-3.7'
homepage = 'http://www.boost.org/'
description = """Boost provides free peer-reviewed portable C++ source libraries."""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'pic': True, 'usempi': True}
source_urls = [SOURCEFORGE_SOURCE]
sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))]
patches = ['Boost-1.65.1_fix-Python3.patch']
dependencies = [
('bzip2', '1.0.6', '', True),
('zlib', '1.2.11', '', True),
('Py', '3.7', '', True)
]
configopts = '--with-python=$EBROOTPYTHON/bin/python'
# also build boost_mpi
boost_mpi = True
moduleclass = 'devel'

View File

@ -0,0 +1,38 @@
# IT4Innovations 2020
# LK
name = 'CGAL'
version = '4.11.1'
homepage = 'http://www.cgal.org/'
description = """The goal of the CGAL Open Source Project is to provide easy access to efficient
and reliable geometric algorithms in the form of a C++ library."""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'strict': True}
source_urls = ['https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-%(version)s']
sources = [SOURCE_TAR_XZ]
dependencies = [
('zlib', '1.2.11', '', True),
('Boost', '1.72.0', '-Py-3.7'),
('MPFR', '4.0.1', '' , True),
('GMP', '6.1.2', '', True),
('Mesa', '19.2.1', '', ('GCCcore', '8.3.0')),
('libGLU', '9.0.1', '-Mesa-19.2.1', ('GCCcore', '8.3.0')),
('Qt5', '5.13.1', '', ('GCCcore', '8.3.0')),
]
builddependencies = [
('CMake', '3.16.2', '', True),
('Eigen', '3.3.7', '', True),
]
configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include "
configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT
configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT
configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON "
configopts += "-DWITH_GMPXX=ON -DWITH_LAPACK=ON -DWITH_BLAS=ON "
moduleclass = 'numlib'

View File

@ -0,0 +1,38 @@
# IT4Innovations 2020
# LK
name = 'CGAL'
version = '5.0.2'
homepage = 'http://www.cgal.org/'
description = """The goal of the CGAL Open Source Project is to provide easy access to efficient
and reliable geometric algorithms in the form of a C++ library."""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'strict': True}
source_urls = ['https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-%(version)s']
sources = [SOURCE_TAR_XZ]
dependencies = [
('zlib', '1.2.11', '', True),
('Boost', '1.72.0', '-Py-3.7'),
('MPFR', '4.0.1', '' , True),
('GMP', '6.1.2', '', True),
('Mesa', '19.2.1', '', ('GCCcore', '8.3.0')),
('libGLU', '9.0.1', '-Mesa-19.2.1', ('GCCcore', '8.3.0')),
('Qt5', '5.13.1', '', ('GCCcore', '8.3.0')),
]
builddependencies = [
('CMake', '3.16.2', '', True),
('Eigen', '3.3.7', '', True),
]
configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include "
configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT
configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT
configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON "
configopts += "-DWITH_GMPXX=ON -DWITH_LAPACK=ON -DWITH_BLAS=ON "
moduleclass = 'numlib'

View File

@ -0,0 +1,51 @@
# IT4Innovations 2020
# LK
name = 'DOLFIN'
version = '2019.1.0'
versionsuffix = '-Py-3.7'
homepage = 'https://bitbucket.org/fenics-project/dolfin'
description = """DOLFIN is the C++/Python interface of FEniCS, providing a consistent PSE
(Problem Solving Environment) for ordinary and partial differential equations."""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'usempi': True, 'pic': True, 'packed-linker-options': True, 'openmp': True}
source_urls = ['https://bitbucket.org/fenics-project/dolfin/downloads/']
sources = [SOURCELOWER_TAR_GZ]
builddependencies = [
('CMake', '3.16.2', '', True),
('pkg-config', '0.29.2', '', True),
('PatchELF', '0.9', '', True),
# ('pybind11', '2.2.4', versionsuffix),
]
dependencies = [
('Py', '3.7', '', True),
('Boost', '1.72.0', versionsuffix),
('FFC', '2019.1.0', versionsuffix),
('FIAT', '2019.1.0', versionsuffix),
('UFL', '2019.1.0', versionsuffix),
('SCOTCH', '6.0.9'),
('SuiteSparse', '5.6.0', '-METIS-5.1.0'),
('CGAL', '4.11.1'),
('PETSc', '3.12.4'),
('SLEPc', '3.12.2'),
('HDF5', '1.10.6'),
# ('Trilinos', '12.12.1', versionsuffix),
('zlib', '1.2.11', '', True),
('libxml2', '2.9.9', '', True),
('Eigen', '3.3.7', '', True),
# ('PLY', '3.11', versionsuffix),
# ('VTK', '8.1.0', versionsuffix),
# ('petsc4py', '3.9.1', versionsuffix),
# ('slepc4py', '3.9.0', versionsuffix),
# ('SUNDIALS', '2.7.0'),
('ParMETIS', '4.0.3'),
]
# demos run as tests fail with 'bad X server connection', skipping for now
runtest = False
moduleclass = 'math'

View File

@ -0,0 +1,26 @@
# IT4Innovations 2020
easyblock = "Conda"
name = 'FFC'
version = '2019.1.0'
versionsuffix = '-conda'
homepage = 'http://phonopy.sourceforge.net/phono3py/index.html'
description = """This software calculates phonon-phonon interaction related properties"""
toolchain = SYSTEM
dependencies = [
('Anaconda3', '2019.10'),
]
requirements = "fenics=%(version)s python=3.7"
channels = ['conda-forge']
sanity_check_paths = {
'files': ['bin/ffc'],
'dirs': ['bin', 'lib', 'lib64', 'include', 'sbin']
}
moduleclass = 'math'

View File

@ -0,0 +1,19 @@
# IT4Innovations 2020
# LK
easyblock = 'ConfigureMake'
name = 'MATIO'
version = '1.5.12'
homepage = 'http://sourceforge.net/projects/matio/'
description = """matio is an C library for reading and writing Matlab MAT files."""
toolchain = {'name': 'intel', 'version': '2020a'}
source_urls = [SOURCEFORGE_SOURCE]
sources = [SOURCELOWER_ZIP]
dependencies = [('zlib', '1.2.11')]
moduleclass = 'lib'

View File

@ -0,0 +1,27 @@
# IT4Innovations 2020\
# LK
easyblock = "Conda"
name = 'mshr'
version = '2019.1.0'
versionsuffix = '-conda'
homepage = 'http://phonopy.sourceforge.net/phono3py/index.html'
description = """This software calculates phonon-phonon interaction related properties"""
toolchain = SYSTEM
dependencies = [
('Anaconda3', '2019.10'),
]
requirements = "mshr=%(version)s python=3.7"
channels = ['conda-forge']
sanity_check_paths = {
'files': ['bin/ffc'],
'dirs': ['bin', 'lib', 'lib64', 'include', 'sbin']
}
moduleclass = 'math'

View File

@ -1,3 +1,5 @@
# IT4Innovations 2019
easyblock = 'ConfigureMake'
name = 'OpenMPI'
@ -15,24 +17,16 @@ source_urls = [
dependencies = [('hwloc', '1.11.7')]
builddependencies = [
('Java', '1.8.0_121', '', True)
]
configopts = '--with-threads=posix --enable-shared --enable-mpi-thread-multiple --with-verbs '
# suppress failure modes in relation to mpirun path
configopts += '--enable-mpirun-prefix-by-default '
configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support
# statically link local_component, don't do dynamic loading
configopts += '--disable-dlopen '
# configopts += '--with-tm=/opt/pbs/default ' # Enable PBS
configopts += '--enable-mpi-java ' # Java support RT#4090
# for PBS Pro 13
# preconfigopts = 'export LIBS="-ldl" && '
#configopts += '--with-tm=/opt/pbs ' # Enable PBS
# needed for --with-verbs
osdependencies = [('libibverbs-dev', 'libibverbs-devel')]
#osdependencies = [('libibverbs-dev', 'libibverbs-devel')]
libs = [
"mpi_cxx",

View File

@ -0,0 +1,53 @@
# IT4Innovations 2020
easyblock = 'ConfigureMake'
name = 'OpenMPI'
version = '3.1.6'
versionsuffix = '-noPBS'
homepage = 'http://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-2 implementation."""
toolchain = {'name': 'GCCcore', 'version': '8.3.0'}
source_urls = [
'http://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads']
sources = [SOURCELOWER_TAR_GZ]
dependencies = [
('hwloc', '1.11.12'),
('zlib', '1.2.11'),
('binutils', '2.32'),
('UCX', '1.6.1'),
]
#configopts = '--with-tm=/opt/pbs ' # Enable PBS
configopts = '--with-ucx=$EBROOTUCX --enable-orterun-prefix-by-default'
osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')]
libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"]
sanity_check_paths = {
'files': [
"bin/%s" %
binfile for binfile in [
"ompi_info", "opal_wrapper", "orterun"]] + [
"lib/lib%s.%s" %
(libfile, SHLIB_EXT) for libfile in libs] + [
"include/%s.h" %
x for x in [
"mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], }
import os
if os.environ.get("CLUSTERNAME") in ["BARBORA"]:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0',
'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24',
'OMPI_MCA_orte_base_help_aggregate': '0',
}
else:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0',
'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8',
}
moduleclass = 'mpi'

View File

@ -0,0 +1,23 @@
# IT4Innovations 2020
# LK
name = 'SLEPc'
version = '3.13.3'
homepage = 'https://www.grycap.upv.es/slepc/'
description = """SLEPc (Scalable Library for Eigenvalue Problem Computations) is a software library for the solution
of large scale sparse eigenvalue problems on parallel computers. It is an extension of PETSc and can be used for
either standard or generalized eigenproblems, with real or complex arithmetic. It can also be used for computing a
partial SVD of a large, sparse, rectangular matrix, and to solve quadratic eigenvalue problems."""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'usempi': True, 'openmp': True}
source_urls = ['https://slepc.upv.es/download/distrib']
sources = [SOURCELOWER_TAR_GZ]
dependencies = [('PETSc', '3.12.4')]
petsc_arch = 'installed-arch-linux2-c-opt'
moduleclass = 'numlib'

View File

@ -0,0 +1,23 @@
# IT4Innovations 2020
# LK
name = 'SLEPc'
version = '3.9.2'
homepage = 'https://www.grycap.upv.es/slepc/'
description = """SLEPc (Scalable Library for Eigenvalue Problem Computations) is a software library for the solution
of large scale sparse eigenvalue problems on parallel computers. It is an extension of PETSc and can be used for
either standard or generalized eigenproblems, with real or complex arithmetic. It can also be used for computing a
partial SVD of a large, sparse, rectangular matrix, and to solve quadratic eigenvalue problems."""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'usempi': True, 'openmp': True}
source_urls = ['https://slepc.upv.es/download/distrib']
sources = [SOURCELOWER_TAR_GZ]
dependencies = [('PETSc', '3.12.4')]
petsc_arch = 'installed-arch-linux2-c-opt'
moduleclass = 'numlib'

View File

@ -0,0 +1,64 @@
# IT4Innovations 2020
# LK
name = 'Trilinos'
version = '12.12.1'
versionsuffix = '-Py-3.7'
homepage = 'https://trilinos.org'
description = """The Trilinos Project is an effort to develop algorithms and enabling technologies
within an object-oriented software framework for the solution of large-scale, complex multi-physics
engineering and scientific problems. A unique design feature of Trilinos is its focus on packages."""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'usempi': True, 'pic': True, 'strict': True}
source_urls = [
'http://trilinos.csbsju.edu/download/files/',
'https://trilinos.org/oldsite/download/files/',
]
sources = ['%(namelower)s-%(version)s-Source.tar.gz']
patches = [
('Trilinos-%(version)s_fix-CEpetra-LAPACK.patch', 'packages/CTrilinos'),
'Trilinos-%(version)s_fix-Py3.patch',
'Trilinos-%(version)s_muelu-fix-function-signature.patch',
'Trilinos-%(version)s_fix-Sundance.patch',
]
checksums = [
'7c67d83befbeabc773661bcdfee2850c404d249160b755d3f1be2e96f564f9fd', # trilinos-12.12.1-Source.tar.gz
'de2e989bf9e7cbe7cab9126a464b5b1569983de4060956e7a95dccb9e0bad039', # Trilinos-12.12.1_fix-CEpetra-LAPACK.patch
'5505645b712056403263860de86efccfb343cb5e5bf8d65697526d65ea5df099', # Trilinos-12.12.1_fix-Py3.patch
# Trilinos-12.12.1_muelu-fix-function-signature.patch
'253191cc6f6a6ebcc893e2684c64cfefa62c1cd0cc6b03b5f83646856fbdfe8a',
'df7924c207c1fab98d5aeec1333c4e2da5c07117daf2c72279f894552087e391', # Trilinos-12.12.1_fix-Sundance.patch
]
builddependencies = [
('CMake', '3.16.2', '', True),
('SWIG', '3.0.12', versionsuffix, True),
]
dependencies = [
('Py', '3.7', '', True),
('Boost', '1.72.0', versionsuffix),
('SCOTCH', '6.0.9'),
('SuiteSparse', '5.6.0', '-METIS-5.1.0'),
('ParMETIS', '4.0.3'),
('netCDF', '4.7.3'),
('MATIO', '1.5.12'),
# ('GLM', '0.9.9.0'),
('X11', '20190717', '', True),
]
# disable TrilinosCouplings package, doesn't build correctly (examples fail to compile)
skip_exts = ['TrilinosCouplings']
# workaround for Teuchos.pyc not being found during "make install"
# see https://github.com/trilinos/Trilinos/issues/1749
preinstallopts = "cd %(builddir)s/trilinos-%(version)s-Source/packages/PyTrilinos/src/PyTrilinos && "
preinstallopts += "python -m compileall -b -l -f . && cd - && "
# too parallel is too slow because of memory requirements (results in swapping), and may cause build/tests to fail
# building with 20 cores seems to require about 100GB of memory (peak usage)
maxparallel = 10
moduleclass = 'numlib'