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
This commit is contained in:
Lukáš Krupčík 2019-05-09 09:43:36 +02:00
parent 86d1c63b7a
commit e6ac01dbda
15 changed files with 471 additions and 4 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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