diff --git a/m/METIS/METIS-5.1.0-intel-2020a.eb b/m/METIS/METIS-5.1.0-intel-2020a.eb new file mode 100644 index 00000000..652f8210 --- /dev/null +++ b/m/METIS/METIS-5.1.0-intel-2020a.eb @@ -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' diff --git a/m/MUMPS/MUMPS-5.2.1-intel-2020a-metis.eb b/m/MUMPS/MUMPS-5.2.1-intel-2020a-metis.eb new file mode 100644 index 00000000..3d10fdec --- /dev/null +++ b/m/MUMPS/MUMPS-5.2.1-intel-2020a-metis.eb @@ -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' diff --git a/p/PETSc/PETSc-3.12.4-intel-2020a.eb b/p/PETSc/PETSc-3.12.4-intel-2020a.eb new file mode 100644 index 00000000..074f5f2f --- /dev/null +++ b/p/PETSc/PETSc-3.12.4-intel-2020a.eb @@ -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' diff --git a/p/Py/Py-3.8.eb b/p/Py/Py-3.8.eb new file mode 100644 index 00000000..64d6b5ad --- /dev/null +++ b/p/Py/Py-3.8.eb @@ -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' diff --git a/p/Python/Python-3.8.2-GCC-8.3.0-2.32-base.eb b/p/Python/Python-3.8.2-GCC-8.3.0-2.32-base.eb new file mode 100644 index 00000000..4d2db525 --- /dev/null +++ b/p/Python/Python-3.8.2-GCC-8.3.0-2.32-base.eb @@ -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' diff --git a/s/SCOTCH/SCOTCH-6.0.9-intel-2020a.eb b/s/SCOTCH/SCOTCH-6.0.9-intel-2020a.eb new file mode 100644 index 00000000..0ed9adf3 --- /dev/null +++ b/s/SCOTCH/SCOTCH-6.0.9-intel-2020a.eb @@ -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' diff --git a/s/SuiteSparse/SuiteSparse-5.6.0-intel-2020a-METIS-5.1.0.eb b/s/SuiteSparse/SuiteSparse-5.6.0-intel-2020a-METIS-5.1.0.eb new file mode 100644 index 00000000..c59aa840 --- /dev/null +++ b/s/SuiteSparse/SuiteSparse-5.6.0-intel-2020a-METIS-5.1.0.eb @@ -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' diff --git a/s/slepc4py/slepc4py-3.12.0-Py-3.7.eb b/s/slepc4py/slepc4py-3.12.0-Py-3.7.eb new file mode 100644 index 00000000..dbce9ab0 --- /dev/null +++ b/s/slepc4py/slepc4py-3.12.0-Py-3.7.eb @@ -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'