update versions for scalasca and related tools (#3697)

- clean up fetch urls

- inherit from AutotoolsPackage instead of Package

- explicit fPIC flags look suspicious, but leave them in there.

- in scalasca, use the cube version that is implicit from
  the scorep dependency instead of specifying it twice.
This commit is contained in:
Mark Olesen 2017-04-05 21:54:40 +02:00 committed by Adam J. Stewart
parent a813764874
commit aa63bc6f34
4 changed files with 59 additions and 64 deletions

View File

@ -25,7 +25,7 @@
from spack import *
class Opari2(Package):
class Opari2(AutotoolsPackage):
"""OPARI2 is a source-to-source instrumentation tool for OpenMP and hybrid
codes. It surrounds OpenMP directives and runtime library calls with calls
to the POMP2 measurement interface. OPARI2 will provide you with a new
@ -39,14 +39,10 @@ class Opari2(Package):
homepage = "http://www.vi-hps.org/projects/score-p"
url = "http://www.vi-hps.org/upload/packages/opari2/opari2-1.1.2.tar.gz"
version('2.0', '72350dbdb6139f2e68a5055a4f0ba16c',
url='http://www.vi-hps.org/upload/packages/opari2/opari2-2.0.tar.gz')
version('1.1.4', '245d3d11147a06de77909b0805f530c0',
url='http://www.vi-hps.org/upload/packages/opari2/opari2-1.1.4.tar.gz')
version('2.0.1', '74af78f1f27b8caaa4271e0b97fb0fba')
version('2.0', '72350dbdb6139f2e68a5055a4f0ba16c')
version('1.1.4', '245d3d11147a06de77909b0805f530c0')
version('1.1.2', '9a262c7ca05ff0ab5f7775ae96f3539e')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix,
"--enable-shared")
make()
make("install")
def configure_args(self):
return ["--enable-shared"]

View File

@ -26,30 +26,19 @@
from spack import *
class Otf2(Package):
class Otf2(AutotoolsPackage):
"""The Open Trace Format 2 is a highly scalable, memory efficient event
trace data format plus support library.
"""
homepage = "http://www.vi-hps.org/score-p"
homepage = "http://www.vi-hps.org/projects/score-p"
url = "http://www.vi-hps.org/upload/packages/otf2/otf2-1.4.tar.gz"
version('2.0', '5b546188b25bc1c4e285e06dddf75dfc',
url="http://www.vi-hps.org/upload/packages/otf2/otf2-2.0.tar.gz")
version('1.5.1', '16a9df46e0da78e374f5d12c8cdc1109',
url='http://www.vi-hps.org/upload/packages/otf2/otf2-1.5.1.tar.gz')
version('1.4', 'a23c42e936eb9209c4e08b61c3cf5092',
url="http://www.vi-hps.org/upload/packages/otf2/otf2-1.4.tar.gz")
version('1.3.1', 'd0ffc4e858455ace4f596f910e68c9f2',
url="http://www.vi-hps.org/upload/packages/otf2/otf2-1.3.1.tar.gz")
version('1.2.1', '8fb3e11fb7489896596ae2c7c83d7fc8',
url="http://www.vi-hps.org/upload/packages/otf2/otf2-1.2.1.tar.gz")
version('2.0', '5b546188b25bc1c4e285e06dddf75dfc')
version('1.5.1', '16a9df46e0da78e374f5d12c8cdc1109')
version('1.4', 'a23c42e936eb9209c4e08b61c3cf5092')
version('1.3.1', 'd0ffc4e858455ace4f596f910e68c9f2')
version('1.2.1', '8fb3e11fb7489896596ae2c7c83d7fc8')
def install(self, spec, prefix):
configure_args = ["--prefix=%s" % prefix,
"--enable-shared",
"CFLAGS=-fPIC",
"CXXFLAGS=-fPIC"]
configure(*configure_args)
make()
make("install")
def configure_args(self):
return ["--enable-shared", "CFLAGS=-fPIC", "CXXFLAGS=-fPIC"]

View File

@ -26,7 +26,7 @@
from spack import *
class Scalasca(Package):
class Scalasca(AutotoolsPackage):
"""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
@ -38,11 +38,9 @@ class Scalasca(Package):
homepage = "http://www.scalasca.org"
url = "http://apps.fz-juelich.de/scalasca/releases/scalasca/2.1/dist/scalasca-2.1.tar.gz"
version('2.2.2', '2bafce988b0522d18072f7771e491ab9',
url='http://apps.fz-juelich.de/scalasca/releases/scalasca/2.2/dist/scalasca-2.2.2.tar.gz')
version('2.1', 'bab9c2b021e51e2ba187feec442b96e6',
url='http://apps.fz-juelich.de/scalasca/releases/scalasca/2.1/dist/scalasca-2.1.tar.gz')
version('2.3.1', 'a83ced912b9d2330004cb6b9cefa7585')
version('2.2.2', '2bafce988b0522d18072f7771e491ab9')
version('2.1', 'bab9c2b021e51e2ba187feec442b96e6')
depends_on("mpi")
##########
@ -50,17 +48,24 @@ class Scalasca(Package):
# release page
# The OTF2 library path should be detected automatically from SCOREP
# SCALASCA 2.2.2
depends_on("scorep@1.4:", when='@2.2.2')
depends_on("cube@4.3:", when='@2.2.2')
depends_on("scorep@1.4:", when='@2.2.2:')
# Use same cube as scorep does
# -> depends_on("cube@4.3:", when='@2.2.2:')
# SCALASCA 2.1
depends_on("scorep@1.3", when='@2.1')
depends_on("cube@4.2:", when='@2.1')
# Use same cube as scorep does
# -> depends_on("cube@4.2:", when='@2.1')
##########
def install(self, spec, prefix):
configure_args = ["--prefix=%s" % prefix,
"--with-cube=%s" % spec['cube'].prefix.bin,
"--enable-shared"]
configure(*configure_args)
make()
make("install")
def url_for_version(self, version):
return 'http://apps.fz-juelich.de/scalasca/releases/scalasca/{0}/dist/scalasca-{1}.tar.gz'.format(version.up_to(2), version)
def configure_args(self):
spec = self.spec
config_args = ["--enable-shared"]
if 'cube' in spec: # From scorep dependency
config_args.append("--with-cube=%s" % spec['cube'].prefix.bin)
return config_args

View File

@ -25,7 +25,7 @@
from spack import *
class Scorep(Package):
class Scorep(AutotoolsPackage):
"""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.
@ -34,6 +34,7 @@ class Scorep(Package):
homepage = "http://www.vi-hps.org/projects/score-p"
url = "http://www.vi-hps.org/upload/packages/scorep/scorep-2.0.2.tar.gz"
version('3.0', '44da8beaa3f71436a5f6fe51938aab2f')
version('2.0.2', '8f00e79e1b5b96e511c5ebecd10b2888')
version('1.4.2', '3b9a042b13bdd5836452354e6567f71e')
version('1.3', '9db6f957b7f51fa01377a9537867a55c')
@ -41,6 +42,10 @@ class Scorep(Package):
##########
# Dependencies for SCORE-P are quite tight. See the homepage for more
# information.
# SCOREP 3
depends_on('otf2@2:', when='@3:')
depends_on('opari2@2:', when='@3:')
depends_on('cube@4.3:', when='@3:')
# SCOREP 2.0.2
depends_on('otf2@2.0', when='@2.0.2')
depends_on('opari2@2.0', when='@2.0.2')
@ -60,20 +65,20 @@ class Scorep(Package):
variant('shmem', default=False, description='Enable shmem tracing')
def install(self, spec, prefix):
configure = Executable(join_path(self.stage.source_path, 'configure'))
with working_dir('spack-build', create=True):
configure_args = [
"--prefix=%s" % prefix,
"--with-otf2=%s" % spec['otf2'].prefix.bin,
"--with-opari2=%s" % spec['opari2'].prefix.bin,
"--with-cube=%s" % spec['cube'].prefix.bin,
"--with-papi-header=%s" % spec['papi'].prefix.include,
"--with-papi-lib=%s" % spec['papi'].prefix.lib,
"--enable-shared",
"--without-shmem" if '~shmem' in spec else '',
"CFLAGS=-fPIC",
"CXXFLAGS=-fPIC"]
configure(*configure_args)
make()
make("install")
def configure_args(self):
spec = self.spec
config_args = [
"--with-otf2=%s" % spec['otf2'].prefix.bin,
"--with-opari2=%s" % spec['opari2'].prefix.bin,
"--with-cube=%s" % spec['cube'].prefix.bin,
"--with-papi-header=%s" % spec['papi'].prefix.include,
"--with-papi-lib=%s" % spec['papi'].prefix.lib,
"--enable-shared",
]
if '~shmem' in spec:
config_args.append("--without-shmem")
config_args.extend(["CFLAGS=-fPIC", "CXXFLAGS=-fPIC"])
return config_args