Add sionlib and linktest packages (#20034)

* Add sionlib and linktest packages

* fix flake8
This commit is contained in:
Pramod Kumbhar 2020-11-22 16:22:26 +01:00 committed by GitHub
parent 4609a126ba
commit 92d540fde7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 66 additions and 0 deletions

View File

@ -0,0 +1,36 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
class Linktest(MakefilePackage):
"""Performance tool to generate communication matrix using
parallel ping-pong benchmark"""
homepage = "https://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/LinkTest/_node.html"
url = "http://apps.fz-juelich.de/jsc/linktest/download.php?version=1.2p1"
maintainers = ['pramodk']
version('1.2p1', sha256='981b96da1d5bf214507b8e219a36e8d0183d8bd5c10539b26f660b2c83e5269d', extension='tar.gz')
depends_on('mpi')
depends_on('sionlib')
def edit(self, spec, prefix):
with working_dir('src'):
makefile = FileFilter('Makefile')
makefile.filter('= gcc', '= cc')
makefile.filter('mpicc', spec['mpi'].mpicc)
makefile.filter('#SIONLIB_INST=.*',
'SIONLIB_INST=%s' % spec['sionlib'].prefix)
def build(self, spec, prefix):
with working_dir('src'):
make()
def install(self, spec, prefix):
mkdir(prefix.bin)
install('src/mpilinktest', prefix.bin)
install('src/pingponganalysis', prefix.bin)

View File

@ -0,0 +1,30 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
class Sionlib(AutotoolsPackage):
"""Scalable I/O library for parallel access to task-local files"""
homepage = "https://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/SIONlib/_node.html"
url = "http://apps.fz-juelich.de/jsc/sionlib/download.php?version=1.7.6"
maintainers = ['pramodk']
version('1.7.6', sha256='e85253ed3cd17a3b1c124ccd704caea3ad3c200abfcca9cc0851cb14f5a60691', extension='tar.gz')
depends_on('mpi')
def configure_args(self):
args = []
spec = self.spec
if spec.satisfies('^intel-mpi'):
args.append('--mpi=intel2')
elif spec.satisfies('^mpich') or spec.satisfies('^mvapich2'):
args.append('--mpi=mpich2')
elif spec.satisfies('^openmpi'):
args.append('--mpi=openmpi')
return args