new file: m/METIS/METIS-5.1.0-intel-2020a.eb

new file:   m/MUMPS/MUMPS-5.2.1-intel-2020a-metis.eb
	new file:   p/PETSc/PETSc-3.12.4-intel-2020a.eb
	new file:   p/Py/Py-3.8.eb
	new file:   p/Python/Python-3.8.2-GCC-8.3.0-2.32-base.eb
	new file:   s/SCOTCH/SCOTCH-6.0.9-intel-2020a.eb
	new file:   s/SuiteSparse/SuiteSparse-5.6.0-intel-2020a-METIS-5.1.0.eb
	new file:   s/slepc4py/slepc4py-3.12.0-Py-3.7.eb
This commit is contained in:
Lukáš Krupčík 2020-03-18 11:56:37 +01:00
parent bb75711793
commit 039bd42f11
8 changed files with 255 additions and 0 deletions

View File

@ -0,0 +1,25 @@
name = 'METIS'
version = '5.1.0'
homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/metis/overview'
description = """METIS is a set of serial programs for partitioning graphs, partitioning finite element meshes,
and producing fill reducing orderings for sparse matrices. The algorithms implemented in METIS are based on the
multilevel recursive-bisection, multilevel k-way, and multi-constraint partitioning schemes."""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'pic': True}
sources = [SOURCELOWER_TAR_GZ]
source_urls = [
'http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis',
'http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/OLD',
]
# We use 32bit for indices and 64bit for content
patches = ['METIS-5.1.0-use-doubles.patch']
builddependencies = [('CMake', '3.16.2', '', True)]
configopts = ['', 'shared=1']
moduleclass = 'math'

View File

@ -0,0 +1,33 @@
# IT4Innovations 2020
name = 'MUMPS'
version = '5.2.1'
versionsuffix = '-metis'
homepage = 'http://graal.ens-lyon.fr/MUMPS/'
description = "A parallel sparse direct solver"
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'pic': True, 'usempi': True}
source_urls = ['http://mumps.enseeiht.fr/']
sources = ['%(name)s_%(version)s.tar.gz']
patches = [
'%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD
'%(name)s-%(version)s_shared-mumps.patch', # builds shared libs of MUMPS
]
checksums = [
'd988fc34dfc8f5eee0533e361052a972aa69cc39ab193e7f987178d24981744a', # MUMPS_5.2.1.tar.gz
'e31019bedcce13acaa1867352edd99e1f67a97bb3fb7b96c7f10459c0fe301fd', # MUMPS-5.2.1_shared-pord.patch
'8973d64f44d509f1f85c6abb8b8ac9c330775f30c712f9a9e974c5541836d841', # MUMPS-5.2.1_shared-mumps.patch
]
dependencies = [
('SCOTCH', '6.0.9'),
('METIS', '5.1.0'),
]
parallel = 1
buildopts = 'all SONAME_VERSION="%(version)s"'
moduleclass = 'math'

View File

@ -0,0 +1,46 @@
# IT4Innovations 2020
name = 'PETSc'
version = '3.12.4'
homepage = 'https://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': '2020a'}
toolchainopts = {'usempi': True, 'pic': True}
# https:// does not work here
source_urls = [
'http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/',
'ftp://ftp.mcs.anl.gov/pub/petsc/release-snapshots/',
]
sources = [SOURCELOWER_TAR_GZ]
patches = [
'PETSc_ranlib-fix.patch',
]
checksums = [
'56a941130da93bbacb3cfa74dcacea1e3cd8e36a0341f9ced09977b1457084c3', # petsc-3.12.4.tar.gz
'64cf9d5008d5e92117e65bdec5316d991b6a6b8c8ecf7ea46eb790a498266297', # PETSc_ranlib-fix.patch
]
builddependencies = [('CMake', '3.16.2')]
dependencies = [
('Boost', '1.72.0'),
('METIS', '5.1.0'),
('SCOTCH', '6.0.9'),
('MUMPS', '5.2.1', '-metis'),
('SuiteSparse', '5.6.0', '-METIS-5.1.0'),
('Hypre', '2.18.2'),
]
configopts = '--LIBS="$LIBS -lrt" '
shared_libs = 1
# only required when building PETSc in a SLURM job environment
# configopts += '--with-batch=1 --known-mpi-shared-libraries=1 --known-64-bit-blas-indices=0 '
# prebuildopts = "srun ./conftest-arch-linux2-c-opt && ./reconfigure-arch-linux2-c-opt.py && "
moduleclass = 'numlib'

18
p/Py/Py-3.8.eb Normal file
View File

