Add sionlib and linktest packages (#20034)
* Add sionlib and linktest packages * fix flake8
This commit is contained in:
parent
4609a126ba
commit
92d540fde7
36
var/spack/repos/builtin/packages/linktest/package.py
Normal file
36
var/spack/repos/builtin/packages/linktest/package.py
Normal 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)
|
30
var/spack/repos/builtin/packages/sionlib/package.py
Normal file
30
var/spack/repos/builtin/packages/sionlib/package.py
Normal 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
|
Loading…
Reference in New Issue
Block a user