Skip to content

scorep/9 #201

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,12 @@ uenvs:
recipes:
a100: v7.5/a100
develop: True
scorep:
"9.0.rc2":
recipes:
zen2: 9.0.rc2/mc
deploy:
eiger: [zen2]
vasp:
"v6.4.2":
recipes:
Expand Down
5 changes: 5 additions & 0 deletions recipes/scorep/9.0-rc2/mc/compilers.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
bootstrap:
spec: gcc@12
gcc:
specs:
- gcc@12
6 changes: 6 additions & 0 deletions recipes/scorep/9.0-rc2/mc/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: scorep
store: /user-tools
spack:
repo: https://github.com/spack/spack.git
commit: v0.23.1
modules: True
33 changes: 33 additions & 0 deletions recipes/scorep/9.0-rc2/mc/environments.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
scorep:
compiler:
- toolchain: gcc
spec: gcc@12
unify: when_possible
mpi:
spec: [email protected]
gpu: Null
specs:
- [email protected] ~cuda +mpi +papi +gotcha +unwind ^libunwind ^binutils +libiberty
# uenv build scorep/9.0.rc2/mc score/9.0.rc2@eiger%zen2
#del ./configure --prefix=/capstor/store/cscs/cscs/csstaff/piccinal/SPACK/spack.git.eiger/DEL/install \
#del --with-otf2 \
#del --with-opari2 \
#del --with-cubew \
#del --with-cubelib \
#del --with-libunwind-include=$P3/include \
#del --with-libunwind-lib=$P3/lib \
#del --with-libbfd-include=$P2/include \
#del --with-libbfd-lib=$P2/lib \
#del --with-libgotcha=download
#del
#del variants:
#del - +mpi
#del - ~cuda
#del - +openmp
#del - ~rocm
views:
scorep:
link: roots
develop:
link: roots
exclude: ["scorep"]
20 changes: 20 additions & 0 deletions recipes/scorep/9.0-rc2/mc/extra/reframe.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
scorep:
features:
- scorep
- mpi
cc: mpicc
cxx: mpic++
ftn: mpifort
views:
- scorep
#
develop:
features:
- scorep
- mpi
cc: mpicc
cxx: mpic++
ftn: mpifort
views:
- develop

21 changes: 21 additions & 0 deletions recipes/scorep/9.0-rc2/mc/modules.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
modules:
prefix_inspections:
bin:
- PATH
lib:
- LD_LIBRARY_PATH
lib64:
- LD_LIBRARY_PATH

default:
arch_folder: false
roots:
tcl: /user-tools/modules
tcl:
all:
autoload: none
hash_length: 0
exclude_implicits: true
exclude: ['%[email protected]', 'gcc %[email protected]']
projections:
all: '{name}/{version}'
67 changes: 67 additions & 0 deletions recipes/scorep/9.0-rc2/mc/repo/packages/cubelib/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Copyright 2013-2024 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)

from spack.package import *


class Cubelib(AutotoolsPackage):
"""Component of CubeBundle: General purpose C++ library and tools"""

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"

maintainers("swat-jsc", "wrwilliams")

version("4.9", sha256="a0658f5bf3f74bf7dcf465ab6e30476751ad07eb93618801bdcf190ba3029443")
version("4.8.2", sha256="d6fdef57b1bc9594f1450ba46cf08f431dd0d4ae595c47e2f3454e17e4ae74f4")
version("4.8.1", sha256="e4d974248963edab48c5d0fc5831146d391b0ae4632cccafe840bf5f12cd80a9")
version("4.8", sha256="171c93ac5afd6bc74c50a9a58efdaf8589ff5cc1e5bd773ebdfb2347b77e2f68")
version("4.7.1", sha256="62cf33a51acd9a723fff9a4a5411cd74203e24e0c4ffc5b9e82e011778ed4f2f")
version("4.7", sha256="e44352c80a25a49b0fa0748792ccc9f1be31300a96c32de982b92477a8740938")
version("4.6", sha256="36eaffa7688db8b9304c9e48ca5dc4edc2cb66538aaf48657b9b5ccd7979385b")
version(
"4.5",
sha256="98f66837b4a834b1aacbcd4480a242d7a8c4a1b8dd44e02e836b8c7a4f0ffd98",
deprecated="true",
)
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("c", type="build") # generated
depends_on("cxx", type="build") # generated