@ -0,0 +1,18 @@
# IT4Innovations 2020
easyblock = "Toolchain"
name = 'Py'
version = '3.8'
homepage = 'https://www.python.org'
description = """Python 3.7 toolchain"""
toolchain = SYSTEM
dependencies = [
('Python', '3.8.2', '-base', ('GCC', '8.3.0-2.32')),
('GCC', '8.3.0-2.32'),
]
moduleclass = 'toolchain'

View File

@ -0,0 +1,62 @@
# IT4Innovations 2020
name = 'Python'
version = '3.8.2'
versionsuffix = '-base'
homepage = 'http://python.org/'
description = """Python is a programming language that lets you work more quickly and integrate your systems
more effectively."""
toolchain = {'name': 'GCC', 'version': '8.3.0-2.32'}
toolchainopts = {'pic': True}
source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/']
sources = [SOURCE_TGZ]
dependencies = [
('bzip2', '1.0.8', '', True), # required for bz2 package in Python stdlib
('zlib', '1.2.11', '', True),
('libreadline', '8.0', '', True),
('ncurses', '6.1', '', True),
('SQLite', '3.30.1', '', True),
('XZ', '5.2.4', '', True),
('GMP', '6.1.2', '', True), # required for pycrypto
('libffi', '3.3', '', True), # required for cryptography
# OS dependency should be preferred if the os version is more recent then this version,
# it's nice to have an up to date openssl for security reasons
# Python 3.7 requires OpenSSL >= 1.0.2, uncomment line below if OS version is too old (e.g. CentOS 6)
# ('OpenSSL', '1.1.0j'),
]
#osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')]
# symlink 'pip' command to 'pip3' that is included with Python installation
# required so we can update pip to version included in extensions, using pip
installopts = " && ln -s %(installdir)s/bin/pip3 %(installdir)s/bin/pip"
#exts_default_options = {
# 'download_dep_fail': True,
# 'use_pip': True,
#}
# order is important!
# package versions updated Mar 15th 2019
exts_list = [
('pip', '20.0.2', {
'source_urls': ['https://pypi.python.org/packages/source/p/pip/'],
# don't use --ignore-installed, i.e. let pip remove older pip version included with Python
'pip_ignore_installed': False,
}),
('setuptools', '46.0.0', {
'source_urls': ['https://pypi.python.org/packages/source/s/setuptools'],
'source_tmpl': '%(name)s-%(version)s.zip',
# don't use --ignore-installed, i.e. let pip remove older setuptools version included with Python
'pip_ignore_installed': False,
}),
('wheel', '0.34.2', {
'source_urls': ['https://pypi.python.org/packages/source/w/wheel'],
})
]
moduleclass = 'lang'

View File

@ -0,0 +1,20 @@
# IT4Innovations 2020
name = 'SCOTCH'
version = '6.0.9'
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': '2020a'}
toolchainopts = {'pic': True}
source_urls = ['https://gforge.inria.fr/frs/download.php/file/38187/']
sources = ['%(namelower)s_%(version)s.tar.gz']
dependencies = [
('zlib', '1.2.11'),
]
moduleclass = 'math'

View File

@ -0,0 +1,27 @@
# IT4Innovations 2020
name = 'SuiteSparse'
version = '5.6.0'
local_metis_ver = '5.1.0'
versionsuffix = '-METIS-%s' % local_metis_ver
homepage = 'https://faculty.cse.tamu.edu/davis/suitesparse.html'
description = """SuiteSparse is a collection of libraries manipulate sparse matrices."""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'unroll': True, 'pic': True}
source_urls = ['https://github.com/DrTimothyAldenDavis/SuiteSparse/archive']
sources = ['v%(version)s.tar.gz']
checksums = ['76d34d9f6dafc592b69af14f58c1dc59e24853dcd7c2e8f4c98ffa223f6a1adb']
builddependencies = [('CMake', '3.16.2', '', True)]
dependencies = [('METIS', local_metis_ver)]
parallel = 1
# make sure that bin/demo can find libsuitesparseconfig.so.5 during build
prebuildopts = "export LD_LIBRARY_PATH=%(builddir)s/SuiteSparse-%(version)s/lib:$LD_LIBRARY_PATH && "
moduleclass = 'numlib'

View File

@ -0,0 +1,24 @@
# IT4Innovations 2020
easyblock = "PythonPackage"
name = 'slepc4py'
version = '3.12.0'
homepage = 'https://pypi.python.org/pypi/slepc4py'
description = 'Python bindings for SLEPc.'
toolchain = {'name': 'Py', 'version': '3.7'}
source_urls = [PYPI_SOURCE]
sources = [SOURCE_TAR_GZ]
#dependencies = [
# ('MarkupSafe', '1.0'),
#]
sanity_check_paths = {
'files': [],
'dirs': ['lib/python3.7/site-packages/%(name)s-%(version)s-py3.7.egg'],
}
moduleclass = 'python'