From d3593bd9a7f1a4eb45469bbcfb50e5438ec1a296 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Krup=C4=8D=C3=ADk?= Date: Tue, 21 Jul 2020 12:50:01 +0200 Subject: [PATCH] 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 --- b/Boost/Boost-1.72.0-intel-2020a-Py-3.7.eb | 30 +++++++++ c/CGAL/CGAL-4.11.1-intel-2020a.eb | 38 +++++++++++ c/CGAL/CGAL-5.0.2-intel-2020a.eb | 38 +++++++++++ .../DOLFIN-2019.1.0-intel-2020a-Py-3.7.eb | 51 +++++++++++++++ f/FFC/FFC-2019.1.0-conda.eb | 26 ++++++++ m/MATIO/MATIO-1.5.12-intel-2020a.eb | 19 ++++++ m/mshr/mshr-2019.1.0-conda.eb | 27 ++++++++ .../OpenMPI-1.10.7-GCC-6.3.0-2.27-noPBS.eb | 14 ++-- .../OpenMPI-3.1.6-GCCcore-8.3.0-noPBS.eb | 53 +++++++++++++++ s/SLEPc/SLEPc-3.13.3-intel-2020a.eb | 23 +++++++ s/SLEPc/SLEPc-3.9.2-intel-2020a.eb | 23 +++++++ .../Trilinos-12.12.1-intel-2020a-Py-3.7.eb | 64 +++++++++++++++++++ 12 files changed, 396 insertions(+), 10 deletions(-) create mode 100644 b/Boost/Boost-1.72.0-intel-2020a-Py-3.7.eb create mode 100644 c/CGAL/CGAL-4.11.1-intel-2020a.eb create mode 100644 c/CGAL/CGAL-5.0.2-intel-2020a.eb create mode 100644 d/DOLFIN/DOLFIN-2019.1.0-intel-2020a-Py-3.7.eb create mode 100644 f/FFC/FFC-2019.1.0-conda.eb create mode 100644 m/MATIO/MATIO-1.5.12-intel-2020a.eb create mode 100644 m/mshr/mshr-2019.1.0-conda.eb create mode 100644 o/OpenMPI/OpenMPI-3.1.6-GCCcore-8.3.0-noPBS.eb create mode 100644 s/SLEPc/SLEPc-3.13.3-intel-2020a.eb create mode 100644 s/SLEPc/SLEPc-3.9.2-intel-2020a.eb create mode 100644 t/Trilinos/Trilinos-12.12.1-intel-2020a-Py-3.7.eb diff --git a/b/Boost/Boost-1.72.0-intel-2020a-Py-3.7.eb b/b/Boost/Boost-1.72.0-intel-2020a-Py-3.7.eb new file mode 100644 index 00000000..314df3b2 --- /dev/null +++ b/b/Boost/Boost-1.72.0-intel-2020a-Py-3.7.eb @@ -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' diff --git a/c/CGAL/CGAL-4.11.1-intel-2020a.eb b/c/CGAL/CGAL-4.11.1-intel-2020a.eb new file mode 100644 index 00000000..50e0a65b --- /dev/null +++ b/c/CGAL/CGAL-4.11.1-intel-2020a.eb @@ -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' diff --git a/c/CGAL/CGAL-5.0.2-intel-2020a.eb b/c/CGAL/CGAL-5.0.2-intel-2020a.eb new file mode 100644 index 00000000..7f939d54 --- /dev/null +++ b/c/CGAL/CGAL-5.0.2-intel-2020a.eb @@ -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' diff --git a/d/DOLFIN/DOLFIN-2019.1.0-intel-2020a-Py-3.7.eb b/d/DOLFIN/DOLFIN-2019.1.0-intel-2020a-Py-3.7.eb new file mode 100644 index 00000000..d8c05537 --- /dev/null +++ b/d/DOLFIN/DOLFIN-2019.1.0-intel-2020a-Py-3.7.eb @@ -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' diff --git a/f/FFC/FFC-2019.1.0-conda.eb b/f/FFC/FFC-2019.1.0-conda.eb new file mode 100644 index 00000000..da773aa4 --- /dev/null +++ b/f/FFC/FFC-2019.1.0-conda.eb @@ -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' diff --git a/m/MATIO/MATIO-1.5.12-intel-2020a.eb b/m/MATIO/MATIO-1.5.12-intel-2020a.eb new file mode 100644 index 00000000..cb58e5ce --- /dev/null +++ b/m/MATIO/MATIO-1.5.12-intel-2020a.eb @@ -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' diff --git a/m/mshr/mshr-2019.1.0-conda.eb b/m/mshr/mshr-2019.1.0-conda.eb new file mode 100644 index 00000000..a29e99a5 --- /dev/null +++ b/m/mshr/mshr-2019.1.0-conda.eb @@ -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' diff --git a/o/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27-noPBS.eb b/o/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27-noPBS.eb index 72450a9d..60f863e3 100644 --- a/o/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27-noPBS.eb +++ b/o/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27-noPBS.eb @@ -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", diff --git a/o/OpenMPI/OpenMPI-3.1.6-GCCcore-8.3.0-noPBS.eb b/o/OpenMPI/OpenMPI-3.1.6-GCCcore-8.3.0-noPBS.eb new file mode 100644 index 00000000..51f48d75 --- /dev/null +++ b/o/OpenMPI/OpenMPI-3.1.6-GCCcore-8.3.0-noPBS.eb @@ -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' diff --git a/s/SLEPc/SLEPc-3.13.3-intel-2020a.eb b/s/SLEPc/SLEPc-3.13.3-intel-2020a.eb new file mode 100644 index 00000000..1d382134 --- /dev/null +++ b/s/SLEPc/SLEPc-3.13.3-intel-2020a.eb @@ -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' diff --git a/s/SLEPc/SLEPc-3.9.2-intel-2020a.eb b/s/SLEPc/SLEPc-3.9.2-intel-2020a.eb new file mode 100644 index 00000000..6adc986b --- /dev/null +++ b/s/SLEPc/SLEPc-3.9.2-intel-2020a.eb @@ -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' diff --git a/t/Trilinos/Trilinos-12.12.1-intel-2020a-Py-3.7.eb b/t/Trilinos/Trilinos-12.12.1-intel-2020a-Py-3.7.eb new file mode 100644 index 00000000..95b6728a --- /dev/null +++ b/t/Trilinos/Trilinos-12.12.1-intel-2020a-Py-3.7.eb @@ -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'