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
This commit is contained in:
Lukáš Krupčík 2019-07-03 08:03:14 +02:00
parent 613ed8dc6d
commit 8f66c7bb8b
6 changed files with 192 additions and 0 deletions

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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')]

View File

@ -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'