hpctoolkit: add version 2022.10.01 (#33078)
* hpctoolkit: add version 2022.10.01 1. add version 2022.10.01 2. remove version for master branch, develop is now the main branch 3. add CPATH and LD_LIBRARY_PATH to module run environment, this is for apps that want to use the start/stop interface 4. cleanup style in variants, depends and conflicts 5. remove all-static variant, nothing uses it 6. deprecate more old versions * [@spackbot] updating style on behalf of mwkrentel * Add when(+level_zero) to the gtpin variant. * Test commit to see if this passes E4S. * Another test commit to see if E4S succeeds. * Add temporary hack to ignore +mpi for version 2022.10.01 and issue a warning instead. Co-authored-by: mwkrentel <mwkrentel@users.noreply.github.com>
This commit is contained in:
parent
be293ceb7a
commit
c7472c849f
@ -25,18 +25,18 @@ class Hpctoolkit(AutotoolsPackage):
|
||||
test_requires_compiler = True
|
||||
|
||||
version("develop", branch="develop")
|
||||
version("master", branch="master")
|
||||
version("2022.10.01", commit="e8a5cc87e8f5ddfd14338459a4106f8e0d162c83")
|
||||
version("2022.05.15", commit="8ac72d9963c4ed7b7f56acb65feb02fbce353479")
|
||||
version("2022.04.15", commit="a92fdad29fc180cc522a9087bba9554a829ee002")
|
||||
version("2022.01.15", commit="0238e9a052a696707e4e65b2269f342baad728ae")
|
||||
version("2021.10.15", commit="a8f289e4dc87ff98e05cfc105978c09eb2f5ea16")
|
||||
version("2021.05.15", commit="004ea0c2aea6a261e7d5d216c24f8a703fc6c408")
|
||||
version("2021.03.01", commit="68a051044c952f0f4dac459d9941875c700039e7")
|
||||
version("2020.08.03", commit="d9d13c705d81e5de38e624254cf0875cce6add9a")
|
||||
version("2020.07.21", commit="4e56c780cffc53875aca67d6472a2fb3678970eb")
|
||||
version("2020.06.12", commit="ac6ae1156e77d35596fea743ed8ae768f7222f19")
|
||||
version("2020.03.01", commit="94ede4e6fa1e05e6f080be8dc388240ea027f769")
|
||||
version("2019.12.28", commit="b4e1877ff96069fd8ed0fdf0e36283a5b4b62240")
|
||||
version("2021.03.01", commit="68a051044c952f0f4dac459d9941875c700039e7", deprecated=True)
|
||||
version("2020.08.03", commit="d9d13c705d81e5de38e624254cf0875cce6add9a", deprecated=True)
|
||||
version("2020.07.21", commit="4e56c780cffc53875aca67d6472a2fb3678970eb", deprecated=True)
|
||||
version("2020.06.12", commit="ac6ae1156e77d35596fea743ed8ae768f7222f19", deprecated=True)
|
||||
version("2020.03.01", commit="94ede4e6fa1e05e6f080be8dc388240ea027f769", deprecated=True)
|
||||
version("2019.12.28", commit="b4e1877ff96069fd8ed0fdf0e36283a5b4b62240", deprecated=True)
|
||||
version("2019.08.14", commit="6ea44ed3f93ede2d0a48937f288a2d41188a277c", deprecated=True)
|
||||
version("2018.12.28", commit="8dbf0d543171ffa9885344f32f23cc6f7f6e39bc", deprecated=True)
|
||||
version("2018.11.05", commit="d0c43e39020e67095b1f1d8bb89b75f22b12aee9", deprecated=True)
|
||||
@ -52,7 +52,12 @@ class Hpctoolkit(AutotoolsPackage):
|
||||
description="Build for Cray compute nodes, including hpcprof-mpi.",
|
||||
)
|
||||
|
||||
variant("mpi", default=False, description="Build hpcprof-mpi, the MPI version of hpcprof.")
|
||||
variant(
|
||||
"mpi",
|
||||
default=False,
|
||||
description="Build hpcprof-mpi, the MPI version of hpcprof "
|
||||
"(not available for 2022.10.01).",
|
||||
)
|
||||
|
||||
# We can't build with both PAPI and perfmon for risk of segfault
|
||||
# from mismatched header files (unless PAPI installs the perfmon
|
||||
@ -64,33 +69,28 @@ class Hpctoolkit(AutotoolsPackage):
|
||||
"the hardware performance counters.",
|
||||
)
|
||||
|
||||
variant(
|
||||
"all-static",
|
||||
default=False,
|
||||
description="Needed when MPICXX builds static binaries for the compute nodes.",
|
||||
)
|
||||
|
||||
variant(
|
||||
"cuda", default=False, description="Support CUDA on NVIDIA GPUs (2020.03.01 or later)."
|
||||
)
|
||||
# Accelerator variants: cuda, rocm, etc.
|
||||
variant("cuda", default=False, description="Support CUDA on NVIDIA GPUs.", when="@2020.03:")
|
||||
|
||||
variant(
|
||||
"level_zero",
|
||||
default=False,
|
||||
description="Support Level Zero on Intel GPUs (2022.04.15 or later).",
|
||||
description="Support Level Zero on Intel GPUs.",
|
||||
when="@2022.04:",
|
||||
)
|
||||
|
||||
variant(
|
||||
"gtpin",
|
||||
default=False,
|
||||
description="Support instrumenting Intel GPU kernels with Intel GT-Pin "
|
||||
"(2022.05.15 or later, and requires level_zero).",
|
||||
description="Support instrumenting Intel GPU kernels with Intel GT-Pin",
|
||||
when="@2022.05: +level_zero",
|
||||
)
|
||||
|
||||
variant("opencl", default=False, description="Support OpenCL")
|
||||
variant("opencl", default=False, description="Support offloading with OpenCL.")
|
||||
|
||||
variant("rocm", default=False, description="Support ROCM on AMD GPUs (2022.04.15 or later).")
|
||||
variant("rocm", default=False, description="Support ROCM on AMD GPUs.", when="@2022.04:")
|
||||
|
||||
# Other variants.
|
||||
variant("debug", default=False, description="Build in debug (develop) mode.")
|
||||
|
||||
variant("viewer", default=True, description="Include hpcviewer.")
|
||||
@ -100,7 +100,7 @@ class Hpctoolkit(AutotoolsPackage):
|
||||
" +graph +regex +shared +multithreaded visibility=global"
|
||||
)
|
||||
|
||||
depends_on("binutils +libiberty", type="link", when="@2021:master")
|
||||
depends_on("binutils +libiberty", type="link", when="@2021:2022.06")
|
||||
depends_on("binutils +libiberty~nls", type="link", when="@2020.04:2020")
|
||||
depends_on("binutils@:2.33.1 +libiberty~nls", type="link", when="@:2020.03")
|
||||
depends_on("boost" + boost_libs)
|
||||
@ -111,8 +111,8 @@ class Hpctoolkit(AutotoolsPackage):
|
||||
depends_on("elfutils+bzip2+xz~nls", type="link")
|
||||
depends_on("gotcha@1.0.3:", when="@:2020.09")
|
||||
depends_on("intel-tbb+shared")
|
||||
depends_on("libdwarf", when="@:master")
|
||||
depends_on("libiberty+pic", when="@develop")
|
||||
depends_on("libdwarf", when="@:2022.06")
|
||||
depends_on("libiberty+pic", when="@2022.10:")
|
||||
depends_on("libmonitor+hpctoolkit~dlopen", when="@2021.00:")
|
||||
depends_on("libmonitor+hpctoolkit+dlopen", when="@:2020")
|
||||
depends_on("libmonitor@2021.11.08:", when="@2022.01:")
|
||||
@ -120,7 +120,7 @@ class Hpctoolkit(AutotoolsPackage):
|
||||
depends_on("mbedtls+pic", when="@:2022.03")
|
||||
depends_on("xerces-c transcoder=iconv")
|
||||
depends_on("xz+pic", type="link")
|
||||
depends_on("yaml-cpp@0.7.0:", when="@develop")
|
||||
depends_on("yaml-cpp@0.7.0:", when="@2022.10:")
|
||||
depends_on("zlib+shared")
|
||||
|
||||
depends_on("cuda", when="+cuda")
|
||||
@ -134,6 +134,7 @@ class Hpctoolkit(AutotoolsPackage):
|
||||
depends_on("papi", when="+papi")
|
||||
depends_on("libpfm4", when="~papi")
|
||||
depends_on("mpi", when="+mpi")
|
||||
depends_on("hpcviewer@2022.10:", type="run", when="@2022.10: +viewer")
|
||||
depends_on("hpcviewer", type="run", when="+viewer")
|
||||
|
||||
depends_on("hip@4.5:", when="+rocm")
|
||||
@ -141,19 +142,9 @@ class Hpctoolkit(AutotoolsPackage):
|
||||
depends_on("roctracer-dev@4.5:", when="+rocm")
|
||||
depends_on("rocprofiler-dev@4.5:", when="+rocm")
|
||||
|
||||
conflicts(
|
||||
"%gcc@:4.7", when="^dyninst@10.0.0:", msg="hpctoolkit requires gnu gcc 4.8.x or later"
|
||||
)
|
||||
|
||||
conflicts("%gcc@:4", when="@2020.03:2020", msg="hpctoolkit requires gnu gcc 5.x or later")
|
||||
|
||||
conflicts("%gcc@:6", when="@2021.00:", msg="hpctoolkit requires gnu gcc 7.x or later")
|
||||
|
||||
conflicts("+cuda", when="@:2019", msg="cuda requires 2020.03.01 or later")
|
||||
|
||||
conflicts("+gtpin", when="~level_zero", msg="gtpin requires level_zero")
|
||||
|
||||
conflicts("+rocm", when="@:2022.03", msg="rocm requires 2022.04.15 or later")
|
||||
conflicts("%gcc@:7", when="@2022.10:", msg="hpctoolkit requires gnu gcc 8.x or later")
|
||||
conflicts("%gcc@:6", when="@2021.00:2022.06", msg="hpctoolkit requires gnu gcc 7.x or later")
|
||||
conflicts("%gcc@:4", when="@:2020", msg="hpctoolkit requires gnu gcc 5.x or later")
|
||||
|
||||
conflicts("^binutils@2.35:2.35.1", msg="avoid binutils 2.35 and 2.35.1 (spews errors)")
|
||||
|
||||
@ -189,15 +180,11 @@ def configure_args(self):
|
||||
"--with-zlib=%s" % spec["zlib"].prefix,
|
||||
]
|
||||
|
||||
if spec.satisfies("@:master"):
|
||||
args.extend(
|
||||
[
|
||||
"--with-binutils=%s" % spec["binutils"].prefix,
|
||||
"--with-libdwarf=%s" % spec["libdwarf"].prefix,
|
||||
]
|
||||
)
|
||||
else:
|
||||
if spec.satisfies("@2022.10:"):
|
||||
args.append("--with-libiberty=%s" % spec["libiberty"].prefix)
|
||||
else:
|
||||
args.append("--with-binutils=%s" % spec["binutils"].prefix)
|
||||
args.append("--with-libdwarf=%s" % spec["libdwarf"].prefix)
|
||||
|
||||
if spec.satisfies("@:2020.09"):
|
||||
args.append("--with-gotcha=%s" % spec["gotcha"].prefix)
|
||||
@ -216,7 +203,7 @@ def configure_args(self):
|
||||
else:
|
||||
args.append("--with-perfmon=%s" % spec["libpfm4"].prefix)
|
||||
|
||||
if spec.satisfies("@develop"):
|
||||
if spec.satisfies("@2022.10:"):
|
||||
args.append("--with-yaml-cpp=%s" % spec["yaml-cpp"].prefix)
|
||||
|
||||
if "+cuda" in spec:
|
||||
@ -225,17 +212,14 @@ def configure_args(self):
|
||||
if "+level_zero" in spec:
|
||||
args.append("--with-level0=%s" % spec["oneapi-level-zero"].prefix)
|
||||
|
||||
# gtpin requires level_zero
|
||||
if "+gtpin" in spec:
|
||||
args.append("--with-gtpin=%s" % spec["intel-gtpin"].prefix)
|
||||
args.append("--with-igc=%s" % spec["oneapi-igc"].prefix)
|
||||
|
||||
if "+opencl" in spec:
|
||||
args.append("--with-opencl=%s" % spec["opencl-c-headers"].prefix)
|
||||
|
||||
if "+gtpin" in spec:
|
||||
args.extend(
|
||||
[
|
||||
"--with-gtpin=%s" % spec["intel-gtpin"].prefix,
|
||||
"--with-igc=%s" % spec["oneapi-igc"].prefix,
|
||||
]
|
||||
)
|
||||
|
||||
if spec.satisfies("+rocm"):
|
||||
args.extend(
|
||||
[
|
||||
@ -248,18 +232,21 @@ def configure_args(self):
|
||||
|
||||
# MPI options for hpcprof-mpi.
|
||||
if "+cray" in spec:
|
||||
args.extend(
|
||||
[
|
||||
"--enable-mpi-search=cray",
|
||||
"--enable-all-static",
|
||||
]
|
||||
)
|
||||
elif "+mpi" in spec:
|
||||
args.append("MPICXX=%s" % spec["mpi"].mpicxx)
|
||||
|
||||
if "+all-static" in spec:
|
||||
args.append("--enable-mpi-search=cray")
|
||||
args.append("--enable-all-static")
|
||||
|
||||
elif "+mpi" in spec:
|
||||
if spec.satisfies("@2022.10.01"):
|
||||
# temporary hack to disable +mpi for one rev
|
||||
tty.warn("hpcprof-mpi is not available in version 2022.10.01")
|
||||
args.append("MPICXX=")
|
||||
else:
|
||||
args.append("MPICXX=%s" % spec["mpi"].mpicxx)
|
||||
|
||||
# Make sure MPICXX is not picked up through the environment.
|
||||
else:
|
||||
args.append("MPICXX=")
|
||||
|
||||
if spec.satisfies("+debug"):
|
||||
args.append("--enable-develop")
|
||||
|
||||
@ -274,6 +261,8 @@ def setup_run_environment(self, env):
|
||||
env.clear()
|
||||
env.prepend_path("PATH", spec.prefix.bin)
|
||||
env.prepend_path("MANPATH", spec.prefix.share.man)
|
||||
env.prepend_path("CPATH", spec.prefix.include)
|
||||
env.prepend_path("LD_LIBRARY_PATH", spec.prefix.lib.hpctoolkit)
|
||||
if "+viewer" in spec:
|
||||
env.prepend_path("PATH", spec["hpcviewer"].prefix.bin)
|
||||
env.prepend_path("MANPATH", spec["hpcviewer"].prefix.share.man)
|
||||
|
Loading…
Reference in New Issue
Block a user