Skip to content

Commit

Permalink
Testing what happens when numpy version number is removed
Browse files Browse the repository at this point in the history
  • Loading branch information
ldowen committed May 9, 2024
1 parent d71c5f7 commit 4692ddf
Show file tree
Hide file tree
Showing 2 changed files with 99 additions and 65 deletions.
162 changes: 98 additions & 64 deletions scripts/spack/packages/caliper/package.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# 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)

import os
import sys

from llnl.util import tty

from spack.package import *


Expand All @@ -20,32 +18,68 @@ class Caliper(CMakePackage, CudaPackage, ROCmPackage):

homepage = "https://github.com/LLNL/Caliper"
git = "https://github.com/LLNL/Caliper.git"
url = "https://github.com/LLNL/Caliper/archive/v2.8.0.tar.gz"
url = "https://github.com/LLNL/Caliper/archive/v2.11.0.tar.gz"
tags = ["e4s", "radiuss"]

maintainers = ["daboehme"]
maintainers("daboehme")

test_requires_compiler = True

license("BSD-3-Clause")

version("master", branch="master")
version("2.11.0", sha256="b86b733cbb73495d5f3fe06e6a9885ec77365c8aa9195e7654581180adc2217c")
version("2.10.0", sha256="14c4fb5edd5e67808d581523b4f8f05ace8549698c0e90d84b53171a77f58565")
version("2.9.1", sha256="4771d630de505eff9227e0ec498d0da33ae6f9c34df23cb201b56181b8759e9e")
version("2.9.0", sha256="507ea74be64a2dfd111b292c24c4f55f459257528ba51a5242313fa50978371f")
version("2.8.0", sha256="17807b364b5ac4b05997ead41bd173e773f9a26ff573ff2fe61e0e70eab496e4")
version("2.7.0", sha256="b3bf290ec2692284c6b4f54cc0c507b5700c536571d3e1a66e56626618024b2b")
version("2.6.0", sha256="6efcd3e4845cc9a6169e0d934840766b12182c6d09aa3ceca4ae776e23b6360f")
version("2.5.0", sha256="d553e60697d61c53de369b9ca464eb30710bda90fba9671201543b64eeac943c")
version("2.4.0", tag="v2.4.0")
version("2.3.0", tag="v2.3.0")
version("2.2.0", tag="v2.2.0")
version("2.1.1", tag="v2.1.1")
version("2.0.1", tag="v2.0.1")
version("1.9.1", tag="v1.9.1")
version("1.9.0", tag="v1.9.0")
version("1.8.0", tag="v1.8.0")
version("1.7.0", tag="v1.7.0")
version(
"2.7.0",
sha256="b3bf290ec2692284c6b4f54cc0c507b5700c536571d3e1a66e56626618024b2b",
deprecated=True,
)
version(
"2.6.0",
sha256="6efcd3e4845cc9a6169e0d934840766b12182c6d09aa3ceca4ae776e23b6360f",
deprecated=True,
)
version(
"2.5.0",
sha256="d553e60697d61c53de369b9ca464eb30710bda90fba9671201543b64eeac943c",
deprecated=True,
)
version(
"2.4.0", tag="v2.4.0", commit="30577b4b8beae104b2b35ed487fec52590a99b3d", deprecated=True
)
version(
"2.3.0", tag="v2.3.0", commit="9fd89bb0120750d1f9dfe37bd963e24e478a2a20", deprecated=True
)
version(
"2.2.0", tag="v2.2.0", commit="c408e9b3642c7aa80eff37b0826d819c57e7bc04", deprecated=True
)
version(
"2.1.1", tag="v2.1.1", commit="0593b0e01c1d8d3e50c990399cc0fee403485599", deprecated=True
)
version(
"2.0.1", tag="v2.0.1", commit="4d7ff46381c53a461e62edd949e2d9dea9db7b08", deprecated=True
)
version(
"1.9.1", tag="v1.9.1", commit="cfc1defbbee20b50dd3e3477badd09a92b1df970", deprecated=True
)
version(
"1.9.0", tag="v1.9.0", commit="8356e747349b285aa621c5b74e71559f0babc4a1", deprecated=True
)
version(
"1.8.0", tag="v1.8.0", commit="117c1ef596b617dc71407b8b67eebef094a654f8", deprecated=True
)
version(
"1.7.0", tag="v1.7.0", commit="898277c93d884d4e7ca1ffcf3bbea81d22364f26", deprecated=True
)

