From e6ac01dbda4833b15b554ab8721e626864b57135 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Krup=C4=8D=C3=ADk?= Date: Thu, 9 May 2019 09:43:36 +0200 Subject: [PATCH] new file: c/Cube/Cube-4.4.3-gompi-2019.02.eb new file: c/CubeGUI/CubeGUI-4.4.3-gompi-2019.02.eb new file: c/CubeLib/CubeLib-4.4.3-gompi-2019.02.eb new file: c/CubeW/CubeW-4.4.2-gompi-2019.02.eb new file: m/MVAPICH2/MVAPICH2-2.3-GCC-6.3.0-2.27.eb new file: p/ParMETIS/ParMETIS-4.0.3-foss-2018a.eb new file: s/Scalasca/Scalasca-2.5-gompi-2019.02.eb new file: s/Scalasca/Scalasca-2.5-gompi-2019.03.eb new file: s/Scalasca/Scalasca-2.5-intel-2017a.eb new file: s/Scalasca/Scalasca-2.5-intel-2018a.eb new file: s/Score-P/Score-P-5.0-gompi-2019.02.eb new file: s/SuiteSparse/SuiteSparse-5.4.0-foss-2018a-METIS-5.1.0.eb new file: t/Trilinos/Trilinos-12.12.1-foss-2018a-Py-2.7.eb new file: t/Trilinos/Trilinos-12.14.1-foss-2018a-Py-2.7.eb modified: t/Trilinos/Trilinos-12.14.1-intel-2017c-Py-2.7.eb deleted: s/Score-P/Score-P-5.0-intel-2019.02.eb --- c/Cube/Cube-4.4.3-gompi-2019.02.eb | 23 ++++++ c/CubeGUI/CubeGUI-4.4.3-gompi-2019.02.eb | 32 +++++++++ c/CubeLib/CubeLib-4.4.3-gompi-2019.02.eb | 27 +++++++ c/CubeW/CubeW-4.4.2-gompi-2019.02.eb | 27 +++++++ m/MVAPICH2/MVAPICH2-2.3-GCC-6.3.0-2.27.eb | 27 +++++++ p/ParMETIS/ParMETIS-4.0.3-foss-2018a.eb | 24 +++++++ s/Scalasca/Scalasca-2.5-gompi-2019.02.eb | 35 +++++++++ s/Scalasca/Scalasca-2.5-gompi-2019.03.eb | 35 +++++++++ s/Scalasca/Scalasca-2.5-intel-2017a.eb | 35 +++++++++ s/Scalasca/Scalasca-2.5-intel-2018a.eb | 35 +++++++++ ...019.02.eb => Score-P-5.0-gompi-2019.02.eb} | 2 +- ...uiteSparse-5.4.0-foss-2018a-METIS-5.1.0.eb | 24 +++++++ .../Trilinos-12.12.1-foss-2018a-Py-2.7.eb | 62 ++++++++++++++++ .../Trilinos-12.14.1-foss-2018a-Py-2.7.eb | 72 +++++++++++++++++++ .../Trilinos-12.14.1-intel-2017c-Py-2.7.eb | 15 +++- 15 files changed, 471 insertions(+), 4 deletions(-) create mode 100644 c/Cube/Cube-4.4.3-gompi-2019.02.eb create mode 100644 c/CubeGUI/CubeGUI-4.4.3-gompi-2019.02.eb create mode 100644 c/CubeLib/CubeLib-4.4.3-gompi-2019.02.eb create mode 100644 c/CubeW/CubeW-4.4.2-gompi-2019.02.eb create mode 100644 m/MVAPICH2/MVAPICH2-2.3-GCC-6.3.0-2.27.eb create mode 100644 p/ParMETIS/ParMETIS-4.0.3-foss-2018a.eb create mode 100644 s/Scalasca/Scalasca-2.5-gompi-2019.02.eb create mode 100644 s/Scalasca/Scalasca-2.5-gompi-2019.03.eb create mode 100644 s/Scalasca/Scalasca-2.5-intel-2017a.eb create mode 100644 s/Scalasca/Scalasca-2.5-intel-2018a.eb rename s/Score-P/{Score-P-5.0-intel-2019.02.eb => Score-P-5.0-gompi-2019.02.eb} (95%) create mode 100644 s/SuiteSparse/SuiteSparse-5.4.0-foss-2018a-METIS-5.1.0.eb create mode 100644 t/Trilinos/Trilinos-12.12.1-foss-2018a-Py-2.7.eb create mode 100644 t/Trilinos/Trilinos-12.14.1-foss-2018a-Py-2.7.eb diff --git a/c/Cube/Cube-4.4.3-gompi-2019.02.eb b/c/Cube/Cube-4.4.3-gompi-2019.02.eb new file mode 100644 index 00000000..96554993 --- /dev/null +++ b/c/Cube/Cube-4.4.3-gompi-2019.02.eb @@ -0,0 +1,23 @@ +# IT4Innovations 2019 + +easyblock = "Toolchain" + +name = 'Cube' +version = '4.4.3' + +homepage = 'http://www.scalasca.org/software/cube-4.x/download.html' +description = """Cube, which is used as performance report explorer for Scalasca and + Score-P, is a generic tool for displaying a multi-dimensional performance space + consisting of the dimensions (i) performance metric, (ii) call path, and (iii) system + resource. Each dimension can be represented as a tree, where non-leaf nodes of the tree + can be collapsed or expanded to achieve the desired level of granularity.""" + +toolchain = {'name': 'gompi', 'version': '2019.02'} + +dependencies = [ + ('CubeW', '4.4.2'), + ('CubeLib', '4.4.3'), + ('CubeGUI', '4.4.3'), +] + +moduleclass = 'perf' diff --git a/c/CubeGUI/CubeGUI-4.4.3-gompi-2019.02.eb b/c/CubeGUI/CubeGUI-4.4.3-gompi-2019.02.eb new file mode 100644 index 00000000..1aa0a60d --- /dev/null +++ b/c/CubeGUI/CubeGUI-4.4.3-gompi-2019.02.eb @@ -0,0 +1,32 @@ +# IT4Innovations 2019 + +easyblock = 'EB_Score_minus_P' + +name = 'CubeGUI' +version = '4.4.3' + +homepage = 'http://www.scalasca.org/software/cube-4.x/download.html' +description = """Cube, which is used as performance report explorer for Scalasca and + Score-P, is a generic tool for displaying a multi-dimensional performance space + consisting of the dimensions (i) performance metric, (ii) call path, and (iii) system + resource. Each dimension can be represented as a tree, where non-leaf nodes of the tree + can be collapsed or expanded to achieve the desired level of granularity.""" + +toolchain = {'name': 'gompi', 'version': '2019.02'} +toolchainopts = {'optarch': False, 'pic': True} + +source_urls = ['http://apps.fz-juelich.de/scalasca/releases/cube/4.4/dist/'] +sources = ['cubegui-%(version)s.tar.gz'] + +dependencies = [ + ('Qt', '4.8.7', '', True), + ('CubeLib', '4.4.3') +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'include', 'lib'], +} + + +moduleclass = 'perf' diff --git a/c/CubeLib/CubeLib-4.4.3-gompi-2019.02.eb b/c/CubeLib/CubeLib-4.4.3-gompi-2019.02.eb new file mode 100644 index 00000000..4a17099e --- /dev/null +++ b/c/CubeLib/CubeLib-4.4.3-gompi-2019.02.eb @@ -0,0 +1,27 @@ +# IT4Innovations 2019 + +easyblock = 'EB_Score_minus_P' + +name = 'CubeLib' +version = '4.4.3' + +homepage = 'http://www.scalasca.org/software/cube-4.x/download.html' +description = """Cube, which is used as performance report explorer for Scalasca and + Score-P, is a generic tool for displaying a multi-dimensional performance space + consisting of the dimensions (i) performance metric, (ii) call path, and (iii) system + resource. Each dimension can be represented as a tree, where non-leaf nodes of the tree + can be collapsed or expanded to achieve the desired level of granularity.""" + +toolchain = {'name': 'gompi', 'version': '2019.02'} +toolchainopts = {'optarch': False, 'pic': True} + +source_urls = ['http://apps.fz-juelich.de/scalasca/releases/cube/4.4/dist/'] +sources = ['cubelib-%(version)s.tar.gz'] + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'include', 'lib'], +} + + +moduleclass = 'perf' diff --git a/c/CubeW/CubeW-4.4.2-gompi-2019.02.eb b/c/CubeW/CubeW-4.4.2-gompi-2019.02.eb new file mode 100644 index 00000000..3e9d1d6a --- /dev/null +++ b/c/CubeW/CubeW-4.4.2-gompi-2019.02.eb @@ -0,0 +1,27 @@ +# IT4Innovations 2019 + +easyblock = 'EB_Score_minus_P' + +name = 'CubeW' +version = '4.4.2' + +homepage = 'http://www.scalasca.org/software/cube-4.x/download.html' +description = """Cube, which is used as performance report explorer for Scalasca and + Score-P, is a generic tool for displaying a multi-dimensional performance space + consisting of the dimensions (i) performance metric, (ii) call path, and (iii) system + resource. Each dimension can be represented as a tree, where non-leaf nodes of the tree + can be collapsed or expanded to achieve the desired level of granularity.""" + +toolchain = {'name': 'gompi', 'version': '2019.02'} +toolchainopts = {'optarch': False, 'pic': True} + +source_urls = ['http://apps.fz-juelich.de/scalasca/releases/cube/4.4/dist/'] +sources = ['cubew-%(version)s.tar.gz'] + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'include', 'lib'], +} + + +moduleclass = 'perf' diff --git a/m/MVAPICH2/MVAPICH2-2.3-GCC-6.3.0-2.27.eb b/m/MVAPICH2/MVAPICH2-2.3-GCC-6.3.0-2.27.eb new file mode 100644 index 00000000..dc37b072 --- /dev/null +++ b/m/MVAPICH2/MVAPICH2-2.3-GCC-6.3.0-2.27.eb @@ -0,0 +1,27 @@ +# IT4Innovations 2019 + +name = 'MVAPICH2' +version = '2.3' + +homepage = 'http://mvapich.cse.ohio-state.edu/overview/mvapich2/' +description = "This is an MPI 3.0 implementation. It is based on MPICH2 and MVICH." + +toolchain = {'name': 'GCC', 'version': '6.3.0-2.27'} + +source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/'] +sources = [SOURCELOWER_TAR_GZ] + +preconfigopts = 'unset F90 && unset FC && unset F90FLAGS && unset FCFLAGS && ' + +configopts = "--enable-btl-openib-failover --with-tm=/opt/pbs/default --with-openib " +configopts += "--enable-threads=runtime --enable-shared --with-device=ch3:nemesis " +configopts += "--disable-rdma-cm --enable-romio --with-file-system=lustre+nfs " + +builddependencies = [('Bison', '3.0.4')] + +sanity_check_paths = { + 'files': ['lib/libmpicxx.a'], + 'dirs': ['include'] +} + +moduleclass = 'mpi' diff --git a/p/ParMETIS/ParMETIS-4.0.3-foss-2018a.eb b/p/ParMETIS/ParMETIS-4.0.3-foss-2018a.eb new file mode 100644 index 00000000..23f8ca87 --- /dev/null +++ b/p/ParMETIS/ParMETIS-4.0.3-foss-2018a.eb @@ -0,0 +1,24 @@ +# IT4Innovations 2019 + +name = 'ParMETIS' +version = '4.0.3' + +homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview' +description = """ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning unstructured graphs, + meshes, and for computing fill-reducing orderings of sparse matrices. ParMETIS extends the functionality provided by METIS and includes + routines that are especially suited for parallel AMR computations and large scale numerical simulations. The algorithms implemented in + ParMETIS are based on the parallel multilevel k-way graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning + schemes.""" + +toolchain = {'name': 'foss', 'version': '2018a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = [ + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis', + 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/OLD', +] +sources = [SOURCELOWER_TAR_GZ] + +builddependencies = [('CMake', '3.13.1', '', True)] + +moduleclass = 'math' diff --git a/s/Scalasca/Scalasca-2.5-gompi-2019.02.eb b/s/Scalasca/Scalasca-2.5-gompi-2019.02.eb new file mode 100644 index 00000000..8b991f24 --- /dev/null +++ b/s/Scalasca/Scalasca-2.5-gompi-2019.02.eb @@ -0,0 +1,35 @@ +# IT4Innovations 2019 + +easyblock = 'EB_Score_minus_P' + +name = 'Scalasca' +version = '2.5' + +homepage = 'http://www.scalasca.org/' +description = """Scalasca is a software tool that supports the performance optimization of + parallel programs by measuring and analyzing their runtime behavior. The analysis identifies + potential performance bottlenecks -- in particular those concerning communication and + synchronization -- and offers guidance in exploring their causes.""" + +toolchain = {'name': 'gompi', 'version': '2019.02'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'http://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist'] + +dependencies = [ + ('Score-P', '5.0'), +] + +sanity_check_paths = { + 'files': [ + "bin/scalasca", + ("lib/libpearl.replay.a", + "lib64/libpearl.replay.a")], + 'dirs': [], +} + +# Ensure that local metric documentation is found by Cube GUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'} + +moduleclass = 'perf' diff --git a/s/Scalasca/Scalasca-2.5-gompi-2019.03.eb b/s/Scalasca/Scalasca-2.5-gompi-2019.03.eb new file mode 100644 index 00000000..1a8f0fbc --- /dev/null +++ b/s/Scalasca/Scalasca-2.5-gompi-2019.03.eb @@ -0,0 +1,35 @@ +# IT4Innovations 2019 + +easyblock = 'EB_Score_minus_P' + +name = 'Scalasca' +version = '2.5' + +homepage = 'http://www.scalasca.org/' +description = """Scalasca is a software tool that supports the performance optimization of + parallel programs by measuring and analyzing their runtime behavior. The analysis identifies + potential performance bottlenecks -- in particular those concerning communication and + synchronization -- and offers guidance in exploring their causes.""" + +toolchain = {'name': 'gompi', 'version': '2019.03'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'http://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist'] + +dependencies = [ + ('Score-P', '5.0'), +] + +sanity_check_paths = { + 'files': [ + "bin/scalasca", + ("lib/libpearl.replay.a", + "lib64/libpearl.replay.a")], + 'dirs': [], +} + +# Ensure that local metric documentation is found by Cube GUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'} + +moduleclass = 'perf' diff --git a/s/Scalasca/Scalasca-2.5-intel-2017a.eb b/s/Scalasca/Scalasca-2.5-intel-2017a.eb new file mode 100644 index 00000000..991c7d94 --- /dev/null +++ b/s/Scalasca/Scalasca-2.5-intel-2017a.eb @@ -0,0 +1,35 @@ +# IT4Innovations 2019 + +easyblock = 'EB_Score_minus_P' + +name = 'Scalasca' +version = '2.5' + +homepage = 'http://www.scalasca.org/' +description = """Scalasca is a software tool that supports the performance optimization of + parallel programs by measuring and analyzing their runtime behavior. The analysis identifies + potential performance bottlenecks -- in particular those concerning communication and + synchronization -- and offers guidance in exploring their causes.""" + +toolchain = {'name': 'intel', 'version': '2017a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'http://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist'] + +dependencies = [ + ('Score-P', '5.0'), +] + +sanity_check_paths = { + 'files': [ + "bin/scalasca", + ("lib/libpearl.replay.a", + "lib64/libpearl.replay.a")], + 'dirs': [], +} + +# Ensure that local metric documentation is found by Cube GUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'} + +moduleclass = 'perf' diff --git a/s/Scalasca/Scalasca-2.5-intel-2018a.eb b/s/Scalasca/Scalasca-2.5-intel-2018a.eb new file mode 100644 index 00000000..a2bc15b1 --- /dev/null +++ b/s/Scalasca/Scalasca-2.5-intel-2018a.eb @@ -0,0 +1,35 @@ +# IT4Innovations 2019 + +easyblock = 'EB_Score_minus_P' + +name = 'Scalasca' +version = '2.5' + +homepage = 'http://www.scalasca.org/' +description = """Scalasca is a software tool that supports the performance optimization of + parallel programs by measuring and analyzing their runtime behavior. The analysis identifies + potential performance bottlenecks -- in particular those concerning communication and + synchronization -- and offers guidance in exploring their causes.""" + +toolchain = {'name': 'intel', 'version': '2018a'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [ + 'http://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist'] + +dependencies = [ + ('Score-P', '5.0'), +] + +sanity_check_paths = { + 'files': [ + "bin/scalasca", + ("lib/libpearl.replay.a", + "lib64/libpearl.replay.a")], + 'dirs': [], +} + +# Ensure that local metric documentation is found by Cube GUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'} + +moduleclass = 'perf' diff --git a/s/Score-P/Score-P-5.0-intel-2019.02.eb b/s/Score-P/Score-P-5.0-gompi-2019.02.eb similarity index 95% rename from s/Score-P/Score-P-5.0-intel-2019.02.eb rename to s/Score-P/Score-P-5.0-gompi-2019.02.eb index 31605ffb..2499a0d8 100644 --- a/s/Score-P/Score-P-5.0-intel-2019.02.eb +++ b/s/Score-P/Score-P-5.0-gompi-2019.02.eb @@ -10,7 +10,7 @@ description = """The Score-P measurement infrastructure is a highly scalable and easy-to-use tool suite for profiling, event tracing, and online analysis of HPC applications.""" -toolchain = {'name': 'intel', 'version': '2019.02'} +toolchain = {'name': 'gompi', 'version': '2019.02'} source_urls = ['https://www.vi-hps.org/cms/upload/packages/scorep/'] sources = ['scorep-%(version)s.tar.gz'] diff --git a/s/SuiteSparse/SuiteSparse-5.4.0-foss-2018a-METIS-5.1.0.eb b/s/SuiteSparse/SuiteSparse-5.4.0-foss-2018a-METIS-5.1.0.eb new file mode 100644 index 00000000..d2cc0ae6 --- /dev/null +++ b/s/SuiteSparse/SuiteSparse-5.4.0-foss-2018a-METIS-5.1.0.eb @@ -0,0 +1,24 @@ +# IT4Innovations 2019 + +name = 'SuiteSparse' +version = '5.4.0' +versionsuffix = '-METIS-5.1.0' + +homepage = 'http://faculty.cse.tamu.edu/davis/suitesparse.html' +description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" + +toolchain = {'name': 'foss', 'version': '2018a'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = ['http://faculty.cse.tamu.edu/davis/SuiteSparse'] +sources = [SOURCE_TAR_GZ] + +builddependencies = [('CMake', '3.13.1', '', True)] + +dependencies = [('METIS', '5.1.0', '', True)] + +prebuildopts = "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%(builddir)s/SuiteSparse/lib && " + +parallel = 1 + +moduleclass = 'numlib' diff --git a/t/Trilinos/Trilinos-12.12.1-foss-2018a-Py-2.7.eb b/t/Trilinos/Trilinos-12.12.1-foss-2018a-Py-2.7.eb new file mode 100644 index 00000000..6f8935af --- /dev/null +++ b/t/Trilinos/Trilinos-12.12.1-foss-2018a-Py-2.7.eb @@ -0,0 +1,62 @@ +# IT4Innovations 2019 + +name = 'Trilinos' +version = '12.12.1' +versionsuffix = '-Py-2.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': 'foss', 'version': '2018a'} +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_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 + # Trilinos-12.12.1_muelu-fix-function-signature.patch + '253191cc6f6a6ebcc893e2684c64cfefa62c1cd0cc6b03b5f83646856fbdfe8a', + 'df7924c207c1fab98d5aeec1333c4e2da5c07117daf2c72279f894552087e391', # Trilinos-12.12.1_fix-Sundance.patch +] + +builddependencies = [ + ('CMake', '3.13.1', '', True), + ('SWIG', '3.0.12', versionsuffix), +] + +dependencies = [ + ('Python', '2.7', '', True), + ('Boost', '1.66.0', versionsuffix), + ('SCOTCH', '6.0.6'), + ('SuiteSparse', '5.4.0', '-METIS-5.1.0'), + ('ParMETIS', '4.0.3'), + ('netCDF', '4.6.1'), + ('MATIO', '1.5.12', '', ('GCCcore', '6.3.0')), + ('GLM', '0.9.9.0', '', ('GCCcore', '6.3.0')), + ('X11', '20180604', '', 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 -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' diff --git a/t/Trilinos/Trilinos-12.14.1-foss-2018a-Py-2.7.eb b/t/Trilinos/Trilinos-12.14.1-foss-2018a-Py-2.7.eb new file mode 100644 index 00000000..fa1270d9 --- /dev/null +++ b/t/Trilinos/Trilinos-12.14.1-foss-2018a-Py-2.7.eb @@ -0,0 +1,72 @@ +# IT4Innovations 2019 + +name = 'Trilinos' +version = '12.14.1' +versionsuffix = '-Py-2.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': 'foss', 'version': '2018a'} +toolchainopts = {'usempi': True, 'pic': True, 'strict': True} + +source_urls = ['https://github.com/trilinos/Trilinos/archive/'] +sources = ['%(namelower)s-release-12-14-1.tar.gz'] +patches = [ + ('Trilinos-12.14.1-epetra_hdf5.patch'), + ('Trilinos-12.14.1-thyra_test.patch'), +] + +#preconfigopts = "export FFLAGS='$FFLAGS -fpermissive' && " +#preconfigopts += "export CXXFLAGS='$CXXFLAGS -fpermissive' && " +#preconfigopts += "export CFLAGS='$CFLAGS -fpermissive' && " + +configopts = '-DThyraEpetraAdapters_THYRADEBUGHANG_ENABLE=OFF ' +configopts += '-DEpetraExt_ENABLE_HDF5=OFF ' +configopts += '-DTpetra_INST_SERIAL:BOOL=ON ' + +builddependencies = [ + ('CMake', '3.13.1', '', True), + ('SWIG', '3.0.12', versionsuffix, True), +] + +dependencies = [ + ('Py', '2.7', '', True), + ('Boost', '1.68.0', versionsuffix), + ('SCOTCH', '6.0.6'), + ('SuiteSparse', '5.4.0', '-METIS-5.1.0'), + ('ParMETIS', '4.0.3'), + ('netCDF', '4.6.1'), + ('MATIO', '1.5.12', '', ('GCCcore', '6.3.0')), + ('GLM', '0.9.9.0', '', ('GCCcore', '6.3.0')), + ('X11', '20180604', '', True), +] + +# disable TrilinosCouplings package, doesn't build correctly (examples fail to compile) +skip_exts = ['TrilinosCouplings'] + + +#prebuildopts = "find packages/amesos2 -type f -exec sed -i.bak 's/-lifcoremt_pic/-lifcoremt_pic -lcamd -lccolamd/g' {} + && " +#prebuildopts += "find packages/amesos -type f -exec sed -i.bak 's/-lifcoremt_pic/-lifcoremt_pic -lcamd -lccolamd -lmetis/g' {} + && " +#prebuildopts += "find packages/ifpack -type f -exec sed -i.bak 's/-lifcoremt_pic/-lifcoremt_pic -lcamd -lccolamd -lmetis/g' {} + && " +#prebuildopts += "find packages/ml -type f -exec sed -i.bak 's/-lifcoremt_pic/-lifcoremt_pic -lcamd -lccolamd/g' {} + && " +#prebuildopts += "find packages/belos -type f -exec sed -i.bak 's/-lifcoremt_pic/-lifcoremt_pic -lcamd -lccolamd/g' {} + && " +#prebuildopts += "find packages/moertel -type f -exec sed -i.bak 's/-lifcoremt_pic/-lifcoremt_pic -lcamd -lccolamd/g' {} + && " +#prebuildopts += "find packages/anasazi -type f -exec sed -i.bak 's/-lifcoremt_pic/-lifcoremt_pic -lcamd -lccolamd -lmetis/g' {} + && " + +prebuildopts = "find packages -type f -name link.txt -exec sed -i.bak 's/libcholmod.a/libcholmod.a -lcamd -lccolamd -lmetis/g' {} + && " +prebuildopts += "find packages -type f -name link.txt -exec sed -i.bak 's/-fPIC/-fPIC -fpermissive/g' {} + && " +prebuildopts += "find packages -type f -name flags.make -exec sed -i.bak 's/-fPIC/-fPIC -fpermissive/g' {} + && " + +# 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 -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 = 12 + +moduleclass = 'numlib' diff --git a/t/Trilinos/Trilinos-12.14.1-intel-2017c-Py-2.7.eb b/t/Trilinos/Trilinos-12.14.1-intel-2017c-Py-2.7.eb index 83f26d8c..7198560e 100644 --- a/t/Trilinos/Trilinos-12.14.1-intel-2017c-Py-2.7.eb +++ b/t/Trilinos/Trilinos-12.14.1-intel-2017c-Py-2.7.eb @@ -24,6 +24,8 @@ patches = [ configopts = '-DThyraEpetraAdapters_THYRADEBUGHANG_ENABLE=OFF ' configopts += '-DEpetraExt_ENABLE_HDF5=OFF ' +configopts += '-DMueLu_ENABLE_Epetra:BOOL=OFF ' +configopts += '-DTpetra_INST_SERIAL:BOOL=ON. ' builddependencies = [ ('CMake', '3.13.1', '', True), @@ -35,7 +37,7 @@ dependencies = [ ('Boost', '1.68.0', versionsuffix), ('SCOTCH', '6.0.6'), ('SuiteSparse', '5.4.0', '-METIS-5.1.0'), - ('METIS', '5.1.0', '', True), + ('ParMETIS', '4.0.3'), ('netCDF', '4.6.1'), ('MATIO', '1.5.12', '', ('GCCcore', '6.3.0')), ('GLM', '0.9.9.0', '', ('GCCcore', '6.3.0')), @@ -46,8 +48,15 @@ dependencies = [ skip_exts = ['TrilinosCouplings'] -prebuildopts = "find packages/amesos2/test/solvers -type f -exec sed -i.bak 's/-lifcoremt_pic/-lifcoremt_pic -lcamd -lccolamd/g' {} + && " -prebuildopts += "find packages/amesos/test -type f -exec sed -i.bak 's/-lifcoremt_pic/-lifcoremt_pic -lcamd -lccolamd -lmetis/g' {} + && " +#prebuildopts = "find packages/amesos2 -type f -exec sed -i.bak 's/-lifcoremt_pic/-lifcoremt_pic -lcamd -lccolamd/g' {} + && " +#prebuildopts += "find packages/amesos -type f -exec sed -i.bak 's/-lifcoremt_pic/-lifcoremt_pic -lcamd -lccolamd -lmetis/g' {} + && " +#prebuildopts += "find packages/ifpack -type f -exec sed -i.bak 's/-lifcoremt_pic/-lifcoremt_pic -lcamd -lccolamd -lmetis/g' {} + && " +#prebuildopts += "find packages/ml -type f -exec sed -i.bak 's/-lifcoremt_pic/-lifcoremt_pic -lcamd -lccolamd/g' {} + && " +#prebuildopts += "find packages/belos -type f -exec sed -i.bak 's/-lifcoremt_pic/-lifcoremt_pic -lcamd -lccolamd/g' {} + && " +#prebuildopts += "find packages/moertel -type f -exec sed -i.bak 's/-lifcoremt_pic/-lifcoremt_pic -lcamd -lccolamd/g' {} + && " +#prebuildopts += "find packages/anasazi -type f -exec sed -i.bak 's/-lifcoremt_pic/-lifcoremt_pic -lcamd -lccolamd -lmetis/g' {} + && " + +prebuildopts = "find packages -type f -name link.txt -exec sed -i.bak 's/libcholmod.a/libcholmod.a -lcamd -lccolamd -lmetis/g' {} + && " # workaround for Teuchos.pyc not being found during "make install" # see https://github.com/trilinos/Trilinos/issues/1749