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

View File

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

View File

@ -26,7 +26,7 @@
from spack import * from spack import *
class Scalasca(Package): class Scalasca(AutotoolsPackage):
"""Scalasca is a software tool that supports the performance optimization """Scalasca is a software tool that supports the performance optimization
of parallel programs by measuring and analyzing their runtime of parallel programs by measuring and analyzing their runtime
behavior. The analysis identifies potential performance behavior. The analysis identifies potential performance
@ -38,11 +38,9 @@ class Scalasca(Package):
homepage = "http://www.scalasca.org" homepage = "http://www.scalasca.org"
url = "http://apps.fz-juelich.de/scalasca/releases/scalasca/2.1/dist/scalasca-2.1.tar.gz" url = "http://apps.fz-juelich.de/scalasca/releases/scalasca/2.1/dist/scalasca-2.1.tar.gz"
version('2.2.2', '2bafce988b0522d18072f7771e491ab9', version('2.3.1', 'a83ced912b9d2330004cb6b9cefa7585')
url='http://apps.fz-juelich.de/scalasca/releases/scalasca/2.2/dist/scalasca-2.2.2.tar.gz') version('2.2.2', '2bafce988b0522d18072f7771e491ab9')
version('2.1', 'bab9c2b021e51e2ba187feec442b96e6')
version('2.1', 'bab9c2b021e51e2ba187feec442b96e6',
url='http://apps.fz-juelich.de/scalasca/releases/scalasca/2.1/dist/scalasca-2.1.tar.gz')
depends_on("mpi") depends_on("mpi")
########## ##########
@ -50,17 +48,24 @@ class Scalasca(Package):
# release page # release page
# The OTF2 library path should be detected automatically from SCOREP # The OTF2 library path should be detected automatically from SCOREP
# SCALASCA 2.2.2 # SCALASCA 2.2.2
depends_on("scorep@1.4:", when='@2.2.2') depends_on("scorep@1.4:", when='@2.2.2:')
depends_on("cube@4.3:", when='@2.2.2') # Use same cube as scorep does
# -> depends_on("cube@4.3:", when='@2.2.2:')
# SCALASCA 2.1 # SCALASCA 2.1
depends_on("scorep@1.3", when='@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): def url_for_version(self, version):
configure_args = ["--prefix=%s" % prefix, return 'http://apps.fz-juelich.de/scalasca/releases/scalasca/{0}/dist/scalasca-{1}.tar.gz'.format(version.up_to(2), version)
"--with-cube=%s" % spec['cube'].prefix.bin,
"--enable-shared"] def configure_args(self):
configure(*configure_args) spec = self.spec
make()
make("install") 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 * from spack import *
class Scorep(Package): class Scorep(AutotoolsPackage):
"""The Score-P measurement infrastructure is a highly scalable and """The Score-P measurement infrastructure is a highly scalable and
easy-to-use tool suite for profiling, event tracing, and online analysis easy-to-use tool suite for profiling, event tracing, and online analysis
of HPC applications. of HPC applications.
@ -34,6 +34,7 @@ class Scorep(Package):
homepage = "http://www.vi-hps.org/projects/score-p" homepage = "http://www.vi-hps.org/projects/score-p"
url = "http://www.vi-hps.org/upload/packages/scorep/scorep-2.0.2.tar.gz" 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('2.0.2', '8f00e79e1b5b96e511c5ebecd10b2888')
version('1.4.2', '3b9a042b13bdd5836452354e6567f71e') version('1.4.2', '3b9a042b13bdd5836452354e6567f71e')
version('1.3', '9db6f957b7f51fa01377a9537867a55c') version('1.3', '9db6f957b7f51fa01377a9537867a55c')
@ -41,6 +42,10 @@ class Scorep(Package):
########## ##########
# Dependencies for SCORE-P are quite tight. See the homepage for more # Dependencies for SCORE-P are quite tight. See the homepage for more
# information. # 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 # SCOREP 2.0.2
depends_on('otf2@2.0', when='@2.0.2') depends_on('otf2@2.0', when='@2.0.2')
depends_on('opari2@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') variant('shmem', default=False, description='Enable shmem tracing')
def install(self, spec, prefix): def configure_args(self):
configure = Executable(join_path(self.stage.source_path, 'configure')) spec = self.spec
with working_dir('spack-build', create=True):
configure_args = [ config_args = [
"--prefix=%s" % prefix, "--with-otf2=%s" % spec['otf2'].prefix.bin,
"--with-otf2=%s" % spec['otf2'].prefix.bin, "--with-opari2=%s" % spec['opari2'].prefix.bin,
"--with-opari2=%s" % spec['opari2'].prefix.bin, "--with-cube=%s" % spec['cube'].prefix.bin,
"--with-cube=%s" % spec['cube'].prefix.bin, "--with-papi-header=%s" % spec['papi'].prefix.include,
"--with-papi-header=%s" % spec['papi'].prefix.include, "--with-papi-lib=%s" % spec['papi'].prefix.lib,
"--with-papi-lib=%s" % spec['papi'].prefix.lib, "--enable-shared",
"--enable-shared", ]
"--without-shmem" if '~shmem' in spec else '',
"CFLAGS=-fPIC", if '~shmem' in spec:
"CXXFLAGS=-fPIC"] config_args.append("--without-shmem")
configure(*configure_args)
make() config_args.extend(["CFLAGS=-fPIC", "CXXFLAGS=-fPIC"])
make("install") return config_args