diff options
author | Giuseppe Congiu <gcongiu@icl.utk.edu> | 2023-08-23 10:09:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-23 10:09:54 +0200 |
commit | d355880110ce66552f6d458accc52a125d4a47a3 (patch) | |
tree | d9009cbac923ff7d5cc80dcd71d9689931d0f01f /var | |
parent | 1a0434b80830ddf189387afa44d57ff2a49ab024 (diff) | |
download | spack-d355880110ce66552f6d458accc52a125d4a47a3.tar.gz spack-d355880110ce66552f6d458accc52a125d4a47a3.tar.bz2 spack-d355880110ce66552f6d458accc52a125d4a47a3.tar.xz spack-d355880110ce66552f6d458accc52a125d4a47a3.zip |
PAPI misc fixes (#39191)
Spack installs the hsa-rocr-dev and rocprofiler packages into different
directories. However, PAPI typically expects those to be under the same
directory and locates such directory through the PAPI_ROCM_ROOT env
variable.
The PAPI rocm component also allows users to override PAPI_ROCM_ROOT to
locate directly the librocprofiler64.so through the HSA_TOOLS_LIB env
variable that acts directly onto the HSA runtime tools mechanism.
Hence, in order to account for the decoupling of hsa and rocprofiler,
this patch sets HSA_TOOLS_LIB to librocprofiler64.so full path.
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/papi/package.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/var/spack/repos/builtin/packages/papi/package.py b/var/spack/repos/builtin/packages/papi/package.py index 768196a3da..feacc7e916 100644 --- a/var/spack/repos/builtin/packages/papi/package.py +++ b/var/spack/repos/builtin/packages/papi/package.py @@ -54,6 +54,7 @@ class Papi(AutotoolsPackage, ROCmPackage): variant("shared", default=True, description="Build shared libraries") # PAPI requires building static libraries, so there is no "static" variant variant("static_tools", default=False, description="Statically link the PAPI tools") + variant("debug", default=False, description="Enable debug symbols in PAPI") # The PAPI configure option "--with-shlib-tools" is deprecated # and therefore not implemented here @@ -90,6 +91,7 @@ class Papi(AutotoolsPackage, ROCmPackage): env.set("PAPI_CUDA_ROOT", spec["cuda"].prefix) if "+rocm" in spec: env.set("PAPI_ROCM_ROOT", spec["hsa-rocr-dev"].prefix) + env.set("HSA_TOOLS_LIB", "%s/librocprofiler64.so" % spec["rocprofiler-dev"].prefix.lib) env.append_flags("CFLAGS", "-I%s/rocprofiler/include" % spec["rocprofiler-dev"].prefix) env.set( "ROCP_METRICS", "%s/rocprofiler/lib/metrics.xml" % spec["rocprofiler-dev"].prefix @@ -97,9 +99,6 @@ class Papi(AutotoolsPackage, ROCmPackage): env.set("ROCPROFILER_LOG", "1") env.set("HSA_VEN_AMD_AQLPROFILE_LOG", "1") env.set("AQLPROFILE_READ_API", "1") - # Setting HSA_TOOLS_LIB=librocprofiler64.so (as recommended) doesn't work - # due to a conflict between the spack and system-installed versions. - env.set("HSA_TOOLS_LIB", "unset") if "+rocm_smi" in spec: env.append_flags("CFLAGS", "-I%s/rocm_smi" % spec["rocm-smi-lib"].prefix.include) # @@ -146,6 +145,9 @@ class Papi(AutotoolsPackage, ROCmPackage): if "+static_tools" in spec: options.append("--with-static-tools") + if "+debug" in spec: + options.append("--with-debug=yes") + return options @run_before("configure") |