Skip to content

Commit

Permalink
[TAU Package] Updates for rocm (spack#43790)
Browse files Browse the repository at this point in the history
* Updates for rocm

Updated for rocm@6
Added conflict between rocprofiler and roctracer.
Request either +rocprofiler or +roctracer when +rocm. In this case, it automatically builds for one, instead of displaying the message. 
Request +rocm when using either +rocprofiler or +roctracer. In this case, it automatically builds with +rocm, instead of displaying the message.

Disabled the tests. Will update them with the new test method.

* [@spackbot] updating style on behalf of jordialcaraz

---------

Co-authored-by: jordialcaraz <[email protected]>
  • Loading branch information
jordialcaraz and jordialcaraz authored Apr 24, 2024
1 parent 5644668 commit e2088b5
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions var/spack/repos/builtin/packages/tau/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,8 @@ class Tau(Package):
depends_on("roctracer-dev", when="+roctracer")
depends_on("hsa-rocr-dev", when="+rocm")
depends_on("rocm-smi-lib", when="@2.32.1: +rocm")
depends_on("rocm-core", when="@2.34: +rocm")
depends_on("hip", when="@2.34: +roctracer")
depends_on("java", type="run") # for paraprof
depends_on("oneapi-level-zero", when="+level_zero")
depends_on("[email protected]:", when="+dyninst")
Expand All @@ -155,6 +157,18 @@ class Tau(Package):
conflicts("+disable-no-pie", when="@:2.33.2")
patch("unwind.patch", when="@2.29.0")

conflicts("+rocprofiler", when="+roctracer", msg="Use either rocprofiler or roctracer")
requires("+rocm", when="+rocprofiler", msg="Rocprofiler requires ROCm")
requires("+rocm", when="+roctracer", msg="Roctracer requires ROCm")

requires(
"+rocprofiler",
"+roctracer",
policy="one_of",
when="+rocm",
msg="When using ROCm, you need to select either +rocprofiler or +roctracer",
)

filter_compiler_wrappers("Makefile", relative_root="include")
filter_compiler_wrappers("Makefile.tau*", relative_root="lib")
filter_compiler_wrappers("Makefile.tau*", relative_root="lib64")
Expand Down Expand Up @@ -316,12 +330,16 @@ def install(self, spec, prefix):
options.append("-rocm=%s" % spec["hsa-rocr-dev"].prefix)
if spec.satisfies("@2.32.1"):
options.append("-rocmsmi=%s" % spec["rocm-smi-lib"].prefix)
if spec.satisfies("@2.34:"):
options.append("-rocm-core=%s" % spec["rocm-core"].prefix)

if "+rocprofiler" in spec:
options.append("-rocprofiler=%s" % spec["rocprofiler-dev"].prefix)

if "+roctracer" in spec:
options.append("-roctracer=%s" % spec["roctracer-dev"].prefix)
if spec.satisfies("@2.34:"):
options.append("-hip=%s" % spec["hip"].prefix)

if "+adios2" in spec:
options.append("-adios=%s" % spec["adios2"].prefix)
Expand Down Expand Up @@ -546,6 +564,8 @@ def _run_python_test(self, test_dir):
)

def test(self):
# Temporarily disable tests, will update them with the new test method.
return
test_dir = self.test_suite.current_test_cache_dir
# Run mm test program pulled from the build
if "+ompt" in self.spec:
Expand Down

0 comments on commit e2088b5

Please sign in to comment.