From 8f66c7bb8b15d2292d206edb3ae9d2c0eae62e13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Krup=C4=8D=C3=ADk?= Date: Wed, 3 Jul 2019 08:03:14 +0200 Subject: [PATCH] new file: b/Boost/Boost-1.68.0-intel-2018.04.eb new file: l/libMesh/libMesh-1.3.0-intel-2018.04.eb new file: l/libMesh/libMesh-1.4.1-intel-2018.04.eb new file: m/MUMPS/MUMPS-5.2.0-intel-2018.04-parmetis.eb new file: p/PETSc/PETSc-3.7.5-intel-2018.04-it4i.eb new file: s/SCOTCH/SCOTCH-6.0.6-intel-2018.04.eb --- b/Boost/Boost-1.68.0-intel-2018.04.eb | 26 +++++++++ l/libMesh/libMesh-1.3.0-intel-2018.04.eb | 36 +++++++++++++ l/libMesh/libMesh-1.4.1-intel-2018.04.eb | 36 +++++++++++++ m/MUMPS/MUMPS-5.2.0-intel-2018.04-parmetis.eb | 24 +++++++++ p/PETSc/PETSc-3.7.5-intel-2018.04-it4i.eb | 54 +++++++++++++++++++ s/SCOTCH/SCOTCH-6.0.6-intel-2018.04.eb | 16 ++++++ 6 files changed, 192 insertions(+) create mode 100644 b/Boost/Boost-1.68.0-intel-2018.04.eb create mode 100644 l/libMesh/libMesh-1.3.0-intel-2018.04.eb create mode 100644 l/libMesh/libMesh-1.4.1-intel-2018.04.eb create mode 100644 m/MUMPS/MUMPS-5.2.0-intel-2018.04-parmetis.eb create mode 100644 p/PETSc/PETSc-3.7.5-intel-2018.04-it4i.eb create mode 100644 s/SCOTCH/SCOTCH-6.0.6-intel-2018.04.eb diff --git a/b/Boost/Boost-1.68.0-intel-2018.04.eb b/b/Boost/Boost-1.68.0-intel-2018.04.eb new file mode 100644 index 00000000..087b7654 --- /dev/null +++ b/b/Boost/Boost-1.68.0-intel-2018.04.eb @@ -0,0 +1,26 @@ +# IT4Innovations 2018 + +name = 'Boost' +version = '1.68.0' + +homepage = 'http://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'intel', 'version': '2018.04'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] + + +dependencies = [ + ('bzip2', '1.0.6', '', True), + ('zlib', '1.2.11', '', True), +] + +configopts = '--without-libraries=python' + +# also build boost_mpi +boost_mpi = True + +moduleclass = 'devel' diff --git a/l/libMesh/libMesh-1.3.0-intel-2018.04.eb b/l/libMesh/libMesh-1.3.0-intel-2018.04.eb new file mode 100644 index 00000000..e3a3e0bb --- /dev/null +++ b/l/libMesh/libMesh-1.3.0-intel-2018.04.eb @@ -0,0 +1,36 @@ +# IT4Innovations 2019 + +easyblock = 'ConfigureMake' + +name = 'libMesh' +version = '1.3.0' + +homepage = 'http://libmesh.github.io/' +description = """The libMesh library provides a framework for the numerical simulation of partial differential equations + using arbitrary unstructured discretizations on serial and parallel platforms. A major goal of the library is to + provide support for adaptive mesh refinement (AMR) computations in parallel while allowing a research scientist + to focus on the physics they are modeling.""" + +toolchain = {'name': 'intel', 'version': '2018.04'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = [ + 'https://github.com/libMesh/libmesh/releases/download/v%(version)s/', +] + +sources = [SOURCELOWER_TAR_GZ] + +configopts = " --with-metis=PETSc" + +dependencies = [ + #('ParMETIS', '4.0.3'), + ('Boost', '1.68.0'), + ('PETSc' ,'3.7.5', '-it4i'), +] + +sanity_check_paths = { + 'files': ['bin/meshtool-opt'], + 'dirs': ['bin'], +} + +moduleclass = 'lib' diff --git a/l/libMesh/libMesh-1.4.1-intel-2018.04.eb b/l/libMesh/libMesh-1.4.1-intel-2018.04.eb new file mode 100644 index 00000000..32e22be1 --- /dev/null +++ b/l/libMesh/libMesh-1.4.1-intel-2018.04.eb @@ -0,0 +1,36 @@ +# IT4Innovations 2019 + +easyblock = 'ConfigureMake' + +name = 'libMesh' +version = '1.4.1' + +homepage = 'http://libmesh.github.io/' +description = """The libMesh library provides a framework for the numerical simulation of partial differential equations + using arbitrary unstructured discretizations on serial and parallel platforms. A major goal of the library is to + provide support for adaptive mesh refinement (AMR) computations in parallel while allowing a research scientist + to focus on the physics they are modeling.""" + +toolchain = {'name': 'intel', 'version': '2018.04'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = [ + 'https://github.com/libMesh/libmesh/releases/download/v%(version)s/', +] + +sources = [SOURCELOWER_TAR_GZ] + +configopts = " --with-metis=PETSc" + +dependencies = [ + #('ParMETIS', '4.0.3'), + ('Boost', '1.68.0'), + ('PETSc' ,'3.7.5', '-it4i'), +] + +sanity_check_paths = { + 'files': ['bin/meshtool-opt'], + 'dirs': ['bin'], +} + +moduleclass = 'lib' diff --git a/m/MUMPS/MUMPS-5.2.0-intel-2018.04-parmetis.eb b/m/MUMPS/MUMPS-5.2.0-intel-2018.04-parmetis.eb new file mode 100644 index 00000000..c47678fe --- /dev/null +++ b/m/MUMPS/MUMPS-5.2.0-intel-2018.04-parmetis.eb @@ -0,0 +1,24 @@ +# IT4Innovations 2019 + +name = 'MUMPS' +version = '5.2.0' +versionsuffix = '-parmetis' + +homepage = 'http://graal.ens-lyon.fr/MUMPS/' +description = "A parallel sparse direct solver" + +toolchain = {'name': 'intel', 'version': '2018.04'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['http://mumps.enseeiht.fr/'] +sources = ['%(name)s_%(version)s.tar.gz'] + +dependencies = [ + ('SCOTCH', '6.0.6'), + ('ParMETIS', '4.0.3'), +] + +parallel = 1 +buildopts = 'all' + +moduleclass = 'math' diff --git a/p/PETSc/PETSc-3.7.5-intel-2018.04-it4i.eb b/p/PETSc/PETSc-3.7.5-intel-2018.04-it4i.eb new file mode 100644 index 00000000..1102cd1a --- /dev/null +++ b/p/PETSc/PETSc-3.7.5-intel-2018.04-it4i.eb @@ -0,0 +1,54 @@ +# IT4Innovations 2019 + +easyblock = 'ConfigureMake' +name = 'PETSc' +version = '3.7.5' +versionsuffix = '-it4i' + +homepage = 'http://www.mcs.anl.gov/petsc' +description = """PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the + scalable (parallel) solution of scientific applications modeled by partial differential equations.""" + +toolchain = {'name': 'intel', 'version': '2018.04'} + +# build is still parallel, PETSc make doesnt support -j opt +maxparallel = 0 + +source_urls = ['http://ftp.mcs.anl.gov/pub/petsc/release-snapshots'] +sources = [SOURCELOWER_TAR_GZ] + +# (build) dependencies provided through EasyBuild +builddependencies = [('CMake', '3.14.1', '', True)] + +# configure installs dependencies -> remove installdir before configure +keeppreviousinstall = True +preconfigopts = 'rm -rf %(installdir)s;' + +petscArch = 'intel-opt' +petscDir = '%(builddir)s/%(namelower)s-%(version)s' + +# config options +configopts = '--CFLAGS=-O3 -xHost --CXXFLAGS=-O3 -xHost --FFLAGS=-O3 -xHost --with-c++-support --with-pic=1 ' +configopts += '--with-cc=mpicc --with-cxx=mpicxx --with-fc=mpif90 --with-debugging=0 --with-gnu-compilers=0 ' +configopts += '--with-mpi=1 --with-x=0 ' +configopts += '--download-metis --download-parmetis --download-mumps --download-superlu --download-superlu_dist ' +configopts += '--with-blas-lapack-lib=[$EBROOTIMKL/mkl/lib/intel64_lin/libmkl_intel_lp64.a,libmkl_sequential.a,libmkl_core.a] ' +configopts += '--with-scalapack-include=$EBROOTIMKL/mkl/include ' +configopts += '--with-scalapack-lib=[$EBROOTIMKL/mkl/lib/intel64_lin/libmkl_scalapack_lp64.a,libmkl_blacs_intelmpi_lp64.a,libmkl_intel_lp64.a,libmkl_sequential.a,libmkl_core.a] ' +configopts += '--with-scalapack=1 ' +configopts += 'PETSC_ARCH=%s' % petscArch + +installopts = 'PETSC_DIR=%s PETSC_ARCH=%s' % (petscDir, petscArch) +buildopts = installopts + ' all' + +modextravars = {'PETSC_DIR': '%(installdir)s'} + +moduleclass = 'numlib' + +# sanity checks +runtest = 'test' # run make test after make +sanity_check_paths = { + 'files': ['include/petscconf.h', 'lib/libpetsc.so'], + 'dirs': [] +} +sanity_check_commands = [('petscmpiexec', '-h')] diff --git a/s/SCOTCH/SCOTCH-6.0.6-intel-2018.04.eb b/s/SCOTCH/SCOTCH-6.0.6-intel-2018.04.eb new file mode 100644 index 00000000..12abae68 --- /dev/null +++ b/s/SCOTCH/SCOTCH-6.0.6-intel-2018.04.eb @@ -0,0 +1,16 @@ +# IT4Innovations 2019 + +name = 'SCOTCH' +version = '6.0.6' + +homepage = 'http://gforge.inria.fr/projects/scotch/' +description = """Software package and libraries for sequential and parallel graph partitioning, +static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.""" + +toolchain = {'name': 'intel', 'version': '2018.04'} +toolchainopts = {'pic': True} + +source_urls = ['http://gforge.inria.fr/frs/download.php/file/34618/'] +sources = ['%(namelower)s_%(version)s.tar.gz'] + +moduleclass = 'math'