is_linux = sys.platform.startswith("linux")
variant("shared", default=True, description="Build shared libraries")
variant("adiak", default=True, description="Enable Adiak support")
variant("mpi", default=True, description="Enable MPI wrappers")
variant("mpi", default=True, description="Enable MPI support")
# libunwind has some issues on Mac
variant(
"libunwind", default=sys.platform != "darwin", description="Enable stack unwind support"
Expand All @@ -59,43 +93,51 @@ class Caliper(CMakePackage, CudaPackage, ROCmPackage):
variant("sampler", default=is_linux, description="Enable sampling support on Linux")
variant("sosflow", default=False, description="Enable SOSflow support")
variant("fortran", default=False, description="Enable Fortran support")
variant("pic", default=True, description="Produce position-independent code (for shared libs)")
variant("variorum", default=False, description="Enable Variorum support")
variant("kokkos", default=True, when="@2.3.0:", description="Enable Kokkos profiling support")
variant("tests", default=False, description="Enable tests")
variant("pic", default=True, description="Turn on -fPIC")

depends_on("[email protected]:0", when="@2.2: +adiak")
depends_on("[email protected]:0", when="@2.2:2.10 +adiak")
depends_on("[email protected]:0", when="@2.11: +adiak")

depends_on("[email protected]:5", when="@:2.2 +papi")
depends_on("[email protected]:6", when="@2.3: +papi")
depends_on("[email protected]:", when="@2.3: +papi")

depends_on("[email protected]:4", when="+libpfm")

depends_on("mpi", when="+mpi")
depends_on("[email protected]:1", when="+libunwind")
depends_on("elfutils", when="+libdw")
depends_on("variorum", when="+variorum")

depends_on("sosflow@spack", when="@1.0:1+sosflow")

depends_on("cmake", type="build")
depends_on("python", type="build")

# sosflow support not yet in 2.0
conflicts("+sosflow", "@2.0.0:2.8")
conflicts("+sosflow", "@2.0.0:2.11")
conflicts("+adiak", "@:2.1")
conflicts("+libdw", "@:2.4")
conflicts("+rocm", "@:2.7")
conflicts("+rocm+cuda")

patch("for_aarch64.patch", when="target=aarch64:")
patch(
"sampler-service-missing-libunwind-include-dir.patch",
when="@2.9.0:2.9.1 +libunwind +sampler",
)

def setup_build_environment(self, env):
if '+pic' in self.spec:
env.append_flags('CFLAGS', self.compiler.cc_pic_flag)
env.append_flags('CXXFLAGS', self.compiler.cxx_pic_flag)

def cmake_args(self):
spec = self.spec

args = [
("-DPYTHON_EXECUTABLE=%s" % spec["python"].command.path),
"-DBUILD_TESTING=Off",
"-DBUILD_DOCS=Off",
self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
Expand All @@ -112,7 +154,9 @@ def cmake_args(self):
self.define_from_variant("WITH_NVTX", "cuda"),
self.define_from_variant("WITH_ROCTRACER", "rocm"),
self.define_from_variant("WITH_ROCTX", "rocm"),
self.define_from_variant("WITH_PIC", "pic"),
self.define_from_variant("WITH_VARIORUM", "variorum"),
self.define_from_variant("WITH_KOKKOS", "kokkos"),
self.define_from_variant("WITH_PIC", "pic")
]

if "+papi" in spec:
Expand All @@ -123,6 +167,8 @@ def cmake_args(self):
args.append("-DLIBPFM_INSTALL=%s" % spec["libpfm4"].prefix)
if "+sosflow" in spec:
args.append("-DSOS_PREFIX=%s" % spec["sosflow"].prefix)
if "+variorum" in spec:
args.append("-DVARIORUM_PREFIX=%s" % spec["variorum"].prefix)

# -DWITH_CALLPATH was renamed -DWITH_LIBUNWIND in 2.5
callpath_flag = "LIBUNWIND" if spec.satisfies("@2.5:") else "CALLPATH"
Expand All @@ -143,6 +189,7 @@ def cmake_args(self):
args.append("-DCUPTI_PREFIX=%s" % spec["cuda"].prefix)

if "+rocm" in spec:
args.append("-DCMAKE_CXX_COMPILER={0}".format(spec["hip"].hipcc))
args.append("-DROCM_PREFIX=%s" % spec["hsa-rocr-dev"].prefix)

if "+pic" in spec:
Expand All @@ -156,44 +203,31 @@ def cache_test_sources(self):
install test subdirectory for use during `spack test run`."""
self.cache_extra_test_sources([join_path("examples", "apps")])

def run_cxx_example_test(self):
"""Run stand alone test: cxx_example"""
def test_cxx_example(self):
"""build and run cxx-example"""

test_dir = self.test_suite.current_test_cache_dir.examples.apps
exe = "cxx-example"
source_file = "cxx-example.cpp"

if not os.path.isfile(join_path(test_dir, source_file)):
tty.warn("Skipping caliper test:" "{0} does not exist".format(source_file))
return

if os.path.exists(self.prefix.lib):
lib_dir = self.prefix.lib
else:
lib_dir = self.prefix.lib64

options = [
"-L{0}".format(lib_dir),
"-I{0}".format(self.prefix.include),
"{0}".format(join_path(test_dir, source_file)),
"-o",
exe,
"-std=c++11",
"-lcaliper",
"-lstdc++",
]

if not self.run_test(
exe=os.environ["CXX"],
options=options,
purpose="test: compile {0} example".format(exe),
work_dir=test_dir,
):
tty.warn("Skipping caliper test: failed to compile example")
return

if not self.run_test(exe, purpose="test: run {0} example".format(exe), work_dir=test_dir):
tty.warn("Skipping caliper test: failed to run example")

def test(self):
self.run_cxx_example_test()
source_file = "{0}.cpp".format(exe)

source_path = find_required_file(
self.test_suite.current_test_cache_dir, source_file, expected=1, recursive=True
)

lib_dir = self.prefix.lib if os.path.exists(self.prefix.lib) else self.prefix.lib64

cxx = which(os.environ["CXX"])
test_dir = os.path.dirname(source_path)
with working_dir(test_dir):
cxx(
"-L{0}".format(lib_dir),
"-I{0}".format(self.prefix.include),
source_path,
"-o",
exe,
"-std=c++11",
"-lcaliper",
"-lstdc++",
)

cxx_example = which(exe)
cxx_example()
2 changes: 1 addition & 1 deletion scripts/spack/packages/spheral/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ class Spheral(CachedCMakePackage, CudaPackage):

extends('[email protected] +zlib +shared +ssl +tkinter', type='build')

depends_on('py-numpy@1.23.4', type='build')
depends_on('py-numpy', type='build')
depends_on('py-numpy-stl', type='build')
depends_on('py-pillow', type='build')
depends_on('py-matplotlib backend=tkagg +fonts', type='build')
Expand Down

0 comments on commit 4692ddf

Please sign in to comment.