Score-P updates for version 8.0 (#35256)

* Add Score-P 8.0 and Cube 4.7/4.8 packages.
* Score-P 8.0 requires 4.8, not 4.7, Cube packages
* Add maintainer
* Add CUDA and HIP variants. Add version checks for CUDA (Score-P 8 requires CUDA 7), ROCm (variant only valid as of Score-P 8), and MPI (Score-P 7 requires at least version 2.2 of the MPI standard).
* Deprecate everything pre-7.0.
* Fix HIP dependencies and enable CUDA and HIP variants for configure.
* Deprecate OTF2 pre-2.3 and Cube pre-4.6
This commit is contained in:
Bill Williams 2023-02-09 19:50:50 +01:00 committed by GitHub
parent 12f43380b9
commit 72f57ffede
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 148 additions and 27 deletions

View file

@ -12,12 +12,34 @@ class Cubelib(AutotoolsPackage):
homepage = "https://www.scalasca.org/software/cube-4.x/download.html" homepage = "https://www.scalasca.org/software/cube-4.x/download.html"
url = "https://apps.fz-juelich.de/scalasca/releases/cube/4.4/dist/cubelib-4.4.tar.gz" url = "https://apps.fz-juelich.de/scalasca/releases/cube/4.4/dist/cubelib-4.4.tar.gz"
version("4.8", sha256="171c93ac5afd6bc74c50a9a58efdaf8589ff5cc1e5bd773ebdfb2347b77e2f68")
version("4.7", sha256="e44352c80a25a49b0fa0748792ccc9f1be31300a96c32de982b92477a8740938")
version("4.6", sha256="36eaffa7688db8b9304c9e48ca5dc4edc2cb66538aaf48657b9b5ccd7979385b") version("4.6", sha256="36eaffa7688db8b9304c9e48ca5dc4edc2cb66538aaf48657b9b5ccd7979385b")
version("4.5", sha256="98f66837b4a834b1aacbcd4480a242d7a8c4a1b8dd44e02e836b8c7a4f0ffd98") version(
version("4.4.4", sha256="adb8216ee3b7701383884417374e7ff946edb30e56640307c65465187dca7512") "4.5",
version("4.4.3", sha256="bcd4fa81a5ba37194e590a5d7c3e6c44b448f5e156a175837b77c21206847a8d") sha256="98f66837b4a834b1aacbcd4480a242d7a8c4a1b8dd44e02e836b8c7a4f0ffd98",
version("4.4.2", sha256="843335c7d238493f1b4cb8e07555ccfe99a3fa521bf162e9d8eaa6733aa1f949") deprecated="true",
version("4.4", sha256="77548e1732fa5e82b13cc8465c8a21349bf42b45a382217d2e70d18576741d5c") )
version(
"4.4.4",
sha256="adb8216ee3b7701383884417374e7ff946edb30e56640307c65465187dca7512",
deprecated="true",
)
version(
"4.4.3",
sha256="bcd4fa81a5ba37194e590a5d7c3e6c44b448f5e156a175837b77c21206847a8d",
deprecated="true",
)
version(
"4.4.2",
sha256="843335c7d238493f1b4cb8e07555ccfe99a3fa521bf162e9d8eaa6733aa1f949",
deprecated="true",
)
version(
"4.4",
sha256="77548e1732fa5e82b13cc8465c8a21349bf42b45a382217d2e70d18576741d5c",
deprecated="true",
)
depends_on("pkgconfig", type="build") depends_on("pkgconfig", type="build")
depends_on("zlib") depends_on("zlib")

View file

@ -12,12 +12,35 @@ class Cubew(AutotoolsPackage):
homepage = "https://www.scalasca.org/software/cube-4.x/download.html" homepage = "https://www.scalasca.org/software/cube-4.x/download.html"
url = "https://apps.fz-juelich.de/scalasca/releases/cube/4.4/dist/cubew-4.4.tar.gz" url = "https://apps.fz-juelich.de/scalasca/releases/cube/4.4/dist/cubew-4.4.tar.gz"
version("4.8", sha256="73c7f9e9681ee45d71943b66c01cfe675b426e4816e751ed2e0b670563ca4cf3")
version("4.7.1", sha256="0d364a4930ca876aa887ec40d12399d61a225dbab69e57379b293516d7b6db8d")
version("4.7", sha256="a7c7fca13e6cb252f08d4380223d7c56a8e86a67de147bcc0279ebb849c884a5")
version("4.6", sha256="99fe58ce7ab13061ebfbc360aedaecc28099a30636c5269a42c0cbaf57149aa8") version("4.6", sha256="99fe58ce7ab13061ebfbc360aedaecc28099a30636c5269a42c0cbaf57149aa8")
version("4.5", sha256="16bd8fd864197a74ca65f7325761ad75d73d555072326e95e1338cff39f28a5c") version(
version("4.4.3", sha256="93fff6cc1e8b0780f0171ef5302a2e1a257f99b6383fbfc1b9b82f925ceff501") "4.5",
version("4.4.2", sha256="31a71e9a05e6523de2b86b4026821bbb75fb411eb5b18ae38b27c1f44158014a") sha256="16bd8fd864197a74ca65f7325761ad75d73d555072326e95e1338cff39f28a5c",
version("4.4.1", sha256="c09e3f5a3533ebedee2cc7dfaacd7bac4680c14c3fa540669466583a23f04b67") deprecated="true",
version("4.4", sha256="b1d6fecb546bc645ced430ea3fc166e85835f3b997d4e5f0dece71919fc95a99") )
version(
"4.4.3",
sha256="93fff6cc1e8b0780f0171ef5302a2e1a257f99b6383fbfc1b9b82f925ceff501",
deprecated="true",
)
version(
"4.4.2",
sha256="31a71e9a05e6523de2b86b4026821bbb75fb411eb5b18ae38b27c1f44158014a",
deprecated="true",
)
version(
"4.4.1",
sha256="c09e3f5a3533ebedee2cc7dfaacd7bac4680c14c3fa540669466583a23f04b67",
deprecated="true",
)
version(
"4.4",
sha256="b1d6fecb546bc645ced430ea3fc166e85835f3b997d4e5f0dece71919fc95a99",
deprecated="true",
)
depends_on("pkgconfig", type="build") depends_on("pkgconfig", type="build")
depends_on("zlib") depends_on("zlib")

View file

@ -17,12 +17,36 @@ class Otf2(AutotoolsPackage):
version("3.0", sha256="6fff0728761556e805b140fd464402ced394a3c622ededdb618025e6cdaa6d8c") version("3.0", sha256="6fff0728761556e805b140fd464402ced394a3c622ededdb618025e6cdaa6d8c")
version("2.3", sha256="36957428d37c40d35b6b45208f050fb5cfe23c54e874189778a24b0e9219c7e3") version("2.3", sha256="36957428d37c40d35b6b45208f050fb5cfe23c54e874189778a24b0e9219c7e3")
version("2.2", sha256="d0519af93839dc778eddca2ce1447b1ee23002c41e60beac41ea7fe43117172d") version(
version("2.1.1", sha256="01591b42e76f396869ffc84672f4eaa90ee8ec2a8939755d9c0b5b8ecdcf47d3") "2.2",
version("2.1", sha256="8ad38ea0461099e34f00f2947af4409ce9b9c379e14c3f449ba162e51ac4cad3") sha256="d0519af93839dc778eddca2ce1447b1ee23002c41e60beac41ea7fe43117172d",
version("2.0", sha256="bafe0ac08e0a13e71568e5774dc83bd305d907159b4ceeb53d2e9f6e29462754") deprecated=True,
version("1.5.1", sha256="a4dc9f6c99376030b43a4c7b1ee77cfb530b03928ea688c6d1a380b3f4e8e488") )
version("1.4", sha256="fb5fe169003c01e40848e224f09c440014e9872e84d2ca02ce7fffdd3f879a2f") version(
"2.1.1",
sha256="01591b42e76f396869ffc84672f4eaa90ee8ec2a8939755d9c0b5b8ecdcf47d3",
deprecated=True,
)
version(
"2.1",
sha256="8ad38ea0461099e34f00f2947af4409ce9b9c379e14c3f449ba162e51ac4cad3",
deprecated=True,
)
version(
"2.0",
sha256="bafe0ac08e0a13e71568e5774dc83bd305d907159b4ceeb53d2e9f6e29462754",
deprecated=True,
)
version(
"1.5.1",
sha256="a4dc9f6c99376030b43a4c7b1ee77cfb530b03928ea688c6d1a380b3f4e8e488",
deprecated=True,
)
version(
"1.4",
sha256="fb5fe169003c01e40848e224f09c440014e9872e84d2ca02ce7fffdd3f879a2f",
deprecated=True,
)
version( version(
"1.3.1", "1.3.1",
sha256="c4605ace845d89fb1a19223137b92cc503b01e3db5eda8c9e0715d0cfcf2e4b9", sha256="c4605ace845d89fb1a19223137b92cc503b01e3db5eda8c9e0715d0cfcf2e4b9",

View file

@ -14,18 +14,56 @@ class Scorep(AutotoolsPackage):
homepage = "https://www.vi-hps.org/projects/score-p" homepage = "https://www.vi-hps.org/projects/score-p"
url = "https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-7.1/scorep-7.1.tar.gz" url = "https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-7.1/scorep-7.1.tar.gz"
maintainers = ["wrwilliams"]
version("8.0", sha256="4c0f34f20999f92ebe6ca1ff706d0846b8ce6cd537ffbedb49dfaef0faa66311")
version("7.1", sha256="98dea497982001fb82da3429ca55669b2917a0858c71abe2cfe7cd113381f1f7") version("7.1", sha256="98dea497982001fb82da3429ca55669b2917a0858c71abe2cfe7cd113381f1f7")
version("7.0", sha256="68f24a68eb6f94eaecf500e17448f566031946deab74f2cba072ee8368af0996") version("7.0", sha256="68f24a68eb6f94eaecf500e17448f566031946deab74f2cba072ee8368af0996")
version("6.0", sha256="5dc1023eb766ba5407f0b5e0845ec786e0021f1da757da737db1fb71fc4236b8") version(
version("5.0", sha256="0651614eacfc92ffbe5264a3efebd0803527ae6e8b11f7df99a56a02c37633e1") "6.0",
version("4.1", sha256="7bb6c1eecdd699b4a3207caf202866778ee01f15ff39a9ec198fcd872578fe63") sha256="5dc1023eb766ba5407f0b5e0845ec786e0021f1da757da737db1fb71fc4236b8",
version("4.0", sha256="c050525606965950ad9b35c14077b88571bcf9bfca08599279a3d8d1bb00e655") deprecated="true",
version("3.1", sha256="49efe8a4e02afca752452809e1b21cba42e8ccb0a0772f936d4459d94e198540") )
version("3.0", sha256="c9e7fe0a8239b3bbbf7628eb15f7e90de9c36557818bf3d01aecce9fec2dc0be") version(
version("2.0.2", sha256="d19498408781048f0e9039a1a245bce6b384f09fbe7d3643105b4e2981ecd610") "5.0",
version("1.4.2", sha256="d7f3fcca2efeb2f5d5b5f183b3b2c4775e66cbb3400ea2da841dd0428713ebac") sha256="0651614eacfc92ffbe5264a3efebd0803527ae6e8b11f7df99a56a02c37633e1",
version("1.3", sha256="dcfd42bd05f387748eeefbdf421cb3cd98ed905e009303d70b5f75b217fd1254") deprecated="true",
)
version(
"4.1",
sha256="7bb6c1eecdd699b4a3207caf202866778ee01f15ff39a9ec198fcd872578fe63",
deprecated="true",
)
version(
"4.0",
sha256="c050525606965950ad9b35c14077b88571bcf9bfca08599279a3d8d1bb00e655",
deprecated="true",
)
version(
"3.1",
sha256="49efe8a4e02afca752452809e1b21cba42e8ccb0a0772f936d4459d94e198540",
deprecated="true",
)
version(
"3.0",
sha256="c9e7fe0a8239b3bbbf7628eb15f7e90de9c36557818bf3d01aecce9fec2dc0be",
deprecated="true",
)
version(
"2.0.2",
sha256="d19498408781048f0e9039a1a245bce6b384f09fbe7d3643105b4e2981ecd610",
deprecated="true",
)
version(
"1.4.2",
sha256="d7f3fcca2efeb2f5d5b5f183b3b2c4775e66cbb3400ea2da841dd0428713ebac",
deprecated="true",
)
version(
"1.3",
sha256="dcfd42bd05f387748eeefbdf421cb3cd98ed905e009303d70b5f75b217fd1254",
deprecated="true",
)
def url_for_version(self, version): def url_for_version(self, version):
if version < Version("7.0"): if version < Version("7.0"):
@ -45,11 +83,16 @@ def url_for_version(self, version):
variant("pdt", default=False, description="Enable PDT") variant("pdt", default=False, description="Enable PDT")
variant("shmem", default=False, description="Enable shmem tracing") variant("shmem", default=False, description="Enable shmem tracing")
variant("unwind", default=False, description="Enable sampling via libunwind and lib wrapping") variant("unwind", default=False, description="Enable sampling via libunwind and lib wrapping")
variant("cuda", default=False, description="Enable CUDA support")
variant("hip", default=False, description="Enable ROCm/HIP support", when="@8.0:")
# 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. Starting with scorep 4.0 / cube 4.4, Score-P only depends on # information. Starting with scorep 4.0 / cube 4.4, Score-P only depends on
# two components of cube -- cubew and cubelib. # two components of cube -- cubew and cubelib.
# SCOREP 8
depends_on("otf2@3:", when="@8:")
depends_on("cubew@4.8:", when="@8:")
depends_on("cubelib@4.8:", when="@8:")
# SCOREP 7 # SCOREP 7
depends_on("otf2@2.3:2.3.99", when="@7:") depends_on("otf2@2.3:2.3.99", when="@7:")
depends_on("cubew@4.6:", when="@7:") depends_on("cubew@4.6:", when="@7:")
@ -78,12 +121,17 @@ def url_for_version(self, version):
depends_on("opari2@1.1.4", when="@1.3") depends_on("opari2@1.1.4", when="@1.3")
depends_on("cube@4.2.3", when="@1.3") depends_on("cube@4.2.3", when="@1.3")
depends_on("mpi@2.2:", when="@7.0:+mpi")
depends_on("mpi", when="+mpi") depends_on("mpi", when="+mpi")
depends_on("papi", when="+papi") depends_on("papi", when="+papi")
depends_on("pdt", when="+pdt") depends_on("pdt", when="+pdt")
depends_on("llvm", when="+unwind") depends_on("llvm", when="+unwind")
depends_on("libunwind", when="+unwind") depends_on("libunwind", when="+unwind")
depends_on("cuda@7:", when="@8.0:+cuda")
depends_on("cuda", when="+cuda")
depends_on("hip@4.2:", when="+hip")
depends_on("rocprofiler-dev", when="+hip")
depends_on("rocm-smi-lib", when="+hip")
# Score-P requires a case-sensitive file system, and therefore # Score-P requires a case-sensitive file system, and therefore
# does not work on macOS # does not work on macOS
# https://github.com/spack/spack/issues/1609 # https://github.com/spack/spack/issues/1609
@ -117,6 +165,10 @@ def configure_args(self):
if "+unwind" in spec: if "+unwind" in spec:
config_args.append("--with-libunwind=%s" % spec["libunwind"].prefix) config_args.append("--with-libunwind=%s" % spec["libunwind"].prefix)
if "+cuda" in spec:
config_args.append("--with-libcuda=%s" % spec["cuda"].prefix)
if "+hip" in spec:
config_args.append("--with-rocm=%s" % spec["hip"].prefix)
config_args += self.with_or_without("shmem") config_args += self.with_or_without("shmem")
if not spec.satisfies("platform=cray"): if not spec.satisfies("platform=cray"):