depends_on("pkgconfig", type="build")
depends_on("zlib-api")

def url_for_version(self, version):
url = "http://apps.fz-juelich.de/scalasca/releases/cube/{0}/dist/cubelib-{1}.tar.gz"

return url.format(version.up_to(2), version)

def configure_args(self):
configure_args = ["--enable-shared"]
configure_args.append("--with-frontend-zlib=%s" % self.spec["zlib-api"].prefix.lib)
return configure_args

def install(self, spec, prefix):
make("install", parallel=False)
69 changes: 69 additions & 0 deletions recipes/scorep/9.0-rc2/mc/repo/packages/cubew/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Copyright 2013-2024 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)

from spack.package import *


class Cubew(AutotoolsPackage):
"""Component of CubeBundle: High performance C Writer library"""

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"

maintainers("swat-jsc", "wrwilliams")

version("4.9", sha256="4ef74e81c569bf53117459cba5a1ea52b5dac739493fa83be39678840cd2acdd")
version("4.8.2", sha256="4f3bcf0622c2429b8972b5eb3f14d79ec89b8161e3c1cc5862ceda417d7975d2")
version("4.8.1", sha256="42cbd743d87c16e805c8e28e79292ab33de259f2cfba46f2682cb35c1bc032d6")
version("4.8", sha256="73c7f9e9681ee45d71943b66c01cfe675b426e4816e751ed2e0b670563ca4cf3")
version("4.7.1", sha256="0d364a4930ca876aa887ec40d12399d61a225dbab69e57379b293516d7b6db8d")
version("4.7", sha256="a7c7fca13e6cb252f08d4380223d7c56a8e86a67de147bcc0279ebb849c884a5")
version("4.6", sha256="99fe58ce7ab13061ebfbc360aedaecc28099a30636c5269a42c0cbaf57149aa8")
version(
"4.5",
sha256="16bd8fd864197a74ca65f7325761ad75d73d555072326e95e1338cff39f28a5c",
deprecated="true",
)
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("c", type="build") # generated
depends_on("cxx", type="build") # generated

depends_on("pkgconfig", type="build")
depends_on("zlib-api")

def url_for_version(self, version):
url = "http://apps.fz-juelich.de/scalasca/releases/cube/{0}/dist/cubew-{1}.tar.gz"

return url.format(version.up_to(2), version)

def configure_args(self):
configure_args = ["--enable-shared"]
configure_args.append("--with-frontend-zlib=%s" % self.spec["zlib-api"].prefix.lib)
configure_args.append("--with-backend-zlib=%s" % self.spec["zlib-api"].prefix.lib)

return configure_args

def install(self, spec, prefix):
make("install", parallel=True)
149 changes: 149 additions & 0 deletions recipes/scorep/9.0-rc2/mc/repo/packages/libunwind/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
# Copyright 2013-2024 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)

from spack.package import *


class Libunwind(AutotoolsPackage):
"""A portable and efficient C programming interface (API) to determine
the call-chain of a program."""

homepage = "https://www.nongnu.org/libunwind/"
url = "https://github.com/libunwind/libunwind/releases/download/v0.0.0/libunwind-0.0.0.tar.gz"
git = "https://github.com/libunwind/libunwind"
maintainers("mwkrentel")

license("MIT")

version("master", branch="master")
version("1.8-stable", branch="v1.8-stable")
version("1.8.1", sha256="ddf0e32dd5fafe5283198d37e4bf9decf7ba1770b6e7e006c33e6df79e6a6157")
version("1.7-stable", branch="v1.7-stable")
version("1.7.2", sha256="a18a6a24307443a8ace7a8acc2ce79fbbe6826cd0edf98d6326d0225d6a5d6e6")
version("1.6-stable", branch="v1.6-stable")
version("1.6.2", sha256="4a6aec666991fb45d0889c44aede8ad6eb108071c3554fcdff671f9c94794976")
version("1.5.0", sha256="90337653d92d4a13de590781371c604f9031cdb50520366aa1e3a91e1efb1017")
version("1.4.0", sha256="df59c931bd4d7ebfd83ee481c943edf015138089b8e50abed8d9c57ba9338435")
version("1.3.1", sha256="43997a3939b6ccdf2f669b50fdb8a4d3205374728c2923ddc2354c65260214f8")
version("1.2.1", sha256="3f3ecb90e28cbe53fba7a4a27ccce7aad188d3210bb1964a923a731a27a75acb")

depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated

variant("docs", default=True, description="Build man page")
variant(
"libs",
default="shared,static",
values=("shared", "static"),
multi=True,
description="Build shared libs, static libs or both",
)
variant("pic", default=False, description="Compile with position independent code.")
variant("tests", default=True, description="Build tests")

variant(
"block_signals",
default=False,
description="Block signals before performing mutex operations",
)

variant(
"components",
values=any_combination_of("coredump", "ptrace", "setjmp"),
description="Build specified libunwind libraries",
)

variant(
"conservative_checks",
default=False,
description="Validate all memory addresses before use",
)

variant("cxx_exceptions", default=False, description="Use libunwind to handle C++ exceptions")

variant("debug", default=False, description="Turn on debug support (slows down execution)")

variant(
"debug_frame", default=False, description='Load the ".debug_frame" section if available'
)

variant("weak_backtrace", default=True, description="Provide the weak 'backtrace' symbol")

variant("xz", default=False, description="Support xz (lzma) compressed symbol tables.")

variant(
"zlib",
default=False,
description="Support zlib compressed symbol tables " "(1.5 and later).",
)

# The libunwind releases contain the autotools generated files,
# but the git repo snapshots do not.
reconf_versions = "@master,1.6-stable,1.7-stable,1.8-stable"
depends_on("autoconf", type="build", when=reconf_versions)
depends_on("automake", type="build", when=reconf_versions)
depends_on("libtool", type="build", when=reconf_versions)
depends_on("m4", type="build", when=reconf_versions)

depends_on("xz", type="link", when="+xz")
depends_on("zlib-api", type="link", when="+zlib")

conflicts("platform=darwin", msg="Non-GNU libunwind needs ELF libraries Darwin does not have")

# Introduced in https://github.com/libunwind/libunwind/pull/555, fixed in
# https://github.com/libunwind/libunwind/pull/723
conflicts("target=ppc64:", when="@1.8")
conflicts("target=ppc64le:", when="@1.8")

conflicts("target=aarch64:", when="@1.8:")

provides("unwind")

def url_for_version(self, version):
if version == Version("1.5.0"):
return f"https://github.com/libunwind/libunwind/releases/download/v{version.up_to(2)}/libunwind-{version}.tar.gz"
else:
return super().url_for_version(version)

def flag_handler(self, name, flags):
wrapper_flags = []

if name == "cflags":
# https://github.com/libunwind/libunwind/pull/166
if (
self.spec.satisfies("@:1.4 %gcc@10:")
or self.spec.satisfies("@:1.4 %cce@11:")
or self.spec.satisfies("@:1.4 %clang@11:")
):
wrapper_flags.append("-fcommon")

if self.spec.satisfies("+pic"):
wrapper_flags.append(self.compiler.cc_pic_flag)

return (wrapper_flags, None, flags)

def configure_args(self):
spec = self.spec
args = []

args += self.enable_or_disable("documentation", variant="docs")
args += self.enable_or_disable("libs")
args += self.enable_or_disable("tests")

args += self.enable_or_disable("block-signals", variant="block_signals")
args += self.enable_or_disable("components")
args += self.enable_or_disable("conservative-checks", variant="conservative_checks")
args += self.enable_or_disable("cxx-exceptions", variant="cxx_exceptions")
args += self.enable_or_disable("debug")
args += self.enable_or_disable("debug-frame", variant="debug_frame")
args += self.enable_or_disable("minidebuginfo", variant="xz")
# building without weak backtrace symbol is possible in 1.5.x and later
if self.spec.satisfies("@1.5:"):
args += self.enable_or_disable("weak-backtrace", variant="weak_backtrace")
# zlib support is available in 1.5.x and later
if spec.satisfies("@1.5:"):
args += self.enable_or_disable("zlibdebuginfo", variant="zlib")

return args
Loading