diff --git a/lib/spack/spack/build_systems/rocm.py b/lib/spack/spack/build_systems/rocm.py index f6ea0537fd..a986c5e5b9 100644 --- a/lib/spack/spack/build_systems/rocm.py +++ b/lib/spack/spack/build_systems/rocm.py @@ -162,23 +162,9 @@ def hip_flags(amdgpu_target): # Add compiler minimum versions based on the first release where the # processor is included in llvm/lib/Support/TargetParser.cpp - depends_on("llvm-amdgpu@4.1.0:", when="amdgpu_target=gfx900:xnack-") - depends_on("llvm-amdgpu@4.1.0:", when="amdgpu_target=gfx906:xnack-") - depends_on("llvm-amdgpu@4.1.0:", when="amdgpu_target=gfx908:xnack-") - depends_on("llvm-amdgpu@4.1.0:", when="amdgpu_target=gfx90c") - depends_on("llvm-amdgpu@4.3.0:", when="amdgpu_target=gfx90a") - depends_on("llvm-amdgpu@4.3.0:", when="amdgpu_target=gfx90a:xnack-") - depends_on("llvm-amdgpu@4.3.0:", when="amdgpu_target=gfx90a:xnack+") depends_on("llvm-amdgpu@5.2.0:", when="amdgpu_target=gfx940") depends_on("llvm-amdgpu@5.7.0:", when="amdgpu_target=gfx941") depends_on("llvm-amdgpu@5.7.0:", when="amdgpu_target=gfx942") - depends_on("llvm-amdgpu@4.5.0:", when="amdgpu_target=gfx1013") - depends_on("llvm-amdgpu@3.8.0:", when="amdgpu_target=gfx1030") - depends_on("llvm-amdgpu@3.9.0:", when="amdgpu_target=gfx1031") - depends_on("llvm-amdgpu@4.1.0:", when="amdgpu_target=gfx1032") - depends_on("llvm-amdgpu@4.1.0:", when="amdgpu_target=gfx1033") - depends_on("llvm-amdgpu@4.3.0:", when="amdgpu_target=gfx1034") - depends_on("llvm-amdgpu@4.5.0:", when="amdgpu_target=gfx1035") depends_on("llvm-amdgpu@5.2.0:", when="amdgpu_target=gfx1036") depends_on("llvm-amdgpu@5.3.0:", when="amdgpu_target=gfx1100") depends_on("llvm-amdgpu@5.3.0:", when="amdgpu_target=gfx1101") diff --git a/var/spack/repos/builtin/packages/aomp/0001-Add-amdgcn-to-devicelibs-bitcode-names-3.8.patch b/var/spack/repos/builtin/packages/aomp/0001-Add-amdgcn-to-devicelibs-bitcode-names-3.8.patch deleted file mode 100644 index 9b27aee6a7..0000000000 --- a/var/spack/repos/builtin/packages/aomp/0001-Add-amdgcn-to-devicelibs-bitcode-names-3.8.patch +++ /dev/null @@ -1,41 +0,0 @@ -From eb1e1351da41a0da25aa056636932acd8a4f955f Mon Sep 17 00:00:00 2001 -From: Ethan Stewart -Date: Fri, 25 Sep 2020 09:53:42 -0500 -Subject: [PATCH] Add amdgcn to devicelibs bitcode names 3.8 - ---- - clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp b/clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp -index 25d3db59d44..1bb9d993bf7 100644 ---- a/clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp -+++ b/clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp -@@ -148,21 +148,21 @@ const char *AMDGCN::OpenMPLinker::constructOmpExtraCmds( - llvm::StringRef WaveFrontSizeBC; - std::string GFXVersion = SubArchName.drop_front(3).str(); - if (stoi(GFXVersion) < 1000) -- WaveFrontSizeBC = "oclc_wavefrontsize64_on.bc"; -+ WaveFrontSizeBC = "oclc_wavefrontsize64_on.amdgcn.bc"; - else -- WaveFrontSizeBC = "oclc_wavefrontsize64_off.bc"; -+ WaveFrontSizeBC = "oclc_wavefrontsize64_off.amdgcn.bc"; - - // FIXME: remove double link of hip aompextras, ockl, and WaveFrontSizeBC - if (Args.hasArg(options::OPT_cuda_device_only)) - BCLibs.append( - {Args.MakeArgString("libomptarget-amdgcn-" + SubArchName + ".bc"), -- "hip.bc", "ockl.bc", -+ "hip.amdgcn.bc", "ockl.amdgcn.bc", - std::string(WaveFrontSizeBC)}); - else { - BCLibs.append( - {Args.MakeArgString("libomptarget-amdgcn-" + SubArchName + ".bc"), - Args.MakeArgString("libaompextras-amdgcn-" + SubArchName + ".bc"), -- "hip.bc", "ockl.bc", -+ "hip.amdgcn.bc", "ockl.amdgcn.bc", - Args.MakeArgString("libbc-hostrpc-amdgcn.a"), - std::string(WaveFrontSizeBC)}); - --- -2.17.1 diff --git a/var/spack/repos/builtin/packages/aomp/0001-Add-amdgcn-to-devicelibs-bitcode-names.patch b/var/spack/repos/builtin/packages/aomp/0001-Add-amdgcn-to-devicelibs-bitcode-names.patch deleted file mode 100644 index c4976a2b22..0000000000 --- a/var/spack/repos/builtin/packages/aomp/0001-Add-amdgcn-to-devicelibs-bitcode-names.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 2414b9faee9c264ce4b92b4d709375313df03344 Mon Sep 17 00:00:00 2001 -From: Ethan Stewart -Date: Tue, 22 Sep 2020 13:39:22 -0500 -Subject: [PATCH] Add amdgcn to devicelibs bitcode names - ---- - clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp b/clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp -index cc9b4f1caba..d22609fbe62 100644 ---- a/clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp -+++ b/clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp -@@ -148,21 +148,21 @@ const char *AMDGCN::OpenMPLinker::constructOmpExtraCmds( - llvm::StringRef WaveFrontSizeBC; - std::string GFXVersion = SubArchName.drop_front(3).str(); - if (stoi(GFXVersion) < 1000) -- WaveFrontSizeBC = "oclc_wavefrontsize64_on.bc"; -+ WaveFrontSizeBC = "oclc_wavefrontsize64_on.amdgcn.bc"; - else -- WaveFrontSizeBC = "oclc_wavefrontsize64_off.bc"; -+ WaveFrontSizeBC = "oclc_wavefrontsize64_off.amdgcn.bc"; - - // FIXME: remove double link of hip aompextras, ockl, and WaveFrontSizeBC - if (Args.hasArg(options::OPT_cuda_device_only)) - BCLibs.append( - {Args.MakeArgString("libomptarget-amdgcn-" + SubArchName + ".bc"), -- "hip.bc", "ockl.bc", -+ "hip.amdgcn.bc", "ockl.amdgcn.bc", - std::string(WaveFrontSizeBC)}); - else { - BCLibs.append( - {Args.MakeArgString("libomptarget-amdgcn-" + SubArchName + ".bc"), - Args.MakeArgString("libaompextras-amdgcn-" + SubArchName + ".bc"), -- "hip.bc", "ockl.bc", -+ "hip.amdgcn.bc", "ockl.amdgcn.bc", - Args.MakeArgString("libbc-hostrpc-amdgcn.a"), - std::string(WaveFrontSizeBC)}); - --- -2.17.1 diff --git a/var/spack/repos/builtin/packages/aomp/0001-Add-cmake-option-for-copying-source-for-debugging.patch b/var/spack/repos/builtin/packages/aomp/0001-Add-cmake-option-for-copying-source-for-debugging.patch deleted file mode 100644 index b586e04b56..0000000000 --- a/var/spack/repos/builtin/packages/aomp/0001-Add-cmake-option-for-copying-source-for-debugging.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 526efe86427a4d49da38773534d84025dd4246c3 Mon Sep 17 00:00:00 2001 -From: Ethan Stewart -Date: Tue, 10 Nov 2020 15:32:59 -0600 -Subject: [PATCH] Add cmake option for copying source for debugging. - ---- - openmp/CMakeLists.txt | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/openmp/CMakeLists.txt b/openmp/CMakeLists.txt -index a86e83c50212..51962b561a3b 100644 ---- a/openmp/CMakeLists.txt -+++ b/openmp/CMakeLists.txt -@@ -103,3 +103,11 @@ endif() - - # Now that we have seen all testsuites, create the check-openmp target. - construct_check_openmp_target() -+ -+option(DEBUG_COPY_SOURCE "Enable source code copy for openmp debug build." -+ ${ENABLE_SOURCE_COPY}) -+if (${ENABLE_SOURCE_COPY}) -+ install(DIRECTORY runtime/src DESTINATION ${OPENMP_INSTALL_LIBDIR}/src/openmp/runtime) -+ install(DIRECTORY libomptarget/src libomptarget/plugins DESTINATION ${OPENMP_INSTALL_LIBDIR}/src/openmp/libomptarget) -+ install(DIRECTORY libompd/src DESTINATION ${OPENMP_INSTALL_LIBDIR}/src/openmp/libompd) -+endif() --- -2.17.1 - diff --git a/var/spack/repos/builtin/packages/aomp/package.py b/var/spack/repos/builtin/packages/aomp/package.py deleted file mode 100644 index 6a9603a9de..0000000000 --- a/var/spack/repos/builtin/packages/aomp/package.py +++ /dev/null @@ -1,528 +0,0 @@ -# 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 re - -from spack.package import * - -tools_url = "https://github.com/ROCm" -compute_url = "https://github.com/ROCm" - - -aomp = [ - "e4526489833896bbc47ba865e0d115fab278ce269789a8c99a97f444595f5f6a", - "970374c3acb9dda8b9a17d7a579dbaab48fac731db8fdce566a65abee37e5ed3", - "86f90d6505eccdb2840069cadf57f7111d4685653c4974cf65fb22b172e55478", - "14fc6867af0b17e3bff8cb42cb36f509c95a29b7a933a106bf6778de21f6c123", - "ce29cead5391a4a13f2c567e2e059de9291888d24985460725e43a91b740be7a", -] - -devlib = [ - "dce3a4ba672c4a2da4c2260ee4dc96ff6dd51877f5e7e1993cb107372a35a378", - "b3a114180bf184b3b829c356067bc6a98021d52c1c6f9db6bc57272ebafc5f1d", - "e82cc9a8eb7d92de02cabb856583e28f17a05c8cf9c97aec5275608ef1a38574", - "c99f45dacf5967aef9a31e3731011b9c142446d4a12bac69774998976f2576d7", - "bca9291385d6bdc91a8b39a46f0fd816157d38abb1725ff5222e6a0daa0834cc", -] - -llvm = [ - "b4fd7305dc57887eec17cce77bbf42215db46a4a3d14d8e517ab92f4e200b29d", - "89b967de5e79f6df7c62fdc12529671fa30989ae7b634d5a7c7996629ec1140e", - "98deabedb6cb3067ee960a643099631902507f236e4d9dc65b3e0f8d659eb55c", - "f0a0b9fec0626878340a15742e73a56f155090011716461edcb069dcf05e6b30", - "3ff18a8bd31d5b55232327e574dfa3556cf26787e105d0ba99411c5687325a8d", -] - -flang = [ - "cc27f8bfb49257b7a4f0b03f4ba5e06a28dcb6c337065c4201b6075dd2d5bc48", - "1fe07a0da20eb66a2a2aa8d354bf95c6f216ec38cc4a051e98041e0d13c34b36", - "54cc6a9706dba6d7808258632ed40fa6493838edb309709d3b25e0f9b02507f8", - "43d57bcc87fab092ac242e36da62588a87b6fa91f9e81fdb330159497afdecb3", - "81674bf3c9d8fd9b16fb3e5c66a870537c25ff8302fc1b162ab9e95944167163", -] - -extras = [ - "5dbf27f58b8114318208b97ba99a90483b78eebbcad4117cac6881441977e855", - "adaf7670b2497ff3ac09636e0dd30f666a5a5b742ecdcb8551d722102dcfbd85", - "4460a4f4b03022947f536221483e85dcd9b07064a54516ec103a1939c3f587b5", - "014fca1fba54997c6db0e84822df274fb6807698b6856da4f737f38f10ab0e5d", - "ee146cff4b9ee7aae90d7bb1d6b4957839232be0e7dab1865e0ae39832f8f795", -] - -# Used only for 3.5.0 -hip = ["86eb7749ff6f6c5f6851cd6c528504d42f9286967324a50dd0dd54a6a74cacc7"] - -vdi = ["b21866c7c23dc536356db139b88b6beb3c97f58658836974a7fc167feb31ad7f"] - -opencl = ["8963fcd5a167583b3db8b94363778d4df4593bfce8141e1d3c32a59fb64a0cf6"] - -versions = ["3.5.0", "3.7.0", "3.8.0", "3.9.0", "3.10.0"] -versions_dict = dict() # type: Dict[str, Dict[str, str]] -hashes = [aomp, devlib, llvm, flang, extras] -hashes_35 = [aomp, devlib, llvm, flang, extras, hip, vdi, opencl] -components = ["aomp", "devlib", "llvm", "flang", "extras"] -components_35 = ["aomp", "devlib", "llvm", "flang", "extras", "hip", "vdi", "opencl"] - -for outer_index, item in enumerate(versions): - if item == "3.5.0": - use_components = components_35 - use_hashes = hashes_35 - else: - use_components = components - use_hashes = hashes - for inner_index, component in enumerate(use_hashes): - versions_dict.setdefault(item, {})[use_components[inner_index]] = use_hashes[inner_index][ - outer_index - ] - - -class Aomp(Package): - """llvm openmp compiler from AMD.""" - - homepage = tools_url + "/aomp" - url = tools_url + "/aomp/archive/rocm-3.10.0.tar.gz" - - maintainers("srekolam", "arjun-raj-kuppala", "estewart08") - - tags = ["e4s"] - - version("3.10.0", sha256=versions_dict["3.10.0"]["aomp"]) - version("3.9.0", sha256=versions_dict["3.9.0"]["aomp"]) - - # Cmake above 3.18 would fail the build on 3.5.0 - depends_on("cmake@3:", type="build") - depends_on("cmake@3:3.17", when="@3.5.0", type="build") - - depends_on("python@3:", type="build", when="@3.9.0:") - depends_on("py-setuptools", when="@3.9.0:", type="build") - - depends_on("gl@4.5:", type=("build", "link")) - depends_on("py-pip", when="@3.8.0:", type="build") - depends_on("py-wheel", when="@3.8.0:", type=("build", "run")) - depends_on("perl-data-dumper", type="build") - depends_on("awk", type="build") - depends_on("elfutils", type=("build", "link")) - depends_on("libffi", type=("build", "link")) - - for ver in ["3.5.0", "3.7.0", "3.8.0", "3.9.0", "3.10.0"]: - depends_on("hsakmt-roct@" + ver, when="@" + ver) - depends_on("comgr@" + ver, type="build", when="@" + ver) - depends_on("hsa-rocr-dev@" + ver, when="@" + ver) - depends_on("rocm-device-libs@" + ver, when="@" + ver) - - if ver != "3.5.0": - depends_on("hip@" + ver, when="@" + ver) - depends_on("hip-rocclr@" + ver, when="@" + ver) - - if ver == "3.9.0" or ver == "3.10.0": - depends_on("rocm-gdb@" + ver, when="@" + ver) - - resource( - name="rocm-device-libs", - url=compute_url + "/ROCm-Device-Libs/archive/rocm-" + ver + ".tar.gz", - sha256=versions_dict[ver]["devlib"], - expand=True, - destination="aomp-dir", - placement="rocm-device-libs", - when="@" + ver, - ) - - resource( - name="amd-llvm-project", - url=tools_url + "/amd-llvm-project/archive/rocm-" + ver + ".tar.gz", - sha256=versions_dict[ver]["llvm"], - expand=True, - destination="aomp-dir", - placement="amd-llvm-project", - when="@" + ver, - ) - - resource( - name="flang", - url=tools_url + "/flang/archive/rocm-" + ver + ".tar.gz", - sha256=versions_dict[ver]["flang"], - expand=True, - destination="aomp-dir", - placement="flang", - when="@" + ver, - ) - - resource( - name="aomp-extras", - url=tools_url + "/aomp-extras/archive/rocm-" + ver + ".tar.gz", - sha256=versions_dict[ver]["extras"], - expand=True, - destination="aomp-dir", - placement="aomp-extras", - when="@" + ver, - ) - - if ver == "3.5.0": - resource( - name="hip-on-vdi", - url=tools_url + "/hip/archive/aomp-3.5.0.tar.gz", - sha256=versions_dict["3.5.0"]["hip"], - expand=True, - destination="aomp-dir", - placement="hip-on-vdi", - when="@3.5.0", - ) - - resource( - name="vdi", - url=tools_url + "/rocclr/archive/aomp-3.5.0.tar.gz", - sha256=versions_dict["3.5.0"]["vdi"], - expand=True, - destination="aomp-dir", - placement="vdi", - when="@3.5.0", - ) - - resource( - name="opencl-on-vdi", - sha256=versions_dict["3.5.0"]["opencl"], - url=compute_url + "/ROCm-OpenCL-Runtime/archive/aomp-3.5.0.tar.gz", - expand=True, - destination="aomp-dir", - placement="opencl-on-vdi", - when="@3.5.0", - ) - - # Copy source files over for debug build in 3.9.0 - patch( - "0001-Add-cmake-option-for-copying-source-for-debugging.patch", - working_dir="aomp-dir/amd-llvm-project", - when="@3.9.0:", - ) - - # Revert back to .amdgcn.bc naming scheme for 3.8.0 - patch( - "0001-Add-amdgcn-to-devicelibs-bitcode-names-3.8.patch", - working_dir="aomp-dir/amd-llvm-project", - when="@3.8.0", - ) - - # Revert back to .amdgcn.bc naming scheme for 3.7.0 - patch( - "0001-Add-amdgcn-to-devicelibs-bitcode-names.patch", - working_dir="aomp-dir/amd-llvm-project", - when="@3.7.0", - ) - - def patch(self): - # Make sure python2.7 is used for the generation of hip header - if self.spec.version == Version("3.5.0"): - kwargs = {"ignore_absent": False, "backup": False, "string": False} - with working_dir("aomp-dir/hip-on-vdi"): - match = "^#!/usr/bin/python" - python = self.spec["python"].command.path - substitute = "#!{python}".format(python=python) - files = ["hip_prof_gen.py", "vdi/hip_prof_gen.py"] - filter_file(match, substitute, *files, **kwargs) - src = self.stage.source_path - libomptarget = "{0}/aomp-dir/amd-llvm-project/openmp/libomptarget" - aomp_extras = "{0}/aomp-dir/aomp-extras/aomp-device-libs" - flang = "{0}/aomp-dir/flang/" - - if self.spec.version >= Version("3.9.0"): - filter_file( - "ADDITIONAL_VERSIONS 2.7", - "ADDITIONAL_VERSIONS 3", - flang.format(src) + "CMakeLists.txt", - ) - - if self.spec.version >= Version("3.8.0"): - filter_file( - "{CMAKE_INSTALL_PREFIX}", - "{HSA_INCLUDE}", - libomptarget.format(src) + "/hostrpc/services/CMakeLists.txt", - ) - - filter_file( - "CONFIG", - "CONFIG PATHS ${CMAKE_INSTALL_PREFIX} NO_DEFAULT_PATH", - libomptarget.format(src) + "/../libompd/test/CMakeLists.txt", - ) - - if self.spec.version != Version("3.5.0"): - filter_file( - "{ROCM_DIR}/aomp/amdgcn/bitcode", - "{DEVICE_LIBS_DIR}", - libomptarget.format(src) + "/hostrpc/CMakeLists.txt", - libomptarget.format(src) + "/deviceRTLs/amdgcn/CMakeLists.txt", - ) - - if self.spec.version == Version("3.5.0"): - filter_file( - "{ROCM_DIR}/lib/bitcode", - "{DEVICE_LIBS_DIR}", - libomptarget.format(src) + "/deviceRTLs/hostcall/CMakeLists.txt", - ) - - filter_file( - "{ROCM_DIR}/lib/bitcode", - "{DEVICE_LIBS_DIR}", - aomp_extras.format(src) + "/aompextras/CMakeLists.txt", - aomp_extras.format(src) + "/libm/CMakeLists.txt", - libomptarget.format(src) + "/deviceRTLs/amdgcn/CMakeLists.txt", - string=True, - ) - - filter_file( - r"${ROCM_DIR}/hsa/include ${ROCM_DIR}/hsa/include/hsa", - "${HSA_INCLUDE}/hsa/include ${HSA_INCLUDE}/hsa/include/hsa", - libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt", - string=True, - ) - - filter_file( - "{ROCM_DIR}/hsa/lib", - "{HSA_LIB}", - libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt", - ) - - filter_file( - r"{ROCM_DIR}/lib\)", - "{HSAKMT_LIB})\nset(HSAKMT_LIB64 ${HSAKMT_LIB64})", - libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt", - ) - - filter_file( - r"-L${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS}", - "-L${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS} -L${HSAKMT_LIB64}", - libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt", - string=True, - ) - - filter_file( - r"-rpath,${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS}", - "-rpath,${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS}" + ",-rpath,${HSAKMT_LIB64}", - libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt", - string=True, - ) - - filter_file( - "{ROCM_DIR}/include", - "{COMGR_INCLUDE}", - libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt", - ) - - filter_file( - "{ROCM_DIR}/include", - "{COMGR_INCLUDE}", - libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt", - ) - - filter_file( - r"-L${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX}", - "-L${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX} -L${COMGR_LIB}", - libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt", - string=True, - ) - - filter_file( - r"rpath,${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX}", - "rpath,${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX}" + "-Wl,-rpath,${COMGR_LIB}", - libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt", - string=True, - ) - - def setup_run_environment(self, env): - devlibs_prefix = self.spec["rocm-device-libs"].prefix - aomp_prefix = self.spec["aomp"].prefix - env.set("HIP_DEVICE_LIB_PATH", "{0}/amdgcn/bitcode".format(format(devlibs_prefix))) - env.set("AOMP", "{0}".format(format(aomp_prefix))) - - def setup_build_environment(self, env): - aomp_prefix = self.spec["aomp"].prefix - env.set("AOMP", "{0}".format(format(aomp_prefix))) - env.set("FC", "{0}/bin/flang".format(format(aomp_prefix))) - env.set("GFXLIST", "gfx700 gfx701 gfx801 gfx803 gfx900 gfx902 gfx906 gfx908") - - def install(self, spec, prefix): - src = self.stage.source_path - gfx_list = "gfx700;gfx701;gfx801;gfx803;gfx900;gfx902;gfx906;gfx908" - aomp_prefix = self.spec["aomp"].prefix - devlibs_prefix = self.spec["rocm-device-libs"].prefix - hsa_prefix = self.spec["hsa-rocr-dev"].prefix - hsakmt_prefix = self.spec["hsakmt-roct"].prefix - comgr_prefix = self.spec["comgr"].prefix - opencl_src = "/aomp-dir/opencl-on-vdi/api/opencl" - omp_src = "/aomp-dir/amd-llvm-project/openmp" - debug_map_format = "-fdebug-prefix-map={0}{1}={2}".format(src, omp_src, aomp_prefix) - - if self.spec.version >= Version("3.9.0"): - bitcode_dir = "/amdgcn/bitcode" - else: - bitcode_dir = "/lib" - - components = dict() - components["amd-llvm-project"] = [ - "../aomp-dir/amd-llvm-project/llvm", - "-DLLVM_ENABLE_PROJECTS=clang;lld;compiler-rt", - "-DCMAKE_BUILD_TYPE=release", - "-DLLVM_ENABLE_ASSERTIONS=ON", - "-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86", - "-DCMAKE_C_COMPILER={0}".format(self.compiler.cc), - "-DCMAKE_CXX_COMPILER={0}".format(self.compiler.cxx), - "-DCMAKE_ASM_COMPILER={0}".format(self.compiler.cc), - "-DBUG_REPORT_URL=https://github.com/ROCm/aomp", - "-DLLVM_ENABLE_BINDINGS=OFF", - "-DLLVM_INCLUDE_BENCHMARKS=OFF", - "-DLLVM_BUILD_TESTS=OFF", - "-DLLVM_INCLUDE_TESTS=OFF", - "-DCLANG_INCLUDE_TESTS=OFF", - "-DCMAKE_VERBOSE_MAKEFILE=1", - "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE", - ] - - if self.spec.version == Version("3.5.0"): - components["vdi"] = [ - "../aomp-dir/vdi", - "-DUSE_COMGR_LIBRARY=yes", - "-DOPENCL_DIR={0}{1}".format(src, opencl_src), - ] - - components["hip-on-vdi"] = [ - "../aomp-dir/hip-on-vdi", - "-DVDI_ROOT={0}/aomp-dir/vdi".format(src), - "-DHIP_COMPILER=clang", - "-DHIP_PLATFORM=vdi", - "-DVDI_DIR={0}/aomp-dir/vdi".format(src), - "-DHSA_PATH={0}".format(hsa_prefix), - "-DLIBVDI_STATIC_DIR={0}/spack-build-vdi".format(src), - "-DCMAKE_CXX_FLAGS=-Wno-ignored-attributes", - ] - - components["aomp-extras"] = [ - "../aomp-dir/aomp-extras", - "-DROCM_PATH=$ROCM_DIR ", - "-DDEVICE_LIBS_DIR={0}{1}".format(devlibs_prefix, bitcode_dir), - "-DAOMP_STANDALONE_BUILD=0", - "-DDEVICELIBS_ROOT={0}/aomp-dir/rocm-device-libs".format(src), - "-DCMAKE_VERBOSE_MAKEFILE=1", - ] - - openmp_common_args = [ - "-DROCM_DIR={0}".format(hsa_prefix), - "-DDEVICE_LIBS_DIR={0}{1}".format(devlibs_prefix, bitcode_dir), - "-DAOMP_STANDALONE_BUILD=0", - "-DDEVICELIBS_ROOT={0}/aomp-dir/rocm-device-libs".format(src), - "-DOPENMP_TEST_C_COMPILER={0}/bin/clang".format(aomp_prefix), - "-DOPENMP_TEST_CXX_COMPILER={0}/bin/clang++".format(aomp_prefix), - "-DLIBOMPTARGET_AMDGCN_GFXLIST={0}".format(gfx_list), - "-DLIBOMP_COPY_EXPORTS=OFF", - "-DHSA_INCLUDE={0}".format(hsa_prefix), - "-DHSA_LIB={0}/lib".format(hsa_prefix), - "-DHSAKMT_LIB={0}/lib".format(hsakmt_prefix), - "-DHSAKMT_LIB64={0}/lib64".format(hsakmt_prefix), - "-DCOMGR_INCLUDE={0}/include".format(comgr_prefix), - "-DCOMGR_LIB={0}/lib".format(comgr_prefix), - "-DOPENMP_ENABLE_LIBOMPTARGET=1", - "-DOPENMP_ENABLE_LIBOMPTARGET_HSA=1", - ] - - components["openmp"] = ["../aomp-dir/amd-llvm-project/openmp"] - components["openmp"] += openmp_common_args - - components["openmp-debug"] = [ - "../aomp-dir/amd-llvm-project/openmp", - "-DLIBOMPTARGET_NVPTX_DEBUG=ON", - "-DOPENMP_ENABLE_LIBOMPTARGET=1", - "-DOPENMP_ENABLE_LIBOMPTARGET_HSA=1" "-DCMAKE_CXX_FLAGS=-g", - "-DCMAKE_C_FLAGS=-g", - ] - - if self.spec.version >= Version("3.9.0"): - components["openmp-debug"] += [ - "-DENABLE_SOURCE_COPY=ON", - "-DOPENMP_SOURCE_DEBUG_MAP={0}".format(debug_map_format), - ] - - if self.spec.version >= Version("3.8.0"): - components["openmp-debug"] += [ - "-DLIBOMP_ARCH=x86_64", - "-DLIBOMP_OMP_VERSION=50", - "-DLIBOMP_OMPT_SUPPORT=ON", - "-DLIBOMP_USE_DEBUGGER=ON", - "-DLIBOMP_CFLAGS=-O0", - "-DLIBOMP_CPPFLAGS=-O0", - "-DLIBOMP_OMPD_ENABLED=ON", - "-DLIBOMP_OMPD_SUPPORT=ON", - "-DLIBOMP_OMPT_DEBUG=ON", - ] - - components["openmp-debug"] += openmp_common_args - - flang_common_args = [ - "-DLLVM_ENABLE_ASSERTIONS=ON", - "-DLLVM_CONFIG={0}/bin/llvm-config".format(aomp_prefix), - "-DCMAKE_CXX_COMPILER={0}/bin/clang++".format(aomp_prefix), - "-DCMAKE_C_COMPILER={0}/bin/clang".format(aomp_prefix), - "-DCMAKE_Fortran_COMPILER={0}/bin/flang".format(aomp_prefix), - "-DLLVM_TARGETS_TO_BUILD=AMDGPU;x86", - ] - - components["pgmath"] = ["../aomp-dir/flang/runtime/libpgmath"] - components["pgmath"] += flang_common_args - - components["flang"] = [ - "../aomp-dir/flang", - "-DFLANG_OPENMP_GPU_AMD=ON", - "-DFLANG_OPENMP_GPU_NVIDIA=ON", - ] - - components["flang"] += flang_common_args - - components["flang-runtime"] = [ - "../aomp-dir/flang", - "-DLLVM_INSTALL_RUNTIME=ON", - "-DFLANG_BUILD_RUNTIME=ON", - "-DOPENMP_BUILD_DIR={0}/spack-build-openmp/runtime/src".format(src), - ] - - components["flang-runtime"] += flang_common_args - - if self.spec.version != Version("3.5.0"): - build_order = [ - "amd-llvm-project", - "aomp-extras", - "openmp", - "openmp-debug", - "pgmath", - "flang", - "flang-runtime", - ] - elif self.spec.version == Version("3.5.0"): - build_order = [ - "amd-llvm-project", - "vdi", - "hip-on-vdi", - "aomp-extras", - "openmp", - "openmp-debug", - "pgmath", - "flang", - "flang-runtime", - ] - - # Override standard CMAKE_BUILD_TYPE - for arg in std_cmake_args: - found = re.search("CMAKE_BUILD_TYPE", arg) - if found: - std_cmake_args.remove(arg) - - for component in build_order: - with working_dir("spack-build-{0}".format(component), create=True): - cmake_args = components[component] - cmake_args.extend(std_cmake_args) - # OpenMP build needs to be run twice(Release, Debug) - if component == "openmp-debug": - cmake_args.append("-DCMAKE_BUILD_TYPE=Debug") - else: - cmake_args.append("-DCMAKE_BUILD_TYPE=Release") - cmake(*cmake_args) - make() - make("install") diff --git a/var/spack/repos/builtin/packages/atmi/0001-Remove-relative-link-paths-to-external-libraries.patch b/var/spack/repos/builtin/packages/atmi/0001-Remove-relative-link-paths-to-external-libraries.patch deleted file mode 100644 index 193cfab620..0000000000 --- a/var/spack/repos/builtin/packages/atmi/0001-Remove-relative-link-paths-to-external-libraries.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 7445b29108ea2f0b3f28f947a1ca627575173292 Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Fri, 7 Aug 2020 13:24:00 +0200 -Subject: [PATCH] Remove relative link paths to external libraries - ---- - src/runtime/core/CMakeLists.txt | 6 ------ - 1 file changed, 6 deletions(-) - -diff --git a/src/runtime/core/CMakeLists.txt b/src/runtime/core/CMakeLists.txt -index 29abffb..f2cd4b4 100644 ---- a/src/runtime/core/CMakeLists.txt -+++ b/src/runtime/core/CMakeLists.txt -@@ -109,12 +109,6 @@ target_link_libraries( - ${amd_comgr_LIBRARIES} - ${LIBELF_LIBRARIES} - ${ROCM_LIBRARIES} -- -L${ROCM_LIBRARIES_DIR}/../hsa/lib -- -L${ROCM_LIBRARIES_DIR} -- -Wl,--enable-new-dtags -- -Wl,-rpath,\$ORIGIN -- -Wl,-rpath,\$ORIGIN/../../hsa/lib -- -Wl,-rpath,\$ORIGIN/../../lib - ) - - # set output dir for .h files --- -2.25.1 - diff --git a/var/spack/repos/builtin/packages/atmi/0002-Remove-usr-bin-rsync-reference.patch b/var/spack/repos/builtin/packages/atmi/0002-Remove-usr-bin-rsync-reference.patch deleted file mode 100644 index e23687b3b7..0000000000 --- a/var/spack/repos/builtin/packages/atmi/0002-Remove-usr-bin-rsync-reference.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index ab4533a..9249de2 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -64,7 +64,7 @@ add_subdirectory(device_runtime) - # make examples available in local build - add_custom_command( - OUTPUT examples -- COMMAND /usr/bin/rsync -rl ${CMAKE_CURRENT_SOURCE_DIR}/../examples . -+ COMMAND rsync -rl ${CMAKE_CURRENT_SOURCE_DIR}/../examples . - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../examples/* - ) - add_custom_target(example ALL DEPENDS examples) -@@ -72,7 +72,7 @@ add_custom_target(example ALL DEPENDS examples) - # make bin available in local build - add_custom_command( - OUTPUT bin -- COMMAND /usr/bin/rsync -rl ${CMAKE_CURRENT_SOURCE_DIR}/../bin . -+ COMMAND rsync -rl ${CMAKE_CURRENT_SOURCE_DIR}/../bin . - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../bin/* - ) - add_custom_target(script ALL DEPENDS bin) -diff --git a/src/device_runtime/CMakeLists.txt b/src/device_runtime/CMakeLists.txt -index 20e15a8..333cb47 100644 ---- a/src/device_runtime/CMakeLists.txt -+++ b/src/device_runtime/CMakeLists.txt -@@ -108,7 +108,7 @@ set (OUTPUT_INC_DIRECTORY ${ATMI_RUNTIME_PATH}/include) - execute_process(COMMAND "/bin/mkdir" "-p" "${OUTPUT_INC_DIRECTORY}") - add_custom_command( - OUTPUT ${OUTPUT_INC_DIRECTORY}/atmi_kl.h -- COMMAND /usr/bin/rsync ${CMAKE_CURRENT_SOURCE_DIR}/../../include/atmi_kl.h ${OUTPUT_INC_DIRECTORY}/atmi_kl.h -+ COMMAND rsync ${CMAKE_CURRENT_SOURCE_DIR}/../../include/atmi_kl.h ${OUTPUT_INC_DIRECTORY}/atmi_kl.h - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../../include/*.h - ) - add_custom_target(device_header ALL DEPENDS ${OUTPUT_INC_DIRECTORY}/atmi_kl.h) -diff --git a/src/runtime/core/CMakeLists.txt b/src/runtime/core/CMakeLists.txt -index 132a2f6..034a728 100644 ---- a/src/runtime/core/CMakeLists.txt -+++ b/src/runtime/core/CMakeLists.txt -@@ -128,13 +128,13 @@ execute_process(COMMAND "/bin/mkdir" "-p" "${OUTPUT_INC_DIRECTORY}") - - add_custom_command( - OUTPUT ${OUTPUT_INC_DIRECTORY}/atmi.h -- COMMAND /usr/bin/rsync ${CMAKE_CURRENT_SOURCE_DIR}/../../../include/atmi.h ${OUTPUT_INC_DIRECTORY}/atmi.h -+ COMMAND rsync ${CMAKE_CURRENT_SOURCE_DIR}/../../../include/atmi.h ${OUTPUT_INC_DIRECTORY}/atmi.h - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../../../include/*.h - ) - - add_custom_command( - OUTPUT ${OUTPUT_INC_DIRECTORY}/atmi_runtime.h -- COMMAND /usr/bin/rsync ${CMAKE_CURRENT_SOURCE_DIR}/../../../include/atmi_runtime.h ${OUTPUT_INC_DIRECTORY}/atmi_runtime.h -+ COMMAND rsync ${CMAKE_CURRENT_SOURCE_DIR}/../../../include/atmi_runtime.h ${OUTPUT_INC_DIRECTORY}/atmi_runtime.h - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../../../include/*.h - ) - -diff --git a/src/runtime/interop/hsa/CMakeLists.txt b/src/runtime/interop/hsa/CMakeLists.txt -index f868972..97d8ae8 100644 ---- a/src/runtime/interop/hsa/CMakeLists.txt -+++ b/src/runtime/interop/hsa/CMakeLists.txt -@@ -22,7 +22,7 @@ execute_process(COMMAND "/bin/mkdir" "-p" "${OUTPUT_INC_DIRECTORY}") - - add_custom_command( - OUTPUT ${OUTPUT_INC_DIRECTORY}/atmi_interop_hsa.h -- COMMAND /usr/bin/rsync ${CMAKE_CURRENT_SOURCE_DIR}/../../../../include/atmi_interop_hsa.h ${OUTPUT_INC_DIRECTORY}/atmi_interop_hsa.h -+ COMMAND rsync ${CMAKE_CURRENT_SOURCE_DIR}/../../../../include/atmi_interop_hsa.h ${OUTPUT_INC_DIRECTORY}/atmi_interop_hsa.h - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../../../../include/*.h - ) - diff --git a/var/spack/repos/builtin/packages/atmi/package.py b/var/spack/repos/builtin/packages/atmi/package.py index 575d055b9a..07c9e9fe43 100644 --- a/var/spack/repos/builtin/packages/atmi/package.py +++ b/var/spack/repos/builtin/packages/atmi/package.py @@ -34,94 +34,10 @@ class Atmi(CMakePackage): version("5.1.3", sha256="a43448d77705b2b07e1758ffe8035aa6ba146abc2167984e8cb0f1615797b341") version("5.1.0", sha256="6a758f5a8332e6774cd8e14a4e5ce05e43b1e05298d817b4068c35fa1793d333") - version( - "5.0.2", - sha256="3aea040f5a246539ab118f2183cf3e802a21e0e6215a53025eda77f382341747", - deprecated=True, - ) - version( - "5.0.0", - sha256="208c1773170722b60b74357e264e698df5871e9d9d490d64011e6ea76750d9cf", - deprecated=True, - ) - version( - "4.5.2", - sha256="c235cfb8bdd89deafecf9123264217b8cc5577a5469e3e1f24587fa820d0792e", - deprecated=True, - ) - version( - "4.5.0", - sha256="64eeb0244cedae99db7dfdb365e0ad624106cc1090a531f94885ae81e254aabf", - deprecated=True, - ) - version( - "4.3.1", - sha256="4497fa6d33547b946e2a51619f2777ec36e9cff1b07fd534eb8a5ef0d8e30650", - deprecated=True, - ) - version( - "4.3.0", - sha256="1cbe0e9258ce7cce7b7ccc288335dffbac821ceb745c4f3fd48e2a258abada89", - deprecated=True, - ) - version( - "4.2.0", - sha256="c1c89c00d2dc3e764c63b2e51ff7fd5c06d5881ed56aed0adf639582d3389585", - deprecated=True, - ) - version( - "4.1.0", - sha256="b31849f86c79f90466a9d67f0a28a93c1675181e38e2a5f571ffc963e4b06f5f", - deprecated=True, - ) - version( - "4.0.0", - sha256="8a2e5789ee7165aff0f0669eecd23ac0a5c8a5bfbc1acd9380fe9a8ed5bffe3a", - deprecated=True, - ) - version( - "3.10.0", - sha256="387e87c622ec334d3ba7a2f4f015ea9a219712722f4c56c1ef572203d0d072ea", - deprecated=True, - ) - version( - "3.9.0", - sha256="0a305e85bab210dd9a0410aa01d46227e00b59141e4675c50d731ad1232ab828", - deprecated=True, - ) - version( - "3.8.0", - sha256="039f0c2b369d0dbc01000754893d9210828f4cb9b36c3e70da8c3819b131c933", - deprecated=True, - ) - version( - "3.7.0", - sha256="8df08489a10ee04cea911811393e0e7d91bd437fc1fd81a23a4e7ab924a974f3", - deprecated=True, - ) - version( - "3.5.0", - sha256="3fb57d2e583fab82bd0582d0c2bccff059ca91122c18ac49a7770a8bb041a37b", - deprecated=True, - ) depends_on("cmake@3:", type="build") depends_on("rsync") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -134,18 +50,15 @@ class Atmi(CMakePackage): "5.5.0", "5.5.1", ]: - depends_on("comgr@" + ver, type="link", when="@" + ver) - depends_on("hsa-rocr-dev@" + ver, type="link", when="@" + ver) - depends_on("elf", type="link", when="@" + ver) + depends_on(f"comgr@{ver}", type="link", when=f"@{ver}") + depends_on(f"hsa-rocr-dev@{ver}", type="link", when=f"@{ver}") + depends_on("elf", type="link", when=f"@{ver}") for ver in ["5.5.0", "5.5.1"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") root_cmakelists_dir = "src" - patch("0001-Remove-relative-link-paths-to-external-libraries.patch", when="@3.5.0") - # Removing direct reference to /usr/bin/rysnc for rsync command. - patch("0002-Remove-usr-bin-rsync-reference.patch", when="@4.0.0:5.0.0") # Reset the installation path and remove direct reference to rsync. patch("0002-Remove-usr-bin-rsync-reference-5.2.0.patch", when="@5.0.2:5.2.0") # Remove direct reference to /usr/bin/rsync path for rsync command diff --git a/var/spack/repos/builtin/packages/comgr/package.py b/var/spack/repos/builtin/packages/comgr/package.py index 458719164b..789dfc50b7 100644 --- a/var/spack/repos/builtin/packages/comgr/package.py +++ b/var/spack/repos/builtin/packages/comgr/package.py @@ -41,83 +41,12 @@ class Comgr(CMakePackage): version("5.2.0", sha256="5f63fa93739ee9230756ef93c53019474b6cdddea3b588492d785dae1b08c087") version("5.1.3", sha256="3078c10e9a852fe8357712a263ad775b15944e083f93a879935c877511066ac9") version("5.1.0", sha256="1cdcfe5acb768ef50fb0026d4ee7ba01e615251ad3c27bb2593cdcf8c070a894") - version( - "5.0.2", - sha256="20d733f70d8edb573d8c92707f663d7d46dcaff08026cd6addbb83266679f92a", - deprecated=True, - ) - version( - "5.0.0", - sha256="da1bbc694bd930a504406eb0a0018c2e317d8b2c136fb2cab8de426870efe9a8", - deprecated=True, - ) - version( - "4.5.2", - sha256="e45f387fb6635fc1713714d09364204cd28fea97655b313c857beb1f8524e593", - deprecated=True, - ) - version( - "4.5.0", - sha256="03c5880e0922fcff31306f7da2eb9d3a3709d9b5b75b3524dcfae85f4b181678", - deprecated=True, - ) - version( - "4.3.1", - sha256="f1d99550383ed7b3a01d304eedc3d86a8e45b271aa5a80b1dd099c22fda3f745", - deprecated=True, - ) - version( - "4.3.0", - sha256="f77b505abb474078374701dfc49e651ad3eeec5349ce6edda54549943a3775ee", - deprecated=True, - ) - version( - "4.2.0", - sha256="40a1ea50d2aea0cf75c4d17cdd6a7fe44ae999bf0147d24a756ca4675ce24e36", - deprecated=True, - ) - version( - "4.1.0", - sha256="ffb625978555c63582aa46857672431793261166aa31761eff4fe5c2cab661ae", - deprecated=True, - ) - version( - "4.0.0", - sha256="f389601fb70b2d9a60d0e2798919af9ddf7b8376a2e460141507fe50073dfb31", - deprecated=True, - ) - version( - "3.10.0", - sha256="b44ee5805a6236213d758fa4b612bb859d8f774b9b4bdc3a2699bb009dd631bc", - deprecated=True, - ) - version( - "3.9.0", - sha256="6600e144d72dadb6d893a3388b42af103b9443755ce556f4e9e205ccd8ec0c83", - deprecated=True, - ) - version( - "3.8.0", - sha256="62a35480dfabaa98883d91ed0f7c490daa9bbd424af37e07e5d85a6e8030b146", - deprecated=True, - ) - version( - "3.7.0", - sha256="73e56ec3c63dade24ad351e9340e2f8e127694028c1fb7cec5035376bf098432", - deprecated=True, - ) - version( - "3.5.0", - sha256="25c963b46a82d76d55b2302e0e18aac8175362656a465549999ad13d07b689b9", - deprecated=True, - ) # Disable the hip compile tests. Spack should not be using # /opt/rocm, and this breaks the build when /opt/rocm exists. patch("hip-tests.patch", when="@:4.2.0") - depends_on("cmake@3.2.0:", type="build", when="@:3.8") - depends_on("cmake@3.13.4:", type="build", when="@3.9.0:") + depends_on("cmake@3.13.4:", type="build") depends_on("zlib-api", type="link") depends_on("z3", type="link") @@ -126,20 +55,6 @@ class Comgr(CMakePackage): depends_on("rocm-cmake@3.5.0:", type="build") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -160,16 +75,14 @@ class Comgr(CMakePackage): "master", ]: # llvm libs are linked statically, so this *could* be a build dep - depends_on("llvm-amdgpu@" + ver, when="@" + ver) + depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") # aomp may not build rocm-device-libs as part of llvm-amdgpu, so make # that a conditional dependency - depends_on( - "rocm-device-libs@" + ver, when="@{0} ^llvm-amdgpu ~rocm-device-libs".format(ver) - ) + depends_on(f"rocm-device-libs@{ver}", when=f"@{ver} ^llvm-amdgpu ~rocm-device-libs") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") root_cmakelists_dir = join_path("lib", "comgr") diff --git a/var/spack/repos/builtin/packages/hip-rocclr/opengl.patch b/var/spack/repos/builtin/packages/hip-rocclr/opengl.patch deleted file mode 100644 index fc9bacee50..0000000000 --- a/var/spack/repos/builtin/packages/hip-rocclr/opengl.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 98df37fc36b6276c26532e86e89be7e389745f4e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Torsten=20Ke=C3=9Fler?= -Date: Sun, 19 Jul 2020 11:58:24 +0200 -Subject: [PATCH] Fix search for OpenCL include dirs - ---- - CMakeLists.txt | 26 +++++++++----------------- - 1 file changed, 9 insertions(+), 17 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 122277ee..02ca4644 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -53,26 +53,18 @@ find_package(amd_comgr REQUIRED CONFIG - ) - message(STATUS "Code Object Manager found at ${amd_comgr_DIR}.") - --# FIXME: Use find_package(OpenCL) --find_library( OpenCL REQUIRED CONFIG -- PATHS -- /opt/rocm -+find_path(OPENCL_INCLUDE_DIR -+ NAMES OpenCL/cl.h CL/cl.h -+ PATH_SUFFIXES include opencl/include inc include/x86_64 include/x64 -+ PATHS ${OPENCL_DIR} -+ DOC "OpenCL include header OpenCL/cl.h or CL/cl.h" - ) - --if( NOT OPENCL_DIR ) -- find_path(OPENCL_INCLUDE_DIR -- NAMES OpenCL/cl.h CL/cl.h -- PATH_SUFFIXES include opencl/include inc include/x86_64 include/x64 -- PATHS /opt/rocm -- DOC "OpenCL include header OpenCL/cl.h or CL/cl.h" -- ) -- -- if( NOT OPENCL_INCLUDE_DIR ) -- unset(OPENCL_INCLUDE_DIR CACHE) -- set(OPENCL_INCLUDE_DIR "" CACHE PATH "" FORCE ) -- endif() -- message(STATUS "Opencl found at ${OPENCL_INCLUDE_DIR}.") -+if( NOT OPENCL_INCLUDE_DIR ) -+ unset(OPENCL_INCLUDE_DIR CACHE) -+ set(OPENCL_INCLUDE_DIR "" CACHE PATH "" FORCE ) - endif() -+message(STATUS "Opencl found at ${OPENCL_INCLUDE_DIR}.") - - - diff --git a/var/spack/repos/builtin/packages/hip-rocclr/package.py b/var/spack/repos/builtin/packages/hip-rocclr/package.py index 4d6e3ed769..cd9f409da9 100644 --- a/var/spack/repos/builtin/packages/hip-rocclr/package.py +++ b/var/spack/repos/builtin/packages/hip-rocclr/package.py @@ -13,19 +13,14 @@ class HipRocclr(CMakePackage): runtimes to work on Windows as well as on Linux without much effort.""" homepage = "https://github.com/ROCm/ROCclr" + url = "https://github.com/ROCm/ROCclr/archive/rocm-5.6.1.tar.gz" git = "https://github.com/ROCm/ROCclr.git" tags = ["rocm"] + phases = ["cmake", "build"] + maintainers("srekolam", "renjithravindrankannath") - def url_for_version(self, version): - # Fix up a typo in the 3.5.0 release. - if version == Version("3.5.0"): - return "https://github.com/ROCm/ROCclr/archive/roc-3.5.0.tar.gz" - - url = "https://github.com/ROCm/ROCclr/archive/rocm-{0}.tar.gz" - return url.format(version) - license("MIT") version("master", branch="main") @@ -43,97 +38,12 @@ def url_for_version(self, version): version("5.2.0", sha256="37f5fce04348183bce2ece8bac1117f6ef7e710ca68371ff82ab08e93368bafb") version("5.1.3", sha256="ddee63cdc6515c90bab89572b13e1627b145916cb8ede075ef8446cbb83f0a48") version("5.1.0", sha256="f4f265604b534795a275af902b2c814f416434d9c9e16db81b3ed5d062187dfa") - version( - "5.0.2", - sha256="34decd84652268dde865f38e66f8fb4750a08c2457fea52ad962bced82a03e5e", - deprecated=True, - ) - version( - "5.0.0", - sha256="6b72faf8819628a5c109b2ade515ab9009606d10f11316f0d7e4c4c998d7f724", - deprecated=True, - ) - version( - "4.5.2", - sha256="6581916a3303a31f76454f12f86e020fb5e5c019f3dbb0780436a8f73792c4d1", - deprecated=True, - ) - version( - "4.5.0", - sha256="ca8d6305ff0e620d9cb69ff7ac3898917db9e9b6996a7320244b48ab6511dd8e", - deprecated=True, - ) - version( - "4.3.1", - sha256="bda52c65f03a69a9d8ab1a118d45646d76843249fb975d67e5141e63fa3acc79", - deprecated=True, - ) - version( - "4.3.0", - sha256="8a86b4f2a1b1c7ac628262e5b11b07ff42a224e62e594a4e0683aeb616062538", - deprecated=True, - ) - version( - "4.2.0", - sha256="c57525af32c59becf56fd83cdd61f5320a95024d9baa7fb729a01e7a9fcdfd78", - deprecated=True, - ) - version( - "4.1.0", - sha256="9eb1d88cfc9474979aaf29b99bcf9d3769a0f7f1f8f10660941aabf83d9eeb0c", - deprecated=True, - ) - version( - "4.0.0", - sha256="8db502d0f607834e3b882f939d33e8abe2f9b55ddafaf1b0c2cd29a0425ed76a", - deprecated=True, - ) - version( - "3.10.0", - sha256="d1ac02840c2dcb3d5fa3008fe9e313767ebe6d1dcf978a924341834ec96ebfe2", - deprecated=True, - ) - version( - "3.9.0", - sha256="d248958672ae35ab7f9fbd83827ccf352e2756dfa7819f6b614ace2e1a9a064e", - deprecated=True, - ) - version( - "3.8.0", - sha256="10d8aa6f5af7b51813015da603c4e75edc863c3530793f6ed9769ca345c08ed6", - deprecated=True, - ) - version( - "3.7.0", - sha256="a49f464bb2eab6317e87e3cc249aba3b2517a34fbdfe50175f0437f69a219adc", - deprecated=True, - ) - version( - "3.5.0", - sha256="87c1ee9f02b8aa487b628c543f058198767c474cec3d21700596a73c028959e1", - deprecated=True, - ) depends_on("cmake@3:", type="build") depends_on("gl@4.5:", type="link") - depends_on("libelf", type="link", when="@3.7.0:3.8.0") - depends_on("numactl", type="link", when="@3.7.0:") + depends_on("numactl", type="link") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -149,23 +59,9 @@ def url_for_version(self, version): "5.6.1", "master", ]: - depends_on("hsakmt-roct@" + ver, when="@" + ver) - depends_on("hsa-rocr-dev@" + ver, when="@" + ver) - depends_on("comgr@" + ver, when="@" + ver) - - # See: https://github.com/ROCm/ROCclr/pull/16 - # In 3.7.0 the find opengl things have changed slightly. - patch("opengl.patch", when="@3.5.0") - - resource( - name="opencl-on-vdi", - url="https://github.com/ROCm/ROCm-OpenCL-Runtime/archive/roc-3.5.0.tar.gz", - sha256="511b617d5192f2d4893603c1a02402b2ac9556e9806ff09dd2a91d398abf39a0", - expand=True, - destination="", - placement="opencl-on-vdi", - when="@3.5.0", - ) + depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}") + depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") + depends_on(f"comgr@{ver}", when=f"@{ver}") # Add opencl sources thru the below for d_version, d_shasum in [ @@ -182,30 +78,15 @@ def url_for_version(self, version): ("5.2.0", "80f73387effdcd987a150978775a87049a976aa74f5770d4420847b004dd59f0"), ("5.1.3", "44a7fac721abcd93470e1a7e466bdea0c668c253dee93e4f1ea9a72dbce4ba31"), ("5.1.0", "362d81303048cf7ed5d2f69fb65ed65425bc3da4734fff83e3b8fbdda51b0927"), - ("5.0.2", "3edb1992ba28b4a7f82dd66fbd121f62bd859c1afb7ceb47fa856bd68feedc95"), - ("5.0.0", "2aa3a628b336461f83866c4e76225ef5338359e31f802987699d6308515ae1be"), - ("4.5.2", "96b43f314899707810db92149caf518bdb7cf39f7c0ad86e98ad687ffb0d396d"), - ("4.5.0", "3a163aed24619b3faf5e8ba17325bdcedd1667a904ea20914ac6bdd33fcdbca8"), - ("4.3.1", "7f98f7d4707b4392f8aa7017aaca9e27cb20263428a1a81fb7ec7c552e60c4ca"), - ("4.3.0", "d37bddcc6835b6c0fecdf4d02c204ac1d312076f3eef2b1faded1c4c1bc651e9"), - ("4.2.0", "18133451948a83055ca5ebfb5ba1bd536ed0bcb611df98829f1251a98a38f730"), - ("4.1.0", "0729e6c2adf1e3cf649dc6e679f9cb936f4f423f4954ad9852857c0a53ef799c"), - ("4.0.0", "d43ea5898c6b9e730b5efabe8367cc136a9260afeac5d0fe85b481d625dd7df1"), - ("3.10.0", "3aa9dc5a5f570320b04b35ee129ce9ff21062d2770df934c6c307913f975e93d"), - ("3.9.0", "286ff64304905384ce524cd8794c28aee216befd6c9267d4187a12e5a21e2daf"), - ("3.8.0", "7f75dd1abf3d771d554b0e7b0a7d915ab5f11a74962c92b013ee044a23c1270a"), - ("3.7.0", "283e1dfe4c3d2e8af4d677ed3c20e975393cdb0856e3ccd77b9c7ed2a151650b"), ]: resource( name="opencl-on-vdi", - url="https://github.com/ROCm/ROCm-OpenCL-Runtime/archive/rocm-{0}.tar.gz".format( - d_version - ), + url=f"https://github.com/ROCm/ROCm-OpenCL-Runtime/archive/rocm-{d_version}.tar.gz", sha256=d_shasum, expand=True, destination="", placement="opencl-on-vdi", - when="@{0}".format(d_version), + when=f"@{d_version}", ) resource( @@ -217,28 +98,8 @@ def url_for_version(self, version): when="@master", ) - @run_after("install") - def deploy_missing_files(self): - if "@3.5.0" in self.spec: - # the amdrocclr_staticTargets.cmake file is generated but not - # installed and when we install it by hand, we have to fix the - # path to the static library libamdrocclr_static.a from build - # dir to prefix lib dir. - cmakefile = join_path(self.build_directory, "amdrocclr_staticTargets.cmake") - filter_file(self.build_directory, self.prefix.lib, cmakefile) - install(cmakefile, self.prefix.lib) - elif self.spec.satisfies("@3.7.0:4.3.2"): - path = join_path(self.prefix.lib, "cmake/rocclr/ROCclrConfig.cmake") - filter_file(self.build_directory, self.prefix, path) - def cmake_args(self): - args = [ + return [ self.define("USE_COMGR_LIBRARY", "yes"), self.define("OPENCL_DIR", join_path(self.stage.source_path, "opencl-on-vdi")), ] - return args - - def __init__(self, spec): - super().__init__(spec) - if self.spec.satisfies("@4.5.0:"): - self.phases = ["cmake", "build"] diff --git a/var/spack/repos/builtin/packages/hip/0001-Make-it-possible-to-specify-the-package-folder-of-ro.patch b/var/spack/repos/builtin/packages/hip/0001-Make-it-possible-to-specify-the-package-folder-of-ro.patch deleted file mode 100644 index 53f2bea672..0000000000 --- a/var/spack/repos/builtin/packages/hip/0001-Make-it-possible-to-specify-the-package-folder-of-ro.patch +++ /dev/null @@ -1,27 +0,0 @@ -From cf5f9124a629e0594c71daa6ea12ee823bf6a9fb Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Fri, 7 Aug 2020 23:09:43 +0200 -Subject: [PATCH] Make it possible to specify the package folder of - rocm_agent_enumerator from the command line - ---- - bin/hipcc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/bin/hipcc b/bin/hipcc -index 8c0a4796..48192ed1 100755 ---- a/bin/hipcc -+++ b/bin/hipcc -@@ -684,7 +684,8 @@ if($HIP_PLATFORM eq "hcc" or $HIP_PLATFORM eq "clang"){ - $targetsStr = $ENV{HCC_AMDGPU_TARGET}; - } else { - # Else try using rocm_agent_enumerator -- $ROCM_AGENT_ENUM = "${ROCM_PATH}/bin/rocm_agent_enumerator"; -+ $ROCMINFO_PATH = $ENV{'ROCMINFO_PATH'} // $ROCM_PATH; -+ $ROCM_AGENT_ENUM = "${ROCMINFO_PATH}/bin/rocm_agent_enumerator"; - $targetsStr = `${ROCM_AGENT_ENUM} -t GPU`; - $targetsStr =~ s/\n/,/g; - } --- -2.25.1 - diff --git a/var/spack/repos/builtin/packages/hip/0002-Fix-detection-of-HIP_CLANG_ROOT.patch b/var/spack/repos/builtin/packages/hip/0002-Fix-detection-of-HIP_CLANG_ROOT.patch deleted file mode 100644 index 61ad05873a..0000000000 --- a/var/spack/repos/builtin/packages/hip/0002-Fix-detection-of-HIP_CLANG_ROOT.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 4f324ddc12f358de47ea0ef1872c61b1dc4c46e2 Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Mon, 10 Aug 2020 15:00:06 +0200 -Subject: [PATCH] Fix detection of HIP_CLANG_ROOT - ---- - hip-config.cmake.in | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/hip-config.cmake.in b/hip-config.cmake.in -index 859e2fa0..4baafbde 100644 ---- a/hip-config.cmake.in -+++ b/hip-config.cmake.in -@@ -58,8 +58,9 @@ if(HIP_COMPILER STREQUAL "clang") - execute_process(COMMAND ${HIP_CXX_COMPILER} --version - OUTPUT_STRIP_TRAILING_WHITESPACE - OUTPUT_VARIABLE HIP_CLANG_CXX_COMPILER_VERSION_OUTPUT) -- if(HIP_CLANG_CXX_COMPILER_VERSION_OUTPUT MATCHES "InstalledDir:[\t\r\n][\t\r\n]*([^\t\r\n])") -- set(HIP_CLANG_ROOT ${CMAKE_MATCH_1}) -+ if(HIP_CLANG_CXX_COMPILER_VERSION_OUTPUT MATCHES "InstalledDir: ([^\t\r\n]+)") -+ # InstalledDir points to the bin/ directory, so the root is the parent dir -+ get_filename_component(HIP_CLANG_ROOT ${CMAKE_MATCH_1} DIRECTORY) - else() - set(HIP_CLANG_ROOT /opt/rocm/llvm) - endif() --- -2.25.1 - diff --git a/var/spack/repos/builtin/packages/hip/0003-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.4.2.0.patch b/var/spack/repos/builtin/packages/hip/0003-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.4.2.0.patch deleted file mode 100644 index 87f64923dd..0000000000 --- a/var/spack/repos/builtin/packages/hip/0003-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.4.2.0.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f97fb83..a059c42 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -72,7 +72,17 @@ list(GET VERSION_LIST 0 HIP_VERSION_MAJOR) - list(GET VERSION_LIST 1 HIP_VERSION_MINOR) - set(HIP_VERSION_GITDATE 0) - --find_package(Git) -+# only look for git when we have a git repo -+if (IS_DIRECTORY "${PROJECT_SOURCE_DIR}/.git") -+ find_package(Git) -+endif() -+ -+# FIXME: Two different version strings used. -+ -+set(HIP_PACKAGING_VERSION_PATCH "0") -+set(HIP_VERSION_GITDATE "0") -+set(HIP_VERSION_PATCH "0") -+ - - # FIXME: Two different version strings used. - if(GIT_FOUND) -@@ -118,9 +128,6 @@ if(GIT_FOUND) - else() - set(HIP_PACKAGING_VERSION_PATCH ${HIP_VERSION_GITDATE}.${HIP_VERSION_GITCOUNT}-${HIP_VERSION_GITHASH}) - endif() --else() -- # FIXME: Some parts depend on this being set. -- set(HIP_PACKAGING_VERSION_PATCH "0") - endif() - - ## Debian package specific variables -diff --git a/hip-config.cmake.in b/hip-config.cmake.in -index cbb4ffe..94e2ec1 100644 ---- a/hip-config.cmake.in -+++ b/hip-config.cmake.in -@@ -265,9 +265,6 @@ if(HIP_COMPILER STREQUAL "clang") - endif() - - # Add support for __fp16 and _Float16, explicitly link with compiler-rt -- set_property(TARGET hip::host APPEND PROPERTY -- INTERFACE_LINK_LIBRARIES "-L\"${HIP_CLANG_INCLUDE_PATH}/../lib/linux\" -lclang_rt.builtins-x86_64" -- ) - set_property(TARGET hip::device APPEND PROPERTY - INTERFACE_LINK_LIBRARIES "-L\"${HIP_CLANG_INCLUDE_PATH}/../lib/linux\" -lclang_rt.builtins-x86_64" - ) diff --git a/var/spack/repos/builtin/packages/hip/0003-Improve-compilation-without-git-repo.3.10.0.patch b/var/spack/repos/builtin/packages/hip/0003-Improve-compilation-without-git-repo.3.10.0.patch deleted file mode 100644 index d7f1a8dff3..0000000000 --- a/var/spack/repos/builtin/packages/hip/0003-Improve-compilation-without-git-repo.3.10.0.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 3a05d9ee5af2d318d27ee4b8e81542e2c81b9d5a Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Mon, 11 Jan 2021 16:38:14 +0100 -Subject: [PATCH] Improve compilation without git repo - ---- - CMakeLists.txt | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7831bb4d..c0c7a536 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -42,9 +42,17 @@ string(REPLACE "." ";" VERSION_LIST ${HIP_BASE_VERSION}) - list(GET VERSION_LIST 0 HIP_VERSION_MAJOR) - list(GET VERSION_LIST 1 HIP_VERSION_MINOR) - --find_package(Git) -+# only look for git when we have a git repo -+if (IS_DIRECTORY "${PROJECT_SOURCE_DIR}/.git") -+ find_package(Git) -+endif() - - # FIXME: Two different version strings used. -+ -+set(HIP_PACKAGING_VERSION_PATCH "0") -+set(HIP_VERSION_GITDATE "0") -+set(HIP_VERSION_PATCH "0") -+ - if(GIT_FOUND) - # get date information based on UTC - # use the last two digits of year + week number + day in the week as HIP_VERSION_GITDATE -@@ -88,9 +96,6 @@ if(GIT_FOUND) - else() - set(HIP_PACKAGING_VERSION_PATCH ${HIP_VERSION_GITDATE}.${HIP_VERSION_GITCOUNT}-${HIP_VERSION_GITHASH}) - endif() --else() -- # FIXME: Some parts depend on this being set. -- set(HIP_PACKAGING_VERSION_PATCH "0") - endif() - - ## Debian package specific variables -@@ -488,10 +493,6 @@ endif() - # Generate .hipVersion - file(WRITE "${PROJECT_BINARY_DIR}/.hipVersion" ${_versionInfo}) - --if(NOT DEFINED HIP_VERSION_GITDATE) -- set(HIP_VERSION_GITDATE 0) --endif() -- - # Build doxygen documentation - find_program(DOXYGEN_EXE doxygen) - if(DOXYGEN_EXE) --- -2.25.1 - diff --git a/var/spack/repos/builtin/packages/hip/0003-Improve-compilation-without-git-repo.3.7.0.patch b/var/spack/repos/builtin/packages/hip/0003-Improve-compilation-without-git-repo.3.7.0.patch deleted file mode 100644 index 2bb5074df2..0000000000 --- a/var/spack/repos/builtin/packages/hip/0003-Improve-compilation-without-git-repo.3.7.0.patch +++ /dev/null @@ -1,56 +0,0 @@ -From db2a538d9beaef9092dff19c36ed8a2e291bc69a Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Mon, 11 Jan 2021 16:38:14 +0100 -Subject: [PATCH 1/2] Improve compilation without git repo - ---- - CMakeLists.txt | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7f5bdad9..ca0e7ed4 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -44,9 +44,17 @@ string(REPLACE "." ";" VERSION_LIST ${HIP_BASE_VERSION}) - list(GET VERSION_LIST 0 HIP_VERSION_MAJOR) - list(GET VERSION_LIST 1 HIP_VERSION_MINOR) - --find_package(Git) -+# only look for git when we have a git repo -+if (IS_DIRECTORY "${PROJECT_SOURCE_DIR}/.git") -+ find_package(Git) -+endif() - - # FIXME: Two different version strings used. -+ -+set(HIP_PACKAGING_VERSION_PATCH "0") -+set(HIP_VERSION_GITDATE "0") -+set(HIP_VERSION_PATCH "0") -+ - if(GIT_FOUND) - # get date information based on UTC - # use the last two digits of year + week number + day in the week as HIP_VERSION_GITDATE -@@ -90,9 +98,6 @@ if(GIT_FOUND) - else() - set(HIP_PACKAGING_VERSION_PATCH ${HIP_VERSION_GITDATE}.${HIP_VERSION_GITCOUNT}-${HIP_VERSION_GITHASH}) - endif() --else() -- # FIXME: Some parts depend on this being set. -- set(HIP_PACKAGING_VERSION_PATCH "0") - endif() - - add_to_config(_versionInfo HIP_VERSION_MAJOR) -@@ -447,10 +452,6 @@ endif() - # Generate .hipVersion - file(WRITE "${PROJECT_BINARY_DIR}/.hipVersion" ${_versionInfo}) - --if(NOT DEFINED HIP_VERSION_GITDATE) -- set(HIP_VERSION_GITDATE 0) --endif() -- - # Generate hip_version.h - set(_versionInfoHeader - "// Auto-generated by cmake\n --- -2.25.1 - diff --git a/var/spack/repos/builtin/packages/hip/0003-Improve-compilation-without-git-repo.4.1.0.patch b/var/spack/repos/builtin/packages/hip/0003-Improve-compilation-without-git-repo.4.1.0.patch deleted file mode 100644 index f5b59e5b6f..0000000000 --- a/var/spack/repos/builtin/packages/hip/0003-Improve-compilation-without-git-repo.4.1.0.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 483f8c9..8ddf76e 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -52,7 +52,16 @@ string(REPLACE "." ";" VERSION_LIST ${HIP_BASE_VERSION}) - list(GET VERSION_LIST 0 HIP_VERSION_MAJOR) - list(GET VERSION_LIST 1 HIP_VERSION_MINOR) - --find_package(Git) -+# only look for git when we have a git repo -+if (IS_DIRECTORY "${PROJECT_SOURCE_DIR}/.git") -+ find_package(Git) -+endif() -+ -+# FIXME: Two different version strings used. -+ -+set(HIP_PACKAGING_VERSION_PATCH "0") -+set(HIP_VERSION_GITDATE "0") -+set(HIP_VERSION_PATCH "0") - - # FIXME: Two different version strings used. - if(GIT_FOUND) -@@ -98,9 +107,6 @@ if(GIT_FOUND) - else() - set(HIP_PACKAGING_VERSION_PATCH ${HIP_VERSION_GITDATE}.${HIP_VERSION_GITCOUNT}-${HIP_VERSION_GITHASH}) - endif() --else() -- # FIXME: Some parts depend on this being set. -- set(HIP_PACKAGING_VERSION_PATCH "0") - endif() - - ## Debian package specific variables -@@ -295,10 +301,6 @@ file(WRITE "${PROJECT_BINARY_DIR}/.hipInfo" ${_buildInfo}) - # Generate .hipVersion - file(WRITE "${PROJECT_BINARY_DIR}/.hipVersion" ${_versionInfo}) - --if(NOT DEFINED HIP_VERSION_GITDATE) -- set(HIP_VERSION_GITDATE 0) --endif() -- - # Build doxygen documentation - find_program(DOXYGEN_EXE doxygen) - if(DOXYGEN_EXE) - diff --git a/var/spack/repos/builtin/packages/hip/0004-Drop-clang-rt-builtins-linking-on-hip-host.3.10.0.patch b/var/spack/repos/builtin/packages/hip/0004-Drop-clang-rt-builtins-linking-on-hip-host.3.10.0.patch deleted file mode 100644 index a930858378..0000000000 --- a/var/spack/repos/builtin/packages/hip/0004-Drop-clang-rt-builtins-linking-on-hip-host.3.10.0.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 8b266132ee180ff8cc17b394ba64850f207a3dab Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Tue, 12 Jan 2021 12:26:44 +0100 -Subject: [PATCH] Drop clang rt builtins linking on hip::host - -Ref this comment -https://github.com/ROCm-Developer-Tools/HIP/pull/2217#discussion_r555402581: - -> Yea, this should only be linked on hip::device as I believe its needed -> for __fp16 support on the GPU. If users need this on the host-side, -> then they should explicitly add it. ---- - hip-config.cmake.in | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/hip-config.cmake.in b/hip-config.cmake.in -index 6dfbd527..0ac1b659 100644 ---- a/hip-config.cmake.in -+++ b/hip-config.cmake.in -@@ -206,9 +206,6 @@ if(HIP_COMPILER STREQUAL "clang") - endif() - - # Add support for __fp16 and _Float16, explicitly link with compiler-rt -- set_property(TARGET hip::host APPEND PROPERTY -- INTERFACE_LINK_LIBRARIES -L${HIP_CLANG_INCLUDE_PATH}/../lib/linux -lclang_rt.builtins-x86_64 -- ) - set_property(TARGET hip::device APPEND PROPERTY - INTERFACE_LINK_LIBRARIES -L${HIP_CLANG_INCLUDE_PATH}/../lib/linux -lclang_rt.builtins-x86_64 - ) --- -2.25.1 - diff --git a/var/spack/repos/builtin/packages/hip/0004-Drop-clang-rt-builtins-linking-on-hip-host.3.7.0.patch b/var/spack/repos/builtin/packages/hip/0004-Drop-clang-rt-builtins-linking-on-hip-host.3.7.0.patch deleted file mode 100644 index 936b333277..0000000000 --- a/var/spack/repos/builtin/packages/hip/0004-Drop-clang-rt-builtins-linking-on-hip-host.3.7.0.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 053bb794c57424fc47d53d8914bca1dc8d776a34 Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Tue, 12 Jan 2021 12:26:44 +0100 -Subject: [PATCH 2/2] Drop clang rt builtins linking on hip::host - -Ref this comment -https://github.com/ROCm-Developer-Tools/HIP/pull/2217#discussion_r555402581: - -> Yea, this should only be linked on hip::device as I believe its needed -> for __fp16 support on the GPU. If users need this on the host-side, -> then they should explicitly add it. ---- - hip-config.cmake.in | 6 ------ - 1 file changed, 6 deletions(-) - -diff --git a/hip-config.cmake.in b/hip-config.cmake.in -index ba340134..4daff392 100644 ---- a/hip-config.cmake.in -+++ b/hip-config.cmake.in -@@ -204,12 +204,6 @@ if(HIP_COMPILER STREQUAL "clang") - endif() - - # Add support for __fp16 and _Float16, explicitly link with compiler-rt -- set_property(TARGET hip::host APPEND PROPERTY -- INTERFACE_COMPILE_OPTIONS -L${HIP_CLANG_INCLUDE_PATH}/../lib/linux -lclang_rt.builtins-x86_64 -- ) -- set_property(TARGET hip::host APPEND PROPERTY -- INTERFACE_LINK_LIBRARIES -L${HIP_CLANG_INCLUDE_PATH}/../lib/linux -lclang_rt.builtins-x86_64 -- ) - set_property(TARGET hip::device APPEND PROPERTY - INTERFACE_COMPILE_OPTIONS -L${HIP_CLANG_INCLUDE_PATH}/../lib/linux -lclang_rt.builtins-x86_64 - ) --- -2.25.1 - diff --git a/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.5.0.patch b/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.5.0.patch deleted file mode 100644 index 500504e657..0000000000 --- a/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.5.0.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 52f389bc39e6f3d1eb76225a82c23312dd6006ee Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Wed, 4 Aug 2021 15:12:10 +0200 -Subject: [PATCH] tests - ---- - CMakeLists.txt | 30 ------------------------------ - 1 file changed, 30 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4a34b02..37e1c3f 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -641,36 +641,6 @@ if(CLANGFORMAT_EXE) - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - endif() - --############################# --# Testing steps --############################# --# Target: test --set(HIP_ROOT_DIR ${CMAKE_INSTALL_PREFIX}) --set(HIP_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}) --execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/cmake" "${HIP_ROOT_DIR}/cmake" RESULT_VARIABLE RUN_HIT ERROR_QUIET) --if(${RUN_HIT} EQUAL 0) -- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/bin" "${HIP_ROOT_DIR}/bin" RESULT_VARIABLE RUN_HIT ERROR_QUIET) --endif() --if(${RUN_HIT} EQUAL 0) -- set(CMAKE_MODULE_PATH "${HIP_ROOT_DIR}/cmake" ${CMAKE_MODULE_PATH}) -- include(${HIP_SRC_PATH}/tests/hit/HIT.cmake) -- -- # Add tests -- include_directories(${HIP_SRC_PATH}/tests/src) -- hit_add_directory_recursive(${HIP_SRC_PATH}/tests/src "directed_tests") -- -- # Add unit tests -- include_directories(${HIP_SRC_PATH}/tests/unit) -- hit_add_directory_recursive(${HIP_SRC_PATH}/tests/unit "unit_tests") -- -- # Add top-level tests to build_tests -- add_custom_target(build_tests DEPENDS directed_tests unit_tests) -- -- # Add custom target: check -- add_custom_target(check COMMAND "${CMAKE_COMMAND}" --build . --target test DEPENDS build_tests) --else() -- message(STATUS "Testing targets will not be available. To enable them please ensure that the HIP installation directory is writeable. Use -DCMAKE_INSTALL_PREFIX to specify a suitable location") --endif() - - ############################# - # Code analysis --- -2.25.1 - diff --git a/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.6.0.patch b/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.6.0.patch deleted file mode 100644 index 7adf7e35cc..0000000000 --- a/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.6.0.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 400797728d50d335c2399bc44ab2b1330d0c6dc4 Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Wed, 4 Aug 2021 15:10:00 +0200 -Subject: [PATCH] tests - ---- - CMakeLists.txt | 42 ------------------------------------------ - 1 file changed, 42 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 055543a..7e408b6 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -661,48 +661,6 @@ if(CLANGFORMAT_EXE) - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - endif() - --############################# --# Testing steps --############################# --# Target: test --set(HIP_ROOT_DIR ${CMAKE_INSTALL_PREFIX}) --set(HIP_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}) --execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/cmake" "${HIP_ROOT_DIR}/cmake" RESULT_VARIABLE RUN_HIT ERROR_QUIET) --if(${RUN_HIT} EQUAL 0) -- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/bin" "${HIP_ROOT_DIR}/bin" RESULT_VARIABLE RUN_HIT ERROR_QUIET) --endif() --if(${RUN_HIT} EQUAL 0) -- set(CMAKE_MODULE_PATH "${HIP_ROOT_DIR}/cmake" ${CMAKE_MODULE_PATH}) -- include(${HIP_SRC_PATH}/tests/hit/HIT.cmake) -- -- # Add tests -- include_directories(${HIP_SRC_PATH}/tests/src) -- hit_add_directory_recursive(${HIP_CTEST_CONFIG_DEFAULT} ${HIP_SRC_PATH}/tests/src "directed_tests") -- -- # Add unit tests -- include_directories(${HIP_SRC_PATH}/tests/unit) -- hit_add_directory_recursive(${HIP_CTEST_CONFIG_DEFAULT} ${HIP_SRC_PATH}/tests/unit "unit_tests") -- -- # Add performance tests -- include_directories(${HIP_SRC_PATH}/tests/performance) -- hit_add_directory_recursive(${HIP_CTEST_CONFIG_PERFORMANCE} ${HIP_SRC_PATH}/tests/performance "performance_tests") -- -- # Add top-level tests to build_tests -- add_custom_target(build_tests DEPENDS directed_tests unit_tests) -- -- # Add top-level tests to build performance_tests. -- # To build performance tests, just run "make build_perf" -- add_custom_target(build_perf DEPENDS performance_tests) -- -- # Add custom target: perf. -- # To run performance tests, just run "make perf" -- add_custom_target(perf COMMAND "${CMAKE_CTEST_COMMAND}" -C "${HIP_CTEST_CONFIG_PERFORMANCE}" -R "performance_tests/" --verbose) -- -- # Add custom target: check -- add_custom_target(check COMMAND "${CMAKE_COMMAND}" --build . --target test DEPENDS build_tests) --else() -- message(STATUS "Testing targets will not be available. To enable them please ensure that the HIP installation directory is writeable. Use -DCMAKE_INSTALL_PREFIX to specify a suitable location") --endif() - - ############################# - # Code analysis --- -2.25.1 - diff --git a/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.9.0.patch b/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.9.0.patch deleted file mode 100644 index fdc4a5ffa6..0000000000 --- a/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.9.0.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 823d25faf479a83879a0faf73bf95eaae9ae9fff Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Wed, 4 Aug 2021 15:06:53 +0200 -Subject: [PATCH] Disable testing - ---- - CMakeLists.txt | 45 --------------------------------------------- - 1 file changed, 45 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7831bb4..b8f420c 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -696,51 +696,6 @@ if(CLANGFORMAT_EXE) - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - endif() - --############################# --# Testing steps --############################# --# Target: test --set(HIP_ROOT_DIR ${CMAKE_CURRENT_BINARY_DIR}) --set(HIP_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}) --if(HIP_PLATFORM STREQUAL "nvcc") -- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/include" "${CMAKE_CURRENT_BINARY_DIR}/include" RESULT_VARIABLE RUN_HIT ERROR_QUIET) --endif() --execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/cmake" "${HIP_ROOT_DIR}/cmake" RESULT_VARIABLE RUN_HIT ERROR_QUIET) --if(${RUN_HIT} EQUAL 0) -- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/bin" "${HIP_ROOT_DIR}/bin" RESULT_VARIABLE RUN_HIT ERROR_QUIET) --endif() --if(${RUN_HIT} EQUAL 0) -- set(CMAKE_MODULE_PATH "${HIP_ROOT_DIR}/cmake" ${CMAKE_MODULE_PATH}) -- include(${HIP_SRC_PATH}/tests/hit/HIT.cmake) -- -- # Add tests -- include_directories(${HIP_SRC_PATH}/tests/src) -- hit_add_directory_recursive(${HIP_CTEST_CONFIG_DEFAULT} ${HIP_SRC_PATH}/tests/src "directed_tests") -- -- # Add unit tests -- include_directories(${HIP_SRC_PATH}/tests/unit) -- hit_add_directory_recursive(${HIP_CTEST_CONFIG_DEFAULT} ${HIP_SRC_PATH}/tests/unit "unit_tests") -- -- # Add performance tests -- include_directories(${HIP_SRC_PATH}/tests/performance) -- hit_add_directory_recursive(${HIP_CTEST_CONFIG_PERFORMANCE} ${HIP_SRC_PATH}/tests/performance "performance_tests") -- -- # Add top-level tests to build_tests -- add_custom_target(build_tests DEPENDS directed_tests unit_tests) -- -- # Add top-level tests to build performance_tests. -- # To build performance tests, just run "make build_perf" -- add_custom_target(build_perf DEPENDS performance_tests) -- -- # Add custom target: perf. -- # To run performance tests, just run "make perf" -- add_custom_target(perf COMMAND "${CMAKE_CTEST_COMMAND}" -C "${HIP_CTEST_CONFIG_PERFORMANCE}" -R "performance_tests/" --verbose) -- -- # Add custom target: check -- add_custom_target(check COMMAND "${CMAKE_COMMAND}" --build . --target test DEPENDS build_tests) --else() -- message(STATUS "Testing targets will not be available. To enable them please ensure that the HIP installation directory is writeable. Use -DCMAKE_INSTALL_PREFIX to specify a suitable location") --endif() - - ############################# - # Code analysis --- -2.25.1 - diff --git a/var/spack/repos/builtin/packages/hip/0005-Disable-tests-4.1.0.patch b/var/spack/repos/builtin/packages/hip/0005-Disable-tests-4.1.0.patch deleted file mode 100644 index e582951458..0000000000 --- a/var/spack/repos/builtin/packages/hip/0005-Disable-tests-4.1.0.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 0c097d01b70f479acc7c40cde35a057fafa072ba Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Wed, 4 Aug 2021 15:00:14 +0200 -Subject: [PATCH] Disable tests - ---- - CMakeLists.txt | 19 ------------------- - 1 file changed, 19 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a059c42..471fa97 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -488,25 +488,6 @@ if(CLANGFORMAT_EXE) - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - endif() - --############################# --# Testing steps --############################# --set(HIP_ROOT_DIR ${CMAKE_CURRENT_BINARY_DIR}) --set(HIP_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}) --if(HIP_PLATFORM STREQUAL "nvidia") -- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/include" "${HIP_ROOT_DIR}/include" RESULT_VARIABLE RUN_HIT ERROR_QUIET) --endif() --execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/cmake" "${HIP_ROOT_DIR}/cmake" RESULT_VARIABLE RUN_HIT ERROR_QUIET) --if(${RUN_HIT} EQUAL 0) -- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/bin" "${HIP_ROOT_DIR}/bin" RESULT_VARIABLE RUN_HIT ERROR_QUIET) --endif() --if(${RUN_HIT} EQUAL 0) -- set(CMAKE_MODULE_PATH "${HIP_ROOT_DIR}/cmake" ${CMAKE_MODULE_PATH}) -- include(${HIP_SRC_PATH}/tests/hit/HIT.cmake) -- include(${HIP_SRC_PATH}/tests/Tests.cmake) --else() -- message(STATUS "Testing targets will not be available. To enable them please ensure that the HIP installation directory is writeable. Use -DCMAKE_INSTALL_PREFIX to specify a suitable location") --endif() - - ############################# - # Code analysis --- -2.25.1 - diff --git a/var/spack/repos/builtin/packages/hip/0009-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host_disabletests.4.5.0.patch b/var/spack/repos/builtin/packages/hip/0009-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host_disabletests.4.5.0.patch deleted file mode 100644 index 8541bf45df..0000000000 --- a/var/spack/repos/builtin/packages/hip/0009-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host_disabletests.4.5.0.patch +++ /dev/null @@ -1,101 +0,0 @@ -diff --git a/hipamd/CMakeLists.txt b/hipamd/CMakeLists.txt -index b1ab39e..f1459ea 100755 ---- a/hipamd/CMakeLists.txt -+++ b/hipamd/CMakeLists.txt -@@ -87,7 +87,20 @@ string(REPLACE "-" ";" VERSION_LIST ${HIP_VERSION_PATCH_GITHASH}) - list(GET VERSION_LIST 0 HIP_VERSION_PATCH) - set(HIP_VERSION_GITDATE 0) - --find_package(Git) -+# only look for git when we have a git repo -+if (IS_DIRECTORY "${PROJECT_SOURCE_DIR}/.git") -+ find_package(Git) -+endif() -+ -+# FIXME: Two different version strings used. -+ -+set(HIP_PACKAGING_VERSION_PATCH "0") -+set(HIP_VERSION_GITDATE "0") -+set(HIP_VERSION_PATCH "0") -+set(HIP_VERSION_GITHASH "0") -+set(HIP_VERSION_PATCH_GITHASH "0") -+set (HIP_LIB_VERSION_PATCH "0") -+ - - # FIXME: Two different version strings used. - # Below we use UNIX commands, not compatible with Windows. -@@ -132,9 +145,6 @@ if(GIT_FOUND) - else() - set(HIP_PACKAGING_VERSION_PATCH ${HIP_VERSION_PATCH}-${HIP_VERSION_GITHASH}) - endif() --else() -- # FIXME: Some parts depend on this being set. -- set(HIP_PACKAGING_VERSION_PATCH "0") - endif() - - ## Debian package specific variables -@@ -177,7 +187,7 @@ set (HIP_LIB_VERSION_MINOR ${HIP_VERSION_MINOR}) - if (${ROCM_PATCH_VERSION} ) - set (HIP_LIB_VERSION_PATCH ${ROCM_PATCH_VERSION}) - else () -- set (HIP_LIB_VERSION_PATCH ${HIP_VERSION_PATCH}-${HIP_VERSION_GITHASH}) -+ set (HIP_LIB_VERSION_PATCH "0") - endif () - set (HIP_LIB_VERSION_STRING "${HIP_LIB_VERSION_MAJOR}.${HIP_LIB_VERSION_MINOR}.${HIP_LIB_VERSION_PATCH}") - if (DEFINED ENV{ROCM_RPATH}) -@@ -484,34 +494,6 @@ if(CLANGFORMAT_EXE) - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - endif() - --############################# --# Testing steps --############################# --# HIT is not compatible with Windows --if(NOT WIN32) --set(HIP_ROOT_DIR ${CMAKE_CURRENT_BINARY_DIR}) --set(HIP_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}) --if(HIP_PLATFORM STREQUAL "nvidia") -- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/include" "${HIP_ROOT_DIR}/include" RESULT_VARIABLE RUN_HIT ERROR_QUIET) --endif() --execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_COMMON_INCLUDE_DIR}/hip/" "${HIP_ROOT_DIR}/include/hip/" RESULT_VARIABLE RUN_HIT ERROR_QUIET) --execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_COMMON_DIR}/cmake" "${HIP_ROOT_DIR}/cmake" RESULT_VARIABLE RUN_HIT ERROR_QUIET) --if(${RUN_HIT} EQUAL 0) -- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_COMMON_BIN_DIR}" "${HIP_ROOT_DIR}/bin" RESULT_VARIABLE RUN_HIT ERROR_QUIET) --endif() --if(HIP_CATCH_TEST EQUAL "1") -- enable_testing() -- add_subdirectory(${HIP_COMMON_DIR}/tests/catch ${PROJECT_BINARY_DIR}/catch) --else() -- if(${RUN_HIT} EQUAL 0) -- set(CMAKE_MODULE_PATH "${HIP_ROOT_DIR}/cmake" ${CMAKE_MODULE_PATH}) -- include(${HIP_COMMON_DIR}/tests/hit/HIT.cmake) -- include(${HIP_COMMON_DIR}/tests/Tests.cmake) -- else() -- message(STATUS "Testing targets will not be available. To enable them please ensure that the HIP installation directory is writeable. Use -DCMAKE_INSTALL_PREFIX to specify a suitable location") -- endif() --endif() --endif() - - ############################# - # Code analysis -diff --git a/hipamd/hip-config.cmake.in b/hipamd/hip-config.cmake.in -index 2edce6c..ee7d70c 100755 ---- a/hipamd/hip-config.cmake.in -+++ b/hipamd/hip-config.cmake.in -@@ -212,7 +212,7 @@ if(HIP_RUNTIME MATCHES "rocclr") - - if(NOT WIN32) - set_target_properties(hip::device PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/../include" -+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/../include" - ) - endif() -@@ -271,7 +271,6 @@ if(HIP_COMPILER STREQUAL "clang") - endif() - - # Add support for __fp16 and _Float16, explicitly link with compiler-rt -- hip_add_interface_link_flags(hip::host -L\"${HIP_CLANG_INCLUDE_PATH}/../lib/linux\" -lclang_rt.builtins-x86_64) - hip_add_interface_link_flags(hip::device -L\"${HIP_CLANG_INCLUDE_PATH}/../lib/linux\" -lclang_rt.builtins-x86_64) - endif() - diff --git a/var/spack/repos/builtin/packages/hip/0010-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.5.0.0.patch b/var/spack/repos/builtin/packages/hip/0010-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.5.0.0.patch deleted file mode 100644 index e2801bf47b..0000000000 --- a/var/spack/repos/builtin/packages/hip/0010-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.5.0.0.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff --git a/bin/hipcc b/bin/hipcc -index 7b84067..9acccc0 100755 ---- a/bin/hipcc -+++ b/bin/hipcc -@@ -605,7 +605,8 @@ if($HIP_PLATFORM eq "amd"){ - $targetsStr = $ENV{HCC_AMDGPU_TARGET}; - } elsif (not $isWindows) { - # Else try using rocm_agent_enumerator -- $ROCM_AGENT_ENUM = "${ROCM_PATH}/bin/rocm_agent_enumerator"; -+ $ROCMINFO_PATH = $ENV{'ROCMINFO_PATH'} // $ROCM_PATH; -+ $ROCM_AGENT_ENUM = "${ROCMINFO_PATH}/bin/rocm_agent_enumerator"; - $targetsStr = `${ROCM_AGENT_ENUM} -t GPU`; - $targetsStr =~ s/\n/,/g; - } -diff --git a/hipamd/CMakeLists.txt b/hipamd/CMakeLists.txt -index 3c6ee26..39f4310 100755 ---- a/hipamd/CMakeLists.txt -+++ b/hipamd/CMakeLists.txt -@@ -88,7 +88,19 @@ string(REPLACE "-" ";" VERSION_LIST ${HIP_VERSION_PATCH_GITHASH}) - list(GET VERSION_LIST 0 HIP_VERSION_PATCH) - set(HIP_VERSION_GITDATE 0) - --find_package(Git) -+# only look for git when we have a git repo -+if (IS_DIRECTORY "${PROJECT_SOURCE_DIR}/.git") -+ find_package(Git) -+endif() -+ -+set(HIP_PACKAGING_VERSION_PATCH "0") -+set(HIP_VERSION_GITDATE "0") -+set(HIP_VERSION_PATCH "0") -+set(HIP_VERSION_GITHASH "0") -+set(HIP_VERSION_PATCH_GITHASH "0") -+set (HIP_LIB_VERSION_PATCH "0") -+set(HIP_VERSION_BUILD_ID 0) -+set(HIP_VERSION_BUILD_NAME "") - - # FIXME: Two different version strings used. - # Below we use UNIX commands, not compatible with Windows. -@@ -136,9 +148,6 @@ if(GIT_FOUND) - else() - set(HIP_PACKAGING_VERSION_PATCH ${HIP_VERSION_PATCH}-${HIP_VERSION_GITHASH}) - endif() --else() -- # FIXME: Some parts depend on this being set. -- set(HIP_PACKAGING_VERSION_PATCH "0") - endif() - - ## Debian package specific variables -@@ -181,7 +190,7 @@ set (HIP_LIB_VERSION_MINOR ${HIP_VERSION_MINOR}) - if (${ROCM_PATCH_VERSION} ) - set (HIP_LIB_VERSION_PATCH ${ROCM_PATCH_VERSION}) - else () -- set (HIP_LIB_VERSION_PATCH ${HIP_VERSION_PATCH}-${HIP_VERSION_GITHASH}) -+ set (HIP_LIB_VERSION_PATCH "0") - endif () - set (HIP_LIB_VERSION_STRING "${HIP_LIB_VERSION_MAJOR}.${HIP_LIB_VERSION_MINOR}.${HIP_LIB_VERSION_PATCH}") - if (DEFINED ENV{ROCM_RPATH}) -diff --git a/hipamd/hip-config.cmake.in b/hipamd/hip-config.cmake.in -index 274e3f1..2d024a8 100755 ---- a/hipamd/hip-config.cmake.in -+++ b/hipamd/hip-config.cmake.in -@@ -215,7 +215,7 @@ if(HIP_RUNTIME MATCHES "rocclr") - - if(NOT WIN32) - set_target_properties(hip::device PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/../include" -+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" - INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/../include" - ) - endif() -@@ -286,7 +286,6 @@ if(HIP_COMPILER STREQUAL "clang") - if(CLANGRT_BUILTINS-NOTFOUND) - message(FATAL_ERROR "clangrt builtins lib not found") - else() -- set_property(TARGET hip::host APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}") - set_property(TARGET hip::device APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}") - endif() - endif() diff --git a/var/spack/repos/builtin/packages/hip/Add_missing_open_cl_header_file_for_4.3.0.patch b/var/spack/repos/builtin/packages/hip/Add_missing_open_cl_header_file_for_4.3.0.patch deleted file mode 100644 index 236d591c51..0000000000 --- a/var/spack/repos/builtin/packages/hip/Add_missing_open_cl_header_file_for_4.3.0.patch +++ /dev/null @@ -1,125 +0,0 @@ -diff --git a/amdocl/cl_vk_amd.hpp b/amdocl/cl_vk_amd.hpp -new file mode 100644 -index 0000000..8b6212b ---- /dev/null -+++ b/amdocl/cl_vk_amd.hpp -@@ -0,0 +1,119 @@ -+/* Copyright (c) 2010-present Advanced Micro Devices, Inc. -+ -+Permission is hereby granted, free of charge, to any person obtaining a copy -+of this software and associated documentation files (the "Software"), to deal -+in the Software without restriction, including without limitation the rights -+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -+copies of the Software, and to permit persons to whom the Software is -+furnished to do so, subject to the following conditions: -+ -+The above copyright notice and this permission notice shall be included in -+all copies or substantial portions of the Software. -+ -+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -+THE SOFTWARE. */ -+ -+#pragma once -+ -+#include "platform/context.hpp" -+#include "platform/memory.hpp" -+ -+namespace amd -+{ -+ class VkObject : public InteropObject -+ { -+ protected: -+ amd::Os::FileDesc handleVk_; -+ -+ public: -+ //! GLObject constructor initializes member variables -+ VkObject( -+ amd::Os::FileDesc handle -+ ) // Initialization of member variables -+ -+ { -+ handleVk_ = handle; -+ } -+ -+ virtual ~VkObject() {} -+ VkObject* asVkObject() { return this; } -+ amd::Os::FileDesc getVkSharedHandle() const { return handleVk_; } -+ -+ -+ }; -+ -+ class BufferVk : public Buffer, public VkObject -+ { -+ protected: -+ //! Initializes the device memory array which is nested -+ // after'BufferVk' object in memory layout. -+ void initDeviceMemory() { -+ deviceMemories_ = -+ reinterpret_cast(reinterpret_cast(this) + sizeof(BufferVk)); -+ memset(deviceMemories_, 0, context_().devices().size() * sizeof(DeviceMemory)); -+ } -+ public: -+ //! BufferVk constructor just calls constructors of base classes -+ //! to pass down the parameters -+ BufferVk( -+ Context& amdContext, -+ size_t uiSizeInBytes, -+ amd::Os::FileDesc handle) -+ : // Call base classes constructors -+ Buffer( -+ amdContext, -+ 0, -+ uiSizeInBytes -+ ), -+ VkObject( -+ handle -+ ) -+ { -+ setInteropObj(this); -+ } -+ virtual ~BufferVk() {} -+ -+ BufferVk* asBufferVk() { return this; } -+ }; -+ -+ // to be modified once image requirments are known, for now, implement like buffer -+ -+ class ImageVk : public Buffer, public VkObject -+ { -+ protected: -+ //! Initializes the device memory array which is nested -+ // after'ImageVk' object in memory layout. -+ void initDeviceMemory() { -+ deviceMemories_ = -+ reinterpret_cast(reinterpret_cast(this) + sizeof(ImageVk)); -+ memset(deviceMemories_, 0, context_().devices().size() * sizeof(DeviceMemory)); -+ } -+ public: -+ //! ImageVk constructor just calls constructors of base classes -+ //! to pass down the parameters -+ ImageVk( -+ Context& amdContext, -+ size_t uiSizeInBytes, -+ amd::Os::FileDesc handle) -+ : // Call base classes constructors -+ Buffer( -+ amdContext, -+ 0, -+ uiSizeInBytes -+ ), -+ VkObject( -+ handle -+ ) -+ { -+ setInteropObj(this); -+ } -+ virtual ~ImageVk() {} -+ -+ ImageVk* asImageVk() { return this; } -+ }; -+} diff --git a/var/spack/repos/builtin/packages/hip/package.py b/var/spack/repos/builtin/packages/hip/package.py index 769d00e4c0..b646ddd5cd 100644 --- a/var/spack/repos/builtin/packages/hip/package.py +++ b/var/spack/repos/builtin/packages/hip/package.py @@ -45,76 +45,6 @@ class Hip(CMakePackage): version("5.2.0", sha256="a6e0515d4d25865c037b546035df9c51f0882cd2700e759c266ff7e199f37c3a") version("5.1.3", sha256="ce755ee6e407904eba3f6b3c9efcdd48eb4f58a26b06e1892166d05f19a75973") version("5.1.0", sha256="47e542183699f4005c48631d96f6a1fbdf27e07ad3402ccd7b5f707c2c602266") - version( - "5.0.2", - sha256="e23601e6f4f62083899ea6356fffbe88d1deb20fa61f2c970e3c0474cd8886ca", - deprecated=True, - ) - version( - "5.0.0", - sha256="ae12fcda2d955f04a51c9e794bdb0fa96539cda88b6de8e377850e68e7c2a781", - deprecated=True, - ) - version( - "4.5.2", - sha256="c2113dc3c421b8084cd507d91b6fbc0170765a464b71fb0d96bb875df368f160", - deprecated=True, - ) - version( - "4.5.0", - sha256="4026f31fb4f8050e9aa9d4294f29c3410bfb38422dbbae4236ccd65fed4d55b2", - deprecated=True, - ) - version( - "4.3.1", - sha256="955311193819f487f9a2d64bffe07c4b8c3a0dc644dc3ad984f7c66a325bdd6f", - deprecated=True, - ) - version( - "4.3.0", - sha256="293b5025b5e153f2f25e465a2e0006a2b4606db7b7ec2ae449f8a4c0b52d491b", - deprecated=True, - ) - version( - "4.2.0", - sha256="ecb929e0fc2eaaf7bbd16a1446a876a15baf72419c723734f456ee62e70b4c24", - deprecated=True, - ) - version( - "4.1.0", - sha256="e21c10b62868ece7aa3c8413ec0921245612d16d86d81fe61797bf9a64bc37eb", - deprecated=True, - ) - version( - "4.0.0", - sha256="d7b78d96cec67c55b74ea3811ce861b16d300410bc687d0629e82392e8d7c857", - deprecated=True, - ) - version( - "3.10.0", - sha256="0082c402f890391023acdfd546760f41cb276dffc0ffeddc325999fd2331d4e8", - deprecated=True, - ) - version( - "3.9.0", - sha256="25ad58691456de7fd9e985629d0ed775ba36a2a0e0b21c086bd96ba2fb0f7ed1", - deprecated=True, - ) - version( - "3.8.0", - sha256="6450baffe9606b358a4473d5f3e57477ca67cff5843a84ee644bcf685e75d839", - deprecated=True, - ) - version( - "3.7.0", - sha256="757b392c3beb29beea27640832fbad86681dbd585284c19a4c2053891673babd", - deprecated=True, - ) - version( - "3.5.0", - sha256="ae8384362986b392288181bcfbe5e3a0ec91af4320c189bd83c844ed384161b3", - deprecated=True, - ) variant("rocm", default=True, description="Enable ROCm support") variant("cuda", default=False, description="Build with CUDA") @@ -123,8 +53,7 @@ class Hip(CMakePackage): depends_on("cuda", when="+cuda") - depends_on("cmake@3.16.8:", type=("build"), when="@4.5.0:") - depends_on("cmake@3.4.3:", type="build") + depends_on("cmake@3.16.8:", type="build") depends_on("perl@5.10:", type=("build", "run")) test_requires_compiler = True @@ -133,33 +62,6 @@ class Hip(CMakePackage): depends_on("gl@4.5:") depends_on("py-cppheaderparser", type="build", when="@5.3.3:") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - ]: - depends_on("hip-rocclr@" + ver, when="@" + ver) - for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -178,12 +80,12 @@ class Hip(CMakePackage): "6.0.0", "6.0.2", ]: - depends_on("hsakmt-roct@" + ver, when="@" + ver) - depends_on("hsa-rocr-dev@" + ver, when="@" + ver) - depends_on("comgr@" + ver, when="@" + ver) - depends_on("llvm-amdgpu@{0} +rocm-device-libs".format(ver), when="@" + ver) - depends_on("rocminfo@" + ver, when="@" + ver) - depends_on("roctracer-dev-api@" + ver, when="@" + ver) + depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}") + depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") + depends_on(f"comgr@{ver}", when=f"@{ver}") + depends_on(f"llvm-amdgpu@{ver} +rocm-device-libs", when=f"@{ver}") + depends_on(f"rocminfo@{ver}", when=f"@{ver}") + depends_on(f"roctracer-dev-api@{ver}", when=f"@{ver}") for ver in [ "5.4.0", @@ -197,9 +99,10 @@ class Hip(CMakePackage): "6.0.0", "6.0.2", ]: - depends_on("hipify-clang", when="@" + ver) + depends_on("hipify-clang", when=f"@{ver}") + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") # hipcc likes to add `-lnuma` by default :( # ref https://github.com/ROCm/HIP/pull/2202 depends_on("numactl", when="@3.7.0:") @@ -221,19 +124,15 @@ class Hip(CMakePackage): ("5.2.0", "8774958bebc29a4b7eb9dc2d38808d79d9a24bf9c1f44e801ff99d2d5ba82240"), ("5.1.3", "707f2217f0e7aeb62d7b76830a271056d665542bf5f7a54e40adf4d5f299ca93"), ("5.1.0", "77984854bfe00f938353fe4c7604d09967eaf5c609d05f1e6423d3c3dea86e61"), - ("5.0.2", "80e7268dd22eba0f2f9222932480dede1d80e56227c0168c6a0cc8e4f23d3b76"), - ("5.0.0", "cbd95a577abfd7cbffee14a4848f7789a417c6e5e5a713f42eb75d7948abcdf9"), - ("4.5.2", "b6f35b1a1d0c466b5af28e26baf646ae63267eccc4852204db1e0c7222a39ce2"), - ("4.5.0", "7b93ab64d6894ff9b5ba0be35e3ed8501d6b18a2a14223d6311d72ab8a9cdba6"), ]: resource( name="hipamd", - url="https://github.com/ROCm/hipamd/archive/rocm-{0}.tar.gz".format(d_version), + url=f"https://github.com/ROCm/hipamd/archive/rocm-{d_version}.tar.gz", sha256=d_shasum, expand=True, destination="", placement="hipamd", - when="@{0}".format(d_version), + when=f"@{d_version}", ) # Add opencl sources thru the below for d_version, d_shasum in [ @@ -248,21 +147,15 @@ class Hip(CMakePackage): ("5.2.0", "80f73387effdcd987a150978775a87049a976aa74f5770d4420847b004dd59f0"), ("5.1.3", "44a7fac721abcd93470e1a7e466bdea0c668c253dee93e4f1ea9a72dbce4ba31"), ("5.1.0", "362d81303048cf7ed5d2f69fb65ed65425bc3da4734fff83e3b8fbdda51b0927"), - ("5.0.2", "3edb1992ba28b4a7f82dd66fbd121f62bd859c1afb7ceb47fa856bd68feedc95"), - ("5.0.0", "2aa3a628b336461f83866c4e76225ef5338359e31f802987699d6308515ae1be"), - ("4.5.2", "96b43f314899707810db92149caf518bdb7cf39f7c0ad86e98ad687ffb0d396d"), - ("4.5.0", "3a163aed24619b3faf5e8ba17325bdcedd1667a904ea20914ac6bdd33fcdbca8"), ]: resource( name="opencl", - url="https://github.com/ROCm/ROCm-OpenCL-Runtime/archive/rocm-{0}.tar.gz".format( - d_version - ), + url=f"https://github.com/ROCm/ROCm-OpenCL-Runtime/archive/rocm-{d_version}.tar.gz", sha256=d_shasum, expand=True, destination="", placement="opencl", - when="@{0}".format(d_version), + when=f"@{d_version}", ) for d_version, d_shasum in [ ("5.5.1", "1375fc7723cfaa0ae22a78682186d4804188b0a54990bfd9c0b8eb421b85e37e"), @@ -276,19 +169,15 @@ class Hip(CMakePackage): ("5.2.0", "37f5fce04348183bce2ece8bac1117f6ef7e710ca68371ff82ab08e93368bafb"), ("5.1.3", "ddee63cdc6515c90bab89572b13e1627b145916cb8ede075ef8446cbb83f0a48"), ("5.1.0", "f4f265604b534795a275af902b2c814f416434d9c9e16db81b3ed5d062187dfa"), - ("5.0.2", "34decd84652268dde865f38e66f8fb4750a08c2457fea52ad962bced82a03e5e"), - ("5.0.0", "6b72faf8819628a5c109b2ade515ab9009606d10f11316f0d7e4c4c998d7f724"), - ("4.5.2", "6581916a3303a31f76454f12f86e020fb5e5c019f3dbb0780436a8f73792c4d1"), - ("4.5.0", "ca8d6305ff0e620d9cb69ff7ac3898917db9e9b6996a7320244b48ab6511dd8e"), ]: resource( name="rocclr", - url="https://github.com/ROCm/ROCclr/archive/rocm-{0}.tar.gz".format(d_version), + url=f"https://github.com/ROCm/ROCclr/archive/rocm-{d_version}.tar.gz", sha256=d_shasum, expand=True, destination="", placement="rocclr", - when="@{0}".format(d_version), + when=f"@{d_version}", ) # Add hip-clr sources thru the below for d_version, d_shasum in [ @@ -301,12 +190,12 @@ class Hip(CMakePackage): ]: resource( name="clr", - url="https://github.com/ROCm/clr/archive/refs/tags/rocm-{0}.tar.gz".format(d_version), + url=f"https://github.com/ROCm/clr/archive/refs/tags/rocm-{d_version}.tar.gz", sha256=d_shasum, expand=True, destination="", placement="clr", - when="@{0}".format(d_version), + when=f"@{d_version}", ) # Add hipcc sources thru the below @@ -320,14 +209,12 @@ class Hip(CMakePackage): ]: resource( name="hipcc", - url="https://github.com/ROCm/HIPCC/archive/refs/tags/rocm-{0}.tar.gz".format( - d_version - ), + url=f"https://github.com/ROCm/HIPCC/archive/refs/tags/rocm-{d_version}.tar.gz", sha256=d_shasum, expand=True, destination="", placement="hipcc", - when="@{0}".format(d_version), + when=f"@{d_version}", ) # Add hiptests sources thru the below for d_version, d_shasum in [ @@ -340,27 +227,13 @@ class Hip(CMakePackage): ]: resource( name="hip-tests", - url="https://github.com/ROCm/hip-tests/archive/refs/tags/rocm-{0}.tar.gz".format( - d_version - ), + url=f"https://github.com/ROCm/hip-tests/archive/refs/tags/rocm-{d_version}.tar.gz", sha256=d_shasum, expand=True, destination="", placement="hip-tests", - when="@{0}".format(d_version), + when=f"@{d_version}", ) - # Note: the ROCm ecosystem expects `lib/` and `bin/` folders with symlinks - # in the parent directory of the package, which is incompatible with spack. - # In hipcc the ROCM_PATH variable is used to point to the parent directory - # of the package. With the following patch we should never hit code that - # uses the ROCM_PATH variable again; just to be sure we set it to an empty - # string. - patch("0001-Make-it-possible-to-specify-the-package-folder-of-ro.patch", when="@3.5.0:4.5.3") - patch( - "0010-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host" - ".5.0.0.patch", - when="@5.0.0", - ) patch( "0011-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host" ".5.0.2.patch", @@ -382,35 +255,6 @@ class Hip(CMakePackage): ) patch("0013-remove-compiler-rt-linkage-for-host.5.3.0.patch", when="@5.3.0:5.4") - # See https://github.com/ROCm/HIP/pull/2141 - patch("0002-Fix-detection-of-HIP_CLANG_ROOT.patch", when="@:3.9.0") - - # See https://github.com/ROCm/HIP/pull/2218 - patch("0003-Improve-compilation-without-git-repo.3.7.0.patch", when="@3.7.0:3.9.0") - patch("0003-Improve-compilation-without-git-repo.3.10.0.patch", when="@3.10.0:4.0.0") - patch("0003-Improve-compilation-without-git-repo.4.1.0.patch", when="@4.1.0") - patch( - "0003-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host" - ".4.2.0.patch", - when="@4.2.0:4.3.2", - ) - patch( - "0009-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host" - "_disabletests.4.5.0.patch", - when="@4.5.0:4.5.3", - ) - # See https://github.com/ROCm/HIP/pull/2219 - patch("0004-Drop-clang-rt-builtins-linking-on-hip-host.3.7.0.patch", when="@3.7.0:3.9.0") - patch("0004-Drop-clang-rt-builtins-linking-on-hip-host.3.10.0.patch", when="@3.10.0:4.1.0") - - # Tests are broken when using cmake 3.21 - with when("^cmake@3.21.0:"): - patch("0005-Disable-tests-3.5.0.patch", when="@3.5.0") - patch("0005-Disable-tests-3.6.0.patch", when="@3.6.0:3.8.0") - patch("0005-Disable-tests-3.9.0.patch", when="@3.9.0:4.0.0") - patch("0005-Disable-tests-4.1.0.patch", when="@4.1.0:4.3.2") - - patch("Add_missing_open_cl_header_file_for_4.3.0.patch", when="@4.3.0:4.3.2") patch("0014-hip-test-file-reorg-5.4.0.patch", when="@5.4.0:5.5") patch("0016-hip-sample-fix-hipMalloc-call.patch", when="@5.4.3:5.5") patch("0014-remove-compiler-rt-linkage-for-host.5.5.0.patch", when="@5.5") @@ -430,9 +274,7 @@ class Hip(CMakePackage): @property def root_cmakelists_dir(self): - if self.spec.satisfies("@:4.3.2"): - return self.stage.source_path - elif self.spec.satisfies("@4.5:5.5"): + if self.spec.satisfies("@4.5:5.5"): return "hipamd" else: return "clr" @@ -536,10 +378,7 @@ def set_variables(self, env): # hipcc recognizes HIP_PLATFORM == hcc and HIP_COMPILER == clang, even # though below we specified HIP_PLATFORM=rocclr and HIP_COMPILER=clang # in the CMake args. - if self.spec.satisfies("@:4.0.0"): - env.set("HIP_PLATFORM", "hcc") - else: - env.set("HIP_PLATFORM", "amd") + env.set("HIP_PLATFORM", "amd") env.set("HIP_COMPILER", "clang") @@ -579,12 +418,11 @@ def set_variables(self, env): # to the hip prefix directory for non-external builds so that the # bin/.hipVersion file can still be parsed. # See also https://github.com/ROCm/HIP/issues/2223 - if "@3.8.0:" in self.spec: - env.append_path( - "HIPCC_COMPILE_FLAGS_APPEND", - "--rocm-path={0}".format(paths["rocm-path"]), - separator=" ", - ) + env.append_path( + "HIPCC_COMPILE_FLAGS_APPEND", + "--rocm-path={0}".format(paths["rocm-path"]), + separator=" ", + ) elif self.spec.satisfies("+cuda"): env.set("CUDA_PATH", self.spec["cuda"].prefix) env.set("HIP_PATH", self.spec.prefix) @@ -611,13 +449,6 @@ def setup_dependent_package(self, module, dependent_spec): self.spec.hipcc = join_path(self.prefix.bin, "hipcc") def patch(self): - if self.spec.satisfies("@:4.3.2"): - filter_file( - 'INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/../include"', - 'INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"', - "hip-config.cmake.in", - string=True, - ) if self.spec.satisfies("@5.2:5.4 +rocm"): filter_file( '"${ROCM_PATH}/llvm"', @@ -646,75 +477,26 @@ def patch(self): string=True, ) perl = self.spec["perl"].command - kwargs = {"ignore_absent": False, "backup": False, "string": False} - - with working_dir("bin"): - match = "^#!/usr/bin/perl" - substitute = "#!{perl}".format(perl=perl) - - if self.spec.satisfies("@:4.0.0"): - files = ["hipify-perl", "hipcc", "extractkernel", "hipconfig", "hipify-cmakefile"] - elif self.spec.satisfies("@4.0.0:4.3.2"): - files = [ - "hipify-perl", - "hipcc", - "roc-obj-extract", - "hipconfig", - "hipify-cmakefile", - "roc-obj-ls", - "hipvars.pm", - ] - elif self.spec.satisfies("@4.5.0:5.5"): - files = [] - filter_file(match, substitute, *files, **kwargs) - # This guy is used during the cmake phase, so we have to fix the - # shebang already here in case it is too long. - filter_shebang("hipconfig") - if self.spec.satisfies("@4.5.0:5.5"): - perl = self.spec["perl"].command - kwargs = {"ignore_absent": False, "backup": False, "string": False} - with working_dir("hipamd/bin"): - match = "^#!/usr/bin/perl" - substitute = "#!{perl}".format(perl=perl) - files = ["roc-obj-extract", "roc-obj-ls"] - filter_file(match, substitute, *files, **kwargs) - if self.spec.satisfies("@5.6.0:"): - perl = self.spec["perl"].command - kwargs = {"ignore_absent": False, "backup": False, "string": False} - match = "^#!/usr/bin/perl" - substitute = "#!{perl}".format(perl=perl) - with working_dir("clr/hipamd/bin"): - files = ["roc-obj-extract", "roc-obj-ls"] - filter_file(match, substitute, *files, **kwargs) - with working_dir("hipcc/bin"): - files = [] - filter_file(match, substitute, *files, **kwargs) - filter_shebang("hipconfig") - if "@3.7.0: +rocm" in self.spec: - numactl = self.spec["numactl"].prefix.lib - kwargs = {"ignore_absent": False, "backup": False, "string": False} + if self.spec.satisfies("@:5.5"): with working_dir("bin"): - match = " -lnuma" - substitute = " -L{numactl} -lnuma".format(numactl=numactl) - if self.spec.satisfies("@4.5.0:5.5"): - filter_file(match, substitute, "hipcc", **kwargs) - if "@5.6.0: +rocm" in self.spec: + filter_shebang("hipconfig") + with working_dir("hipamd/bin"): + filter_file("^#!/usr/bin/perl", f"#!{perl}", "roc-obj-extract", "roc-obj-ls") + if self.spec.satisfies("@5.6:"): + with working_dir("clr/hipamd/bin"): + filter_file("^#!/usr/bin/perl", f"#!{perl}", "roc-obj-extract", "roc-obj-ls") + with working_dir("hipcc/bin"): + filter_shebang("hipconfig") + + if self.spec.satisfies("+rocm"): numactl = self.spec["numactl"].prefix.lib - kwargs = {"ignore_absent": False, "backup": False, "string": False} - - with working_dir("hipcc/src"): - match = " -lnuma" - substitute = " -L{numactl} -lnuma".format(numactl=numactl) - filter_file(match, substitute, "hipBin_amd.h", **kwargs) - - def flag_handler(self, name, flags): - if name == "cxxflags" and self.spec.satisfies("@3.7.0:4.3.2"): - incl = self.spec["hip-rocclr"].prefix.include - flags.append("-I {0}/compiler/lib/include".format(incl)) - flags.append("-I {0}/elf".format(incl)) - - return (flags, None, None) + if self.spec.satisfies("@:5.5"): + with working_dir("bin"): + filter_file(" -lnuma", f" -L{numactl} -lnuma", "hipcc") + elif self.spec.satisfies("@5.6:"): + with working_dir("hipcc/src"): + filter_file(" -lnuma", f" -L{numactl} -lnuma", "hipBin_amd.h") def cmake_args(self): args = [] @@ -727,22 +509,14 @@ def cmake_args(self): self.spec["roctracer-dev-api"].prefix.roctracer.include.ext, ) ) - if self.spec.satisfies("@:4.0.0"): - args.append(self.define("HIP_RUNTIME", "ROCclr")) - args.append(self.define("HIP_PLATFORM", "rocclr")) - else: - args.append(self.define("HIP_RUNTIME", "rocclr")) - args.append(self.define("HIP_PLATFORM", "amd")) + args.append(self.define("HIP_RUNTIME", "rocclr")) + args.append(self.define("HIP_PLATFORM", "amd")) if self.spec.satisfies("+cuda"): args.append(self.define("HIP_PLATFORM", "nvidia")) - # LIBROCclr_STATIC_DIR is unused from 3.6.0 and above - if "@3.5.0:4.3.2" in self.spec: - args.append(self.define("LIBROCclr_STATIC_DIR", self.spec["hip-rocclr"].prefix.lib)) - if "@4.5.0:" in self.spec: - args.append(self.define("HIP_COMMON_DIR", self.stage.source_path)) - args.append(self.define("HIP_CATCH_TEST", "OFF")) - if "@4.5.0:5.5" in self.spec: + args.append(self.define("HIP_COMMON_DIR", self.stage.source_path)) + args.append(self.define("HIP_CATCH_TEST", "OFF")) + if "@:5.5" in self.spec: args.append(self.define("ROCCLR_PATH", self.stage.source_path + "rocclr")) args.append(self.define("AMD_OPENCL_PATH", self.stage.source_path + "opencl")) if "@5.3.0:" in self.spec: diff --git a/var/spack/repos/builtin/packages/hipblas/hipblas-link-clients-blas-5.0.0.patch b/var/spack/repos/builtin/packages/hipblas/hipblas-link-clients-blas-5.0.0.patch deleted file mode 100644 index 6c96b61943..0000000000 --- a/var/spack/repos/builtin/packages/hipblas/hipblas-link-clients-blas-5.0.0.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/clients/benchmarks/CMakeLists.txt b/clients/benchmarks/CMakeLists.txt -index f2f5428..7d5a6f8 100644 ---- a/clients/benchmarks/CMakeLists.txt -+++ b/clients/benchmarks/CMakeLists.txt -@@ -94,7 +94,7 @@ if(LINK_BLIS) - endif() - - if (NOT WIN32) -- target_link_libraries( hipblas-bench PRIVATE hipblas_fortran_client roc::hipblas cblas lapack) -+ target_link_libraries( hipblas-bench PRIVATE hipblas_fortran_client roc::hipblas cblas lapack blas) - endif() - - if(LINK_BLIS) -diff --git a/clients/gtest/CMakeLists.txt b/clients/gtest/CMakeLists.txt -index 9328055..188b7bc 100644 ---- a/clients/gtest/CMakeLists.txt -+++ b/clients/gtest/CMakeLists.txt -@@ -156,7 +156,7 @@ if (NOT WIN32) - target_link_libraries( hipblas-test PRIVATE hipblas_fortran_client roc::hipblas cblas lapack) - endif() - --target_link_libraries( hipblas-test PRIVATE roc::hipblas cblas lapack ${GTEST_LIBRARIES} ) -+target_link_libraries( hipblas-test PRIVATE roc::hipblas cblas lapack blas ${GTEST_LIBRARIES} ) - - if(LINK_BLIS) - target_link_libraries( hipblas-test PRIVATE ${BLIS_LIBRARY} ) diff --git a/var/spack/repos/builtin/packages/hipblas/link-clients-blas-4.5.0.patch b/var/spack/repos/builtin/packages/hipblas/link-clients-blas-4.5.0.patch deleted file mode 100644 index 9f4d9c6e6f..0000000000 --- a/var/spack/repos/builtin/packages/hipblas/link-clients-blas-4.5.0.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/clients/benchmarks/CMakeLists.txt b/clients/benchmarks/CMakeLists.txt -index 9c9e1d7..c9ce5f0 100644 ---- a/clients/benchmarks/CMakeLists.txt -+++ b/clients/benchmarks/CMakeLists.txt -@@ -93,7 +93,7 @@ if(LINK_BLIS) - endif() - - if (NOT WIN32) -- target_link_libraries( hipblas-bench PRIVATE hipblas_fortran_client roc::hipblas cblas lapack) -+ target_link_libraries( hipblas-bench PRIVATE hipblas_fortran_client roc::hipblas cblas lapack blas) - endif() - - if(LINK_BLIS) -diff --git a/clients/gtest/CMakeLists.txt b/clients/gtest/CMakeLists.txt -index 75dcce8..620102d 100644 ---- a/clients/gtest/CMakeLists.txt -+++ b/clients/gtest/CMakeLists.txt -@@ -172,7 +172,7 @@ if (NOT WIN32) - target_link_libraries( hipblas-test PRIVATE hipblas_fortran_client roc::hipblas cblas lapack) - endif() - --target_link_libraries( hipblas-test PRIVATE roc::hipblas cblas lapack ${GTEST_LIBRARIES} ${Boost_LIBRARIES} ) -+target_link_libraries( hipblas-test PRIVATE roc::hipblas cblas lapack blas ${GTEST_LIBRARIES} ${Boost_LIBRARIES} ) - - if(LINK_BLIS) - target_link_libraries( hipblas-test PRIVATE ${BLIS_LIBRARY} ) diff --git a/var/spack/repos/builtin/packages/hipblas/link-clients-blas.patch b/var/spack/repos/builtin/packages/hipblas/link-clients-blas.patch deleted file mode 100644 index 18e599d9ab..0000000000 --- a/var/spack/repos/builtin/packages/hipblas/link-clients-blas.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -r -u a/clients/benchmarks/CMakeLists.txt b/clients/benchmarks/CMakeLists.txt ---- a/clients/benchmarks/CMakeLists.txt 2021-10-28 14:14:41.379987882 -0600 -+++ b/clients/benchmarks/CMakeLists.txt 2021-10-28 13:37:50.409696036 -0600 -@@ -53,7 +53,7 @@ - $ - ) - --target_link_libraries( hipblas-bench PRIVATE hipblas_fortran_client roc::hipblas cblas lapack) -+target_link_libraries( hipblas-bench PRIVATE hipblas_fortran_client roc::hipblas cblas lapack blas) - - # need mf16c flag for float->half convertion - target_compile_options( hipblas-bench PRIVATE -mf16c) -diff -r -u a/clients/gtest/CMakeLists.txt b/clients/gtest/CMakeLists.txt ---- a/clients/gtest/CMakeLists.txt 2021-10-28 14:14:41.379987882 -0600 -+++ b/clients/gtest/CMakeLists.txt 2021-10-28 13:37:34.609274623 -0600 -@@ -146,7 +146,7 @@ - ${ROCM_PATH}/hsa/include - ) - --target_link_libraries( hipblas-test PRIVATE roc::hipblas cblas lapack ${GTEST_LIBRARIES} ${Boost_LIBRARIES} hipblas_fortran_client ) -+target_link_libraries( hipblas-test PRIVATE roc::hipblas cblas lapack blas ${GTEST_LIBRARIES} ${Boost_LIBRARIES} hipblas_fortran_client ) - - # need mf16c flag for float->half convertion - target_compile_options( hipblas-test PRIVATE -mf16c ) diff --git a/var/spack/repos/builtin/packages/hipblas/package.py b/var/spack/repos/builtin/packages/hipblas/package.py index b5737935ea..7a58fc9d57 100644 --- a/var/spack/repos/builtin/packages/hipblas/package.py +++ b/var/spack/repos/builtin/packages/hipblas/package.py @@ -42,76 +42,6 @@ class Hipblas(CMakePackage, CudaPackage, ROCmPackage): version("5.2.0", sha256="5e9091dc4ef83896f5c3bc5ade1cb5db8e1a6afc451dbba4da19d8a7ec2b6f29") version("5.1.3", sha256="f0fdaa851971b41b48ec2e7d640746fbd6f9f433da2020c5fd95c91a7473d9e1") version("5.1.0", sha256="22faba3828e50a4c4e22f569a7d6441c797a11db1d472619c01d3515a3275e92") - version( - "5.0.2", - sha256="201772bfc422ecb2c50e898dccd7d3d376cf34a2b795360e34bf71326aa37646", - deprecated=True, - ) - version( - "5.0.0", - sha256="63cffe748ed4a86fc80f408cb9e8a9c6c55c22a2b65c0eb9a76360b97bbb9d41", - deprecated=True, - ) - version( - "4.5.2", - sha256="82dd82a41bbadbb2a91a2a44a5d8e0d2e4f36d3078286ed4db3549b1fb6d6978", - deprecated=True, - ) - version( - "4.5.0", - sha256="187777ed49cc7c496c897e8ba80532d458c9afbc51a960e45f96923ad896c18e", - deprecated=True, - ) - version( - "4.3.1", - sha256="7b1f774774de5fa3d2b777e3a262328559d56165c32aa91b002505694362e7b2", - deprecated=True, - ) - version( - "4.3.0", - sha256="0631e21c588794ea1c8413ef8ff293606bcf7a52c0c3ff88da824f103395a76a", - deprecated=True, - ) - version( - "4.2.0", - sha256="c7ce7f69c7596b5a54e666fb1373ef41d1f896dd29260a691e2eadfa863e2b1a", - deprecated=True, - ) - version( - "4.1.0", - sha256="876efe80a4109ad53d290d2921b3fb425b4cb857b32920819f10dcd4deee4ef8", - deprecated=True, - ) - version( - "4.0.0", - sha256="6cc03af891b36cce8266d32ba8dfcf7fdfcc18afa7a6cc058fbe28bcf8528d94", - deprecated=True, - ) - version( - "3.10.0", - sha256="45cb5e3b37f0845bd9e0d09912df4fa0ce88dd508ec9448241ae6600d3c4b1e8", - deprecated=True, - ) - version( - "3.9.0", - sha256="82ddd57fd905a5d4060665349ec017ff757a7c121cb9310574be3c3630b3545f", - deprecated=True, - ) - version( - "3.8.0", - sha256="33cb82e8b2658ae2096f39e41492ba8b6852ac37c26a730612b8642d9d29abe3", - deprecated=True, - ) - version( - "3.7.0", - sha256="9840a493ab4838c86696ceb33ce07c34b5f59f62db4f88cb3af62b69d84f8729", - deprecated=True, - ) - version( - "3.5.0", - sha256="d451da80beb048767da71a090afceed2e111d01b3e95a7044deada5054d6e7b1", - deprecated=True, - ) # default to an 'auto' variant until amdgpu_targets can be given a better default than 'none' amdgpu_targets = ROCmPackage.amdgpu_targets @@ -136,35 +66,17 @@ class Hipblas(CMakePackage, CudaPackage, ROCmPackage): depends_on("netlib-lapack@3.7.1:", type="test") depends_on("boost@1.64.0:1.76.0 +program_options cxxstd=14", type="test") - patch("link-clients-blas.patch", when="@4.3.0:4.3.2") - patch("link-clients-blas-4.5.0.patch", when="@4.5.0:4.5.2") - patch("hipblas-link-clients-blas-5.0.0.patch", when="@5.0.0:5.0.2") patch("remove-hipblas-clients-file-installation.patch", when="@5.5:5.7.1") patch("remove-hipblas-clients-file-installation-6.0.patch", when="@6.0:") depends_on("rocm-cmake@5.2.0:", type="build", when="@5.2.0:5.7") - depends_on("rocm-cmake@4.5.0:", type="build", when="@4.5.0:") - depends_on("rocm-cmake@3.5.0:", type="build") + depends_on("rocm-cmake@4.5.0:", type="build") for ver in ["6.0.0", "6.0.2"]: - depends_on("rocm-cmake@" + ver, when="+rocm @" + ver) + depends_on(f"rocm-cmake@{ver}", when=f"+rocm @{ver}") depends_on("hip +cuda", when="+cuda") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -185,15 +97,11 @@ class Hipblas(CMakePackage, CudaPackage, ROCmPackage): "master", "develop", ]: - depends_on("rocsolver@" + ver, when="+rocm @" + ver) - depends_on("rocblas@" + ver, when="+rocm @" + ver) + depends_on(f"rocsolver@{ver}", when=f"+rocm @{ver}") + depends_on(f"rocblas@{ver}", when=f"+rocm @{ver}") for tgt in ROCmPackage.amdgpu_targets: - depends_on( - "rocblas amdgpu_target={0}".format(tgt), when="+rocm amdgpu_target={0}".format(tgt) - ) - depends_on( - "rocsolver amdgpu_target={0}".format(tgt), when="+rocm amdgpu_target={0}".format(tgt) - ) + depends_on(f"rocblas amdgpu_target={tgt}", when=f"+rocm amdgpu_target={tgt}") + depends_on(f"rocsolver amdgpu_target={tgt}", when=f"+rocm amdgpu_target={tgt}") @classmethod def determine_version(cls, lib): @@ -210,15 +118,11 @@ def cmake_args(self): args = [ self.define("BUILD_CLIENTS_SAMPLES", "OFF"), self.define("BUILD_CLIENTS_TESTS", self.run_tests), + self.define_from_variant("USE_CUDA", "cuda"), ] - if self.spec.satisfies("@:3.9.0"): - args.append(self.define_from_variant("TRY_CUDA", "cuda")) - else: - args.append(self.define_from_variant("USE_CUDA", "cuda")) - - # FindHIP.cmake was used for +rocm until 4.1.0 and is still used for +cuda - if self.spec.satisfies("@:4.0") or self.spec.satisfies("+cuda"): + # FindHIP.cmake is still used for +cuda + if self.spec.satisfies("+cuda"): if self.spec["hip"].satisfies("@:5.1"): args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.cmake)) else: diff --git a/var/spack/repos/builtin/packages/hipcub/package.py b/var/spack/repos/builtin/packages/hipcub/package.py index b9846e26d4..870d9f299c 100644 --- a/var/spack/repos/builtin/packages/hipcub/package.py +++ b/var/spack/repos/builtin/packages/hipcub/package.py @@ -35,76 +35,6 @@ class Hipcub(CMakePackage, CudaPackage, ROCmPackage): version("5.2.0", sha256="ac4dc2310f0eb657e1337c93d8cc4a5d8396f9544a7336eeceb455678a1f9139") version("5.1.3", sha256="dc75640689b6a5e15dd3acea643266bdf114ea63efc60be8272f484cf8f04494") version("5.1.0", sha256="b30d51fc5fca2584f0c9a6fa8dafc9fbdda96a3acff30288e49b397f8842f705") - version( - "5.0.2", - sha256="22effb18f2c38d76fa379f14c9f9ee7a11987a5d1ae4a7e837af87232c8c9183", - deprecated=True, - ) - version( - "5.0.0", - sha256="09c4f1b88aa5f50f04043d379e4960dab556e0fbdf8e25ab03d02a07c1ff7b2f", - deprecated=True, - ) - version( - "4.5.2", - sha256="bec9ba1a6aa0475475ee292e54807accc839ed001338275f48da13e3bfb77514", - deprecated=True, - ) - version( - "4.5.0", - sha256="5902fae0485789f1d1cc6b8e81d9f1b39338170d3139844d5edf0d324f9694c9", - deprecated=True, - ) - version( - "4.3.1", - sha256="20fcd34323c541c182655b7ff6dc6ff268c0127596f0d9993884621c2b14b67a", - deprecated=True, - ) - version( - "4.3.0", - sha256="733499a8d55e2d73bf874d43a98ee7425e4325f77e03fb0c80debf36c740cb70", - deprecated=True, - ) - version( - "4.2.0", - sha256="56b50e185b7cdf4615d2f56d3a4e86fe76f885e9ad04845f3d0671afcb315c69", - deprecated=True, - ) - version( - "4.1.0", - sha256="6d33cc371b9a5ac9c0ab9853bac736f6cea0d2192f4dc9e6d8175d207ee4b4f2", - deprecated=True, - ) - version( - "4.0.0", - sha256="656bd6ec547810fd74bcebba41453e6e729f3fdb7346f5564ab71fc0346c3fb5", - deprecated=True, - ) - version( - "3.10.0", - sha256="759da5c6ef0cc1e4ecf2083659e78b8bbaa015f0bb360177674e0feb3032c5be", - deprecated=True, - ) - version( - "3.9.0", - sha256="c46995f9f18733ec18e370c21d7c0d6ac719e8e9d3254c6303a20ba90831e12e", - deprecated=True, - ) - version( - "3.8.0", - sha256="11d7d97268aeb953c34a80125c4577e27cb57cb6095606533105cecf2bd2ec9c", - deprecated=True, - ) - version( - "3.7.0", - sha256="a2438632ea1606e83a8c0e1a8777aa5fdca66d77d90862642eb0ec2314b4978d", - deprecated=True, - ) - version( - "3.5.0", - sha256="1eb2cb5f6e90ed1b7a9ac6dd86f09ec2ea27bceb5a92eeffa9c2123950c53b9d", - deprecated=True, - ) # default to an 'auto' variant until amdgpu_targets can be given a better default than 'none' amdgpu_targets = ROCmPackage.amdgpu_targets @@ -123,28 +53,13 @@ class Hipcub(CMakePackage, CudaPackage, ROCmPackage): conflicts("+cuda +rocm", msg="CUDA and ROCm support are mutually exclusive") conflicts("~cuda ~rocm", msg="CUDA or ROCm support is required") - depends_on("cmake@3.10.2:", type="build", when="@4.2.0:") - depends_on("cmake@3.5.1:", type="build") + depends_on("cmake@3.10.2:", type="build") depends_on("hip +cuda", when="+cuda") depends_on("googletest@1.10.0:", type="test") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -163,8 +78,8 @@ class Hipcub(CMakePackage, CudaPackage, ROCmPackage): "6.0.0", "6.0.2", ]: - depends_on("rocprim@" + ver, when="+rocm @" + ver) - depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) + depends_on(f"rocprim@{ver}", when=f"+rocm @{ver}") + depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") # fix hardcoded search in /opt/rocm and broken config mode search patch("find-hip-cuda-rocm-5.1.patch", when="@5.1:5.2 +cuda") @@ -180,8 +95,8 @@ def cmake_args(self): if self.spec.satisfies("+rocm ^cmake@3.21.0:3.21.2"): args.append(self.define("__skip_rocmclang", "ON")) - # FindHIP.cmake was used for +rocm until 3.7.0 and is still used for +cuda - if self.spec.satisfies("@:3.7.0") or self.spec.satisfies("+cuda"): + # FindHIP.cmake is still used for +cuda + if self.spec.satisfies("+cuda"): if self.spec["hip"].satisfies("@:5.1"): args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.cmake)) else: diff --git a/var/spack/repos/builtin/packages/hipfft/package.py b/var/spack/repos/builtin/packages/hipfft/package.py index 891aa6050a..695c2e21c7 100644 --- a/var/spack/repos/builtin/packages/hipfft/package.py +++ b/var/spack/repos/builtin/packages/hipfft/package.py @@ -42,46 +42,6 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage): version("5.2.0", sha256="ec37edcd61837281c403802ccc1cb01ec3fa3ba135b5ab16617961b66d4cc3e2") version("5.1.3", sha256="c26fa64499293b25d0686bed04feb61378c878a4bb4a6d559e6cb7be1f6bf2ec") version("5.1.0", sha256="1bac7761c055355216cd262cdc0450aabb383addcb739b56ba849b2e6e013fa5") - version( - "5.0.2", - sha256="9ef64694f5def0d6fb98dc89e46d7a3f7d005a61348ac0b52184a3b8e84c2383", - deprecated=True, - ) - version( - "5.0.0", - sha256="867d0bdc6c9769c6cebc0c4594b24d5f3504157cdcef97a6a1668dd493ca6a15", - deprecated=True, - ) - version( - "4.5.2", - sha256="32ba6a5f50cfede3777a43794371ffb1363302131d8a0382d96df90ed7bc911a", - deprecated=True, - ) - version( - "4.5.0", - sha256="96636713bc6cdafbd5a9c1e98e816895448960c86b380fc0c3c9ffa28f670844", - deprecated=True, - ) - version( - "4.3.1", - sha256="429cfd40415856da8f5c2c321b612800d6826ee121df5a4e6d1596cad5b51727", - deprecated=True, - ) - version( - "4.3.0", - sha256="6e52e0eb5b2a13adaf317fe5b20b3e059589aabf2af87e4c67cb1022b861ba84", - deprecated=True, - ) - version( - "4.2.0", - sha256="74253b0d92feff55ebb39b3fe4a22a6454160a60bdad37384aa5340fd8843f8a", - deprecated=True, - ) - version( - "4.1.0", - sha256="885ffd4813f2c271150f1b8b386f0af775b38fc82b96ce6fd94eb4ba0c0180be", - deprecated=True, - ) # default to an 'auto' variant until amdgpu_targets can be given a better default than 'none' amdgpu_targets = ROCmPackage.amdgpu_targets @@ -105,14 +65,6 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage): depends_on("hip +cuda", when="+cuda") for ver in [ - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -131,13 +83,11 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage): "6.0.0", "6.0.2", ]: - depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) - depends_on("rocfft@" + ver, when="+rocm @" + ver) + depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") + depends_on(f"rocfft@{ver}", when=f"+rocm @{ver}") for tgt in ROCmPackage.amdgpu_targets: - depends_on( - "rocfft amdgpu_target={0}".format(tgt), when="+rocm amdgpu_target={0}".format(tgt) - ) + depends_on(f"rocfft amdgpu_target={tgt}", when=f"+rocm amdgpu_target={tgt}") # https://github.com/ROCm/rocFFT/pull/85) patch("001-remove-submodule-and-sync-shared-files-from-rocFFT.patch", when="@6.0.0") diff --git a/var/spack/repos/builtin/packages/hipfort/package.py b/var/spack/repos/builtin/packages/hipfort/package.py index ccb35e8aee..356a317a11 100644 --- a/var/spack/repos/builtin/packages/hipfort/package.py +++ b/var/spack/repos/builtin/packages/hipfort/package.py @@ -35,66 +35,6 @@ class Hipfort(CMakePackage): version("5.2.0", sha256="a0af1fe62757993600a41af6bb6c4b8c6cfdfba650389645ac1f995f7623785c") version("5.1.3", sha256="8f8849d8d0972366bafa41be35cf6a7a59480ed584d1ddff39768cb14247e9d4") version("5.1.0", sha256="1ddd46c00bb6bcd539a921d6a94d858f4e4408a35cb6910186c7517f375ae8ab") - version( - "5.0.2", - sha256="fcee6e62482ab15f365681dbc12bd9ae26b0fab2f2848a3c14de8ec63004a7aa", - deprecated=True, - ) - version( - "5.0.0", - sha256="af0f332fec082a03ca0403618ab20d31baadf3103e3371db9edc39dc9474ef4c", - deprecated=True, - ) - version( - "4.5.2", - sha256="14599d027b57189c6734b04ace7792d2ae5c409cf7983c0970b086fb4e634dd8", - deprecated=True, - ) - version( - "4.5.0", - sha256="48626dfb15bb5dcb044c9e1d4dc4b0654a2cd0abfc69485aa285dc20d7f40d51", - deprecated=True, - ) - version( - "4.3.1", - sha256="279a35edbc0c22fa930a4355e663a86adf4d0316c5b1b6b9ccc6ee5c19c8c2e4", - deprecated=True, - ) - version( - "4.3.0", - sha256="fd0ffdafdc17ac42c7dae3f89991651f15affdef9b2354da05c7493d09d8974e", - deprecated=True, - ) - version( - "4.2.0", - sha256="b411cb32bf87927eba4c5573b412c56d75d15165e2f1c8ac5ac18e624ed3a4b4", - deprecated=True, - ) - version( - "4.1.0", - sha256="2d335ae068d0cbb480575de7d3ea4868362af32cb195f911ee1aeced499f3974", - deprecated=True, - ) - version( - "4.0.0", - sha256="a497645c33e0eff39abd5344756de63424733cde2837b7376c924b44ed5ae9c9", - deprecated=True, - ) - version( - "3.10.0", - sha256="44173522d9eb2a18ec1cea2d9b00b237fe70501f0849bd6be3decbb73389487a", - deprecated=True, - ) - version( - "3.9.0", - sha256="a3c4e125a9b56820446a65bd76b8caa196fddb0e0723eb513f0bcde9abd6a0c0", - deprecated=True, - ) - version( - "3.8.0", - sha256="0132e9949f758dd8b8a462d133b3316101440cd503aa6c53bea9e34e61bbb3cc", - deprecated=True, - ) depends_on("cmake@3.0.2:", type="build") @@ -103,18 +43,6 @@ class Hipfort(CMakePackage): depends_on("binutils", when="%cce") for ver in [ - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -133,7 +61,7 @@ class Hipfort(CMakePackage): "6.0.0", "6.0.2", ]: - depends_on("hip@" + ver, type="build", when="@" + ver) + depends_on(f"hip@{ver}", type="build", when=f"@{ver}") def setup_build_environment(self, env): env.set("CXX", self.spec["hip"].hipcc) diff --git a/var/spack/repos/builtin/packages/hipify-clang/package.py b/var/spack/repos/builtin/packages/hipify-clang/package.py index 5a7e80246d..2414dbf31a 100644 --- a/var/spack/repos/builtin/packages/hipify-clang/package.py +++ b/var/spack/repos/builtin/packages/hipify-clang/package.py @@ -38,76 +38,6 @@ class HipifyClang(CMakePackage): version("5.2.0", sha256="dcd5f44daceb984bb654a209e78debf81e1cdeaf9202444a1e110b45ad6c3f4f") version("5.1.3", sha256="6354b08b8ab2f4c481398fb768652bae00bb78c4cec7a11d5f6c7e4cb831ddf1") version("5.1.0", sha256="ba792294cbdcc880e0f02e38ee352dff8d4a2c183430e13d1c5ed176bd46cfc5") - version( - "5.0.2", - sha256="812bccfeb044483a1c7df89f45843afcb28d8146f348c792f082b693cbff3984", - deprecated=True, - ) - version( - "5.0.0", - sha256="06fbb3259b6d014bc24fb3c05f71026bc39ae564559d40f2ca37236044c7ba17", - deprecated=True, - ) - version( - "4.5.2", - sha256="f0d401e634642a1d6659b9163a38661ee38da1e1aceabb1f16f78f8fce048a4e", - deprecated=True, - ) - version( - "4.5.0", - sha256="1f6e1bd4b9d64eed67f519c453fa65b362a20583df1f35fd09d08de831f3c8de", - deprecated=True, - ) - version( - "4.3.1", - sha256="c5754f7c2c68ea4f65cc0ffc1e8ccc30634181525b25c10817e07eaa75ca8157", - deprecated=True, - ) - version( - "4.3.0", - sha256="182b336a994e3de0dfbce935dc35091388d18a29e3cfdadb2ab7da8a2dc121a2", - deprecated=True, - ) - version( - "4.2.0", - sha256="afdc82ae00e14e8e742be6cd47d8fb120d18fc52fe96cba8d8ac4c56176a432e", - deprecated=True, - ) - version( - "4.1.0", - sha256="ec9cc410167b6ab31706742f3d7a77dbd29eb548e7371134b3aace8597665475", - deprecated=True, - ) - version( - "4.0.0", - sha256="9d3906d606fca2bcb58f5f2a70cc4b9e298ca0e12a84ee5f18e42b7df97b38a4", - deprecated=True, - ) - version( - "3.10.0", - sha256="7ebba22ed70100150bedddffa08a84f91b546347662862487b6703a1edce2623", - deprecated=True, - ) - version( - "3.9.0", - sha256="07adb98e91ddd7420d873806866d53eaf77527fac57799e846823522191ba89a", - deprecated=True, - ) - version( - "3.8.0", - sha256="095b876a750a0dc1ae669102ba53d668f65062b823f8be745411db86a2db7916", - deprecated=True, - ) - version( - "3.7.0", - sha256="dd58c8b88d4b7877f2521b02954de79d570fa36fc751a17d33e56436ee02571e", - deprecated=True, - ) - version( - "3.5.0", - sha256="31e7c11d3e221e15a2721456c4f8bceea9c28fd37345464c86ea74cf05ddf2c9", - deprecated=True, - ) # the patch was added to install the targets in the correct directory structure # this will fix the issue https://github.com/spack/spack/issues/30711 @@ -117,20 +47,6 @@ class HipifyClang(CMakePackage): depends_on("cmake@3.5:", type="build") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -150,10 +66,10 @@ class HipifyClang(CMakePackage): "6.0.2", "master", ]: - depends_on("llvm-amdgpu@" + ver, when="@" + ver) + depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") def setup_run_environment(self, env): # The installer puts the binaries directly into the prefix diff --git a/var/spack/repos/builtin/packages/hipsolver/package.py b/var/spack/repos/builtin/packages/hipsolver/package.py index b8e74658dc..cefe8644b2 100644 --- a/var/spack/repos/builtin/packages/hipsolver/package.py +++ b/var/spack/repos/builtin/packages/hipsolver/package.py @@ -46,26 +46,6 @@ class Hipsolver(CMakePackage, CudaPackage, ROCmPackage): version("5.2.0", sha256="96927410e0a2cc0f50172604ef6437e15d2cf4b62d22b2035f13aae21f43dc82") version("5.1.3", sha256="96faa799a2db8078b72f9c3b5c199179875a7c20dc1064371b22a6a63397c145") version("5.1.0", sha256="697ba2b2814e7ac6f79680e6455b4b5e0def1bee2014b6940f47be7d13c0ae74") - version( - "5.0.2", - sha256="cabeada451686ed7904a452c5f8fd3776721507db1c06f426cd8d7189ff4a441", - deprecated=True, - ) - version( - "5.0.0", - sha256="c59a5783dbbcb6a601c0e73d85d4a64d6d2c8f46009c01cb2b9886323f11e02b", - deprecated=True, - ) - version( - "4.5.2", - sha256="9807bf1da0da25940b546cf5d5d6064d46d837907e354e10c6eeb2ef7c296a93", - deprecated=True, - ) - version( - "4.5.0", - sha256="ee1176e977736a6e6fcba507fe6f56fcb3cefd6ba741cceb28464ea8bc476cd8", - deprecated=True, - ) # default to an 'auto' variant until amdgpu_targets can be given a better default than 'none' amdgpu_targets = ROCmPackage.amdgpu_targets @@ -99,10 +79,6 @@ class Hipsolver(CMakePackage, CudaPackage, ROCmPackage): depends_on("hip +cuda", when="+cuda") for ver in [ - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -123,16 +99,12 @@ class Hipsolver(CMakePackage, CudaPackage, ROCmPackage): "master", "develop", ]: - depends_on("rocblas@" + ver, when="+rocm @" + ver) - depends_on("rocsolver@" + ver, when="+rocm @" + ver) + depends_on(f"rocblas@{ver}", when=f"+rocm @{ver}") + depends_on(f"rocsolver@{ver}", when=f"+rocm @{ver}") for tgt in ROCmPackage.amdgpu_targets: - depends_on( - "rocblas amdgpu_target={0}".format(tgt), when="+rocm amdgpu_target={0}".format(tgt) - ) - depends_on( - "rocsolver amdgpu_target={0}".format(tgt), when="+rocm amdgpu_target={0}".format(tgt) - ) + depends_on(f"rocblas amdgpu_target={tgt}", when=f"+rocm amdgpu_target={tgt}") + depends_on(f"rocsolver amdgpu_target={tgt}", when=f"+rocm amdgpu_target={tgt}") depends_on("googletest@1.10.0:", type="test") depends_on("netlib-lapack@3.7.1:", type="test") diff --git a/var/spack/repos/builtin/packages/hipsparse/530047af4a0f437dafc02f76b3a17e3b1536c7ec.patch b/var/spack/repos/builtin/packages/hipsparse/530047af4a0f437dafc02f76b3a17e3b1536c7ec.patch deleted file mode 100644 index afd14bdbb0..0000000000 --- a/var/spack/repos/builtin/packages/hipsparse/530047af4a0f437dafc02f76b3a17e3b1536c7ec.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 530047af4a0f437dafc02f76b3a17e3b1536c7ec Mon Sep 17 00:00:00 2001 -From: Nico Trost -Date: Sun, 21 Jun 2020 20:54:09 +0200 -Subject: [PATCH] fix for csr2csr_compress and nnz_compress - ---- - library/src/nvcc_detail/hipsparse.cpp | 24 ++++-------------------- - 1 file changed, 4 insertions(+), 20 deletions(-) - -diff --git a/library/src/nvcc_detail/hipsparse.cpp b/library/src/nvcc_detail/hipsparse.cpp -index 0883351..d7cbb8c 100644 ---- a/library/src/nvcc_detail/hipsparse.cpp -+++ b/library/src/nvcc_detail/hipsparse.cpp -@@ -5213,10 +5213,6 @@ hipsparseStatus_t hipsparseCnnz_compress(hipsparseHandle_t handle, - int* nnzC, - hipComplex tol) - { -- cuComplex cutol; -- cutol.x = tol.x; -- cutol.y = tol.y; -- - return hipCUSPARSEStatusToHIPStatus(cusparseCnnz_compress((cusparseHandle_t)handle, - m, - (const cusparseMatDescr_t)descrA, -@@ -5224,7 +5220,7 @@ hipsparseStatus_t hipsparseCnnz_compress(hipsparseHandle_t handle, - csrRowPtrA, - nnzPerRow, - nnzC, -- cutol)); -+ {cuCrealf(tol), cuCimagf(tol)})); - } - - hipsparseStatus_t hipsparseZnnz_compress(hipsparseHandle_t handle, -@@ -5236,10 +5232,6 @@ hipsparseStatus_t hipsparseZnnz_compress(hipsparseHandle_t handle, - int* nnzC, - hipDoubleComplex tol) - { -- cuDoubleComplex cutol; -- cutol.x = tol.x; -- cutol.y = tol.y; -- - return hipCUSPARSEStatusToHIPStatus(cusparseZnnz_compress((cusparseHandle_t)handle, - m, - (const cusparseMatDescr_t)descrA, -@@ -5247,7 +5239,7 @@ hipsparseStatus_t hipsparseZnnz_compress(hipsparseHandle_t handle, - csrRowPtrA, - nnzPerRow, - nnzC, -- cutol)); -+ {cuCreal(tol), cuCimag(tol)})); - } - - hipsparseStatus_t hipsparseXcsr2coo(hipsparseHandle_t handle, -@@ -5773,10 +5765,6 @@ hipsparseStatus_t hipsparseCcsr2csr_compress(hipsparseHandle_t handle, - int* csrRowPtrC, - hipComplex tol) - { -- cuComplex cutol; -- cutol.x = tol.x; -- cutol.y = tol.y; -- - return hipCUSPARSEStatusToHIPStatus(cusparseCcsr2csr_compress((cusparseHandle_t)handle, - m, - n, -@@ -5789,7 +5777,7 @@ hipsparseStatus_t hipsparseCcsr2csr_compress(hipsparseHandle_t handle, - (cuComplex*)csrValC, - csrColIndC, - csrRowPtrC, -- cutol)); -+ {cuCrealf(tol), cuCimagf(tol)})); - } - - hipsparseStatus_t hipsparseZcsr2csr_compress(hipsparseHandle_t handle, -@@ -5806,10 +5794,6 @@ hipsparseStatus_t hipsparseZcsr2csr_compress(hipsparseHandle_t handle, - int* csrRowPtrC, - hipDoubleComplex tol) - { -- cuDoubleComplex cutol; -- cutol.x = tol.x; -- cutol.y = tol.y; -- - return hipCUSPARSEStatusToHIPStatus(cusparseZcsr2csr_compress((cusparseHandle_t)handle, - m, - n, -@@ -5822,7 +5806,7 @@ hipsparseStatus_t hipsparseZcsr2csr_compress(hipsparseHandle_t handle, - (cuDoubleComplex*)csrValC, - csrColIndC, - csrRowPtrC, -- cutol)); -+ {cuCreal(tol), cuCimag(tol)})); - } - - hipsparseStatus_t hipsparseShyb2csr(hipsparseHandle_t handle, diff --git a/var/spack/repos/builtin/packages/hipsparse/e79985dccde22d826aceb3badfc643a3227979d2.patch b/var/spack/repos/builtin/packages/hipsparse/e79985dccde22d826aceb3badfc643a3227979d2.patch deleted file mode 100644 index 03ef1d222c..0000000000 --- a/var/spack/repos/builtin/packages/hipsparse/e79985dccde22d826aceb3badfc643a3227979d2.patch +++ /dev/null @@ -1,93 +0,0 @@ -From e79985dccde22d826aceb3badfc643a3227979d2 Mon Sep 17 00:00:00 2001 -From: Nico Trost -Date: Sun, 21 Jun 2020 20:48:22 +0200 -Subject: [PATCH] fix for csr2csr_compress and nnz_compress - ---- - library/src/hcc_detail/hipsparse.cpp | 24 ++++-------------------- - 1 file changed, 4 insertions(+), 20 deletions(-) - -diff --git a/library/src/hcc_detail/hipsparse.cpp b/library/src/hcc_detail/hipsparse.cpp -index 7786d6e..5cf0ad6 100644 ---- a/library/src/hcc_detail/hipsparse.cpp -+++ b/library/src/hcc_detail/hipsparse.cpp -@@ -6284,10 +6284,6 @@ hipsparseStatus_t hipsparseCcsr2csr_compress(hipsparseHandle_t handle, - int* csrRowPtrC, - hipComplex tol) - { -- rocsparse_float_complex rtol; -- rtol.x = tol.x; -- rtol.y = tol.y; -- - return rocSPARSEStatusToHIPStatus( - rocsparse_ccsr2csr_compress((rocsparse_handle)handle, - m, -@@ -6301,7 +6297,7 @@ hipsparseStatus_t hipsparseCcsr2csr_compress(hipsparseHandle_t handle, - (rocsparse_float_complex*)csrValC, - csrRowPtrC, - csrColIndC, -- rtol)); -+ {hipCrealf(tol), hipCimagf(tol)})); - } - - hipsparseStatus_t hipsparseZcsr2csr_compress(hipsparseHandle_t handle, -@@ -6318,10 +6314,6 @@ hipsparseStatus_t hipsparseZcsr2csr_compress(hipsparseHandle_t handle, - int* csrRowPtrC, - hipDoubleComplex tol) - { -- rocsparse_double_complex rtol; -- rtol.x = tol.x; -- rtol.y = tol.y; -- - return rocSPARSEStatusToHIPStatus( - rocsparse_zcsr2csr_compress((rocsparse_handle)handle, - m, -@@ -6335,7 +6327,7 @@ hipsparseStatus_t hipsparseZcsr2csr_compress(hipsparseHandle_t handle, - (rocsparse_double_complex*)csrValC, - csrRowPtrC, - csrColIndC, -- rtol)); -+ {hipCreal(tol), hipCimag(tol)})); - } - - hipsparseStatus_t hipsparseShyb2csr(hipsparseHandle_t handle, -@@ -7006,10 +6998,6 @@ hipsparseStatus_t hipsparseCnnz_compress(hipsparseHandle_t handle, - int* nnzC, - hipComplex tol) - { -- rocsparse_float_complex rtol; -- rtol.x = tol.x; -- rtol.y = tol.y; -- - RETURN_IF_ROCSPARSE_ERROR(rocsparse_cnnz_compress((rocsparse_handle)handle, - m, - (const rocsparse_mat_descr)descrA, -@@ -7017,7 +7005,7 @@ hipsparseStatus_t hipsparseCnnz_compress(hipsparseHandle_t handle, - csrRowPtrA, - nnzPerRow, - nnzC, -- rtol)); -+ {hipCrealf(tol), hipCimagf(tol)})); - return HIPSPARSE_STATUS_SUCCESS; - } - -@@ -7030,10 +7018,6 @@ hipsparseStatus_t hipsparseZnnz_compress(hipsparseHandle_t handle, - int* nnzC, - hipDoubleComplex tol) - { -- rocsparse_double_complex rtol; -- rtol.x = tol.x; -- rtol.y = tol.y; -- - RETURN_IF_ROCSPARSE_ERROR(rocsparse_znnz_compress((rocsparse_handle)handle, - m, - (const rocsparse_mat_descr)descrA, -@@ -7041,7 +7025,7 @@ hipsparseStatus_t hipsparseZnnz_compress(hipsparseHandle_t handle, - csrRowPtrA, - nnzPerRow, - nnzC, -- rtol)); -+ {hipCreal(tol), hipCimag(tol)})); - return HIPSPARSE_STATUS_SUCCESS; - } - diff --git a/var/spack/repos/builtin/packages/hipsparse/package.py b/var/spack/repos/builtin/packages/hipsparse/package.py index 779fa2115e..c3f06ba94c 100644 --- a/var/spack/repos/builtin/packages/hipsparse/package.py +++ b/var/spack/repos/builtin/packages/hipsparse/package.py @@ -39,76 +39,6 @@ class Hipsparse(CMakePackage, CudaPackage, ROCmPackage): version("5.2.0", sha256="4fdab6ec953c6d2d000687c5979077deafd37208cd722554b5a6ede1e5ba170c") version("5.1.3", sha256="6e6a0752654f0d391533df8cedf4b630a78ad34c99087741520c582963ce1602") version("5.1.0", sha256="f41329534f2ff477a0db6b7f77a72bb062f117800970c122d676db8b207ce80b") - version( - "5.0.2", - sha256="a266e8b3bbdea04617260f51b3d85cc672af6ca417cae0812d04fd9702429c47", - deprecated=True, - ) - version( - "5.0.0", - sha256="0a1754508e06d3a6b17593a71a3c57a3e25d3b46d88573098fda11442853196c", - deprecated=True, - ) - version( - "4.5.2", - sha256="81ca24491fbf2bc8e5aa477a6c38776877579ac9f4241ddadeca76a579a7ebb5", - deprecated=True, - ) - version( - "4.5.0", - sha256="1049c490fc2008d701a16d14e11004e3bc5b4da993aa48b117e3c44be5677e3c", - deprecated=True, - ) - version( - "4.3.1", - sha256="e5757b5213b880237ae0f24616088f79c449c2955cf2133642dbbc9c655f4691", - deprecated=True, - ) - version( - "4.3.0", - sha256="194fbd589ce34471f3255f71ea5fca2d27bee47a464558a86d0713b4d26237ea", - deprecated=True, - ) - version( - "4.2.0", - sha256="cdedf3766c10200d3ebabe86cbb9c0fe6504e4b3317dccca289327d7c189bb3f", - deprecated=True, - ) - version( - "4.1.0", - sha256="66710c390489922f0bd1ac38fd8c32fcfb5b7760b92c2d282f7d1abf214742ee", - deprecated=True, - ) - version( - "4.0.0", - sha256="fc3736b2ea203209021616b2ffbcdd664781d692b07b8e8bb7f78b42dabbd5e5", - deprecated=True, - ) - version( - "3.10.0", - sha256="7fd863ebf6eed09325c23ba06d9008b2f2c1345283d1a331e329e1a512b602f7", - deprecated=True, - ) - version( - "3.9.0", - sha256="ab0ea3dd9b68a126291ed5a35e50fc85d0aeb35fe862f5d9e544435e4262c435", - deprecated=True, - ) - version( - "3.8.0", - sha256="8874c100e9ba54587a6057c2a0e555a0903254a16e9e01c2385bae1b027f83b5", - deprecated=True, - ) - version( - "3.7.0", - sha256="a2f02d8fc6ad9a561f06dacde54ecafd30563c5c95f93819a5694e5b650dad7f", - deprecated=True, - ) - version( - "3.5.0", - sha256="fa16b2a307a5d9716066c2876febcbc1cef855bf0c96d235d2d8f2206a0fb69d", - deprecated=True, - ) # default to an 'auto' variant until amdgpu_targets can be given a better default than 'none' amdgpu_targets = ROCmPackage.amdgpu_targets @@ -133,20 +63,6 @@ class Hipsparse(CMakePackage, CudaPackage, ROCmPackage): depends_on("git", type="build") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -165,16 +81,12 @@ class Hipsparse(CMakePackage, CudaPackage, ROCmPackage): "6.0.0", "6.0.2", ]: - depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) - depends_on("rocsparse@" + ver, when="+rocm @" + ver) + depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") + depends_on(f"rocsparse@{ver}", when=f"+rocm @{ver}") for tgt in ROCmPackage.amdgpu_targets: - depends_on( - "rocsparse amdgpu_target={0}".format(tgt), when="+rocm amdgpu_target={0}".format(tgt) - ) + depends_on(f"rocsparse amdgpu_target={tgt}", when=f"+rocm amdgpu_target={tgt}") - patch("e79985dccde22d826aceb3badfc643a3227979d2.patch", when="@3.5.0") - patch("530047af4a0f437dafc02f76b3a17e3b1536c7ec.patch", when="@3.5.0") patch("0a90ddc4c33ed409a938513b9dbdca8bfad65e06.patch", when="@:5.4") @classmethod @@ -197,8 +109,8 @@ def cmake_args(self): args.append(self.define_from_variant("BUILD_CUDA", "cuda")) - # FindHIP.cmake was used for +rocm until 5.0.0 and is still used for +cuda - if self.spec.satisfies("@:4") or self.spec.satisfies("+cuda"): + # FindHIP.cmake is still used for +cuda + if self.spec.satisfies("+cuda"): if self.spec["hip"].satisfies("@:5.1"): args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.cmake)) else: diff --git a/var/spack/repos/builtin/packages/hsa-rocr-dev/0001-Do-not-set-an-explicit-rpath-by-default-since-packag.patch b/var/spack/repos/builtin/packages/hsa-rocr-dev/0001-Do-not-set-an-explicit-rpath-by-default-since-packag.patch deleted file mode 100644 index 6b73f81635..0000000000 --- a/var/spack/repos/builtin/packages/hsa-rocr-dev/0001-Do-not-set-an-explicit-rpath-by-default-since-packag.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 905b812fffdf109f767e1dc079ac1d32d5cf5838 Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Wed, 5 Aug 2020 17:44:05 +0200 -Subject: [PATCH] Do not set an explicit rpath by default, since package - managers cannot override them - ---- - src/CMakeLists.txt | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 7174044..10c6fcc 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -114,7 +114,9 @@ include_directories ( ${CMAKE_CURRENT_SOURCE_DIR}/libamdhsacode ) - add_definitions ( -DROCR_BUILD_ID=${PACKAGE_VERSION_STRING} ) - - ## Set RUNPATH - ../../lib covers use of the legacy symlink in /hsa/lib/ --set(CMAKE_INSTALL_RPATH "$ORIGIN;$ORIGIN/../../lib;$ORIGIN/../../lib64;$ORIGIN/../lib64") -+if (NOT CMAKE_INSTALL_RPATH) -+ set(CMAKE_INSTALL_RPATH "$ORIGIN;$ORIGIN/../../lib;$ORIGIN/../../lib64;$ORIGIN/../lib64") -+endif () - - ## ------------------------- Linux Compiler and Linker options ------------------------- - set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -fexceptions -fno-rtti -fvisibility=hidden -Wno-error=sign-compare -Wno-sign-compare -Wno-write-strings -Wno-conversion-null -fno-math-errno -fno-threadsafe-statics -fmerge-all-constants -fms-extensions -Wno-error=comment -Wno-comment -Wno-error=pointer-arith -Wno-pointer-arith -Wno-error=unused-variable -Wno-error=unused-function" ) --- -2.25.1 - diff --git a/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py index 080c004d7d..ea25289a91 100644 --- a/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py +++ b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py @@ -42,76 +42,6 @@ class HsaRocrDev(CMakePackage): version("5.2.0", sha256="529e49693dd9f6459586dd0a26f14dd77dbdf8c0b45fb54830b294eba7babd27") version("5.1.3", sha256="479340ec34cdffbbdb1002c85a47d1fccd23e8394631a1f001ef6130be08287d") version("5.1.0", sha256="a5f7245059c3d28dbc037e1e6fa3f09084e29147096dd61f7ce5560291ab330f") - version( - "5.0.2", - sha256="94ce313f3b37e6571778dc6865d73dafa798cbaf4de63b5307382c4a2418e99f", - deprecated=True, - ) - version( - "5.0.0", - sha256="61644365ea2b09fa7ec22f3dbdb74f2b6b1daa34b180138da9e0c856006a373e", - deprecated=True, - ) - version( - "4.5.2", - sha256="d99eddedce0a97d9970932b64b0bb4743e47d2740e8db0288dbda7bec3cefa80", - deprecated=True, - ) - version( - "4.5.0", - sha256="fbf550f243dddfef46a716e360b77c43886fed3eef67215ab9dab1c82f3851ca", - deprecated=True, - ) - version( - "4.3.1", - sha256="85fbd1645120b71635844090ce8bd9f7af0a3d1065d5fae476879f99ba0c0475", - deprecated=True, - ) - version( - "4.3.0", - sha256="2a08657a517971447fc233cb2c8ee2e117c6ab5efc31af147b28b3ef59b3847d", - deprecated=True, - ) - version( - "4.2.0", - sha256="fa0e7bcd64e97cbff7c39c9e87c84a49d2184dc977b341794770805ec3f896cc", - deprecated=True, - ) - version( - "4.1.0", - sha256="c223a5f7ccac280520abb6ea49fdd36fa9468718098a9d984be6ef839ccbc6db", - deprecated=True, - ) - version( - "4.0.0", - sha256="e84c48e80ea38698a5bd5da3940048ad3cab3696d10a53132acad07ca357f17c", - deprecated=True, - ) - version( - "3.10.0", - sha256="58866d8acdb6cc45227f2412098e37c65908b20ed3dd54901dfb515c15ad5f71", - deprecated=True, - ) - version( - "3.9.0", - sha256="d722fb61f62037894957856f2c2d17231c4622bdf75db372321ee30206dceeb6", - deprecated=True, - ) - version( - "3.8.0", - sha256="1dfad4d89d6c099e15073ed38e083bcf6cc463470dcc8a1e1b9e22060c060c72", - deprecated=True, - ) - version( - "3.7.0", - sha256="0071d14431f73ce74574e61d0786f2b7cf34b14ea898a1f54b6e1b06b2d468c0", - deprecated=True, - ) - version( - "3.5.0", - sha256="52c12eec3e3404c0749c70f156229786ee0c3e6d3c979aed9bbaea500fa1f3b8", - deprecated=True, - ) variant("shared", default=True, description="Build shared or static library") variant("image", default=True, description="build with or without image support") @@ -128,20 +58,6 @@ class HsaRocrDev(CMakePackage): depends_on("pkgconfig", type="build", when="@5.3.0:") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -161,18 +77,14 @@ class HsaRocrDev(CMakePackage): "6.0.2", "master", ]: - depends_on("hsakmt-roct@" + ver, when="@" + ver) - depends_on("llvm-amdgpu@" + ver, when="@" + ver) + depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}") + depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") # allow standalone rocm-device-libs (useful for aomp) - depends_on( - "rocm-device-libs@" + ver, when="@{0} ^llvm-amdgpu ~rocm-device-libs".format(ver) - ) + depends_on(f"rocm-device-libs@{ver}", when=f"@{ver} ^llvm-amdgpu ~rocm-device-libs") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") - # Both 3.5.0 and 3.7.0 force INSTALL_RPATH in different ways - patch("0001-Do-not-set-an-explicit-rpath-by-default-since-packag.patch", when="@3.5.0") patch("0002-Remove-explicit-RPATH-again.patch", when="@3.7.0:5.6") root_cmakelists_dir = "src" @@ -200,18 +112,16 @@ def cmake_args(self): args = [ self.define("LIBELF_INCLUDE_DIRS", libelf_include), self.define_from_variant("BUILD_SHARED_LIBS", "shared"), + self.define_from_variant("IMAGE_SUPPORT", "image"), ] - if self.spec.satisfies("@3.7.0:"): - args.append(self.define_from_variant("IMAGE_SUPPORT", "image")) + # device libs is bundled with llvm-amdgpu (default) or standalone + if self.spec.satisfies("^rocm-device-libs"): + bitcode_dir = spec["rocm-device-libs"].prefix.amdgcn.bitcode + else: + bitcode_dir = spec["llvm-amdgpu"].prefix.amdgcn.bitcode - # device libs is bundled with llvm-amdgpu (default) or standalone - if self.spec.satisfies("^rocm-device-libs"): - bitcode_dir = spec["rocm-device-libs"].prefix.amdgcn.bitcode - else: - bitcode_dir = spec["llvm-amdgpu"].prefix.amdgcn.bitcode - - args.append(self.define("BITCODE_DIR", bitcode_dir)) + args.append(self.define("BITCODE_DIR", bitcode_dir)) if self.spec.satisfies("@5.6:"): args.append("-DCMAKE_INSTALL_LIBDIR=lib") diff --git a/var/spack/repos/builtin/packages/hsakmt-roct/package.py b/var/spack/repos/builtin/packages/hsakmt-roct/package.py index 472177bf26..2ced193df6 100644 --- a/var/spack/repos/builtin/packages/hsakmt-roct/package.py +++ b/var/spack/repos/builtin/packages/hsakmt-roct/package.py @@ -40,76 +40,6 @@ class HsakmtRoct(CMakePackage): version("5.2.0", sha256="3797cb0eafbec3fd3d4a2b53f789eb8cdbab30729f13dbcca0a10bc1bafd2187") version("5.1.3", sha256="3c66b1aa7451571ce8bee10e601d34b93c9416b9be476610ee5685dbad81034a") version("5.1.0", sha256="032717e80b1aefed59f11399e575564ee86ee7c125e889f7c79c2afdfab1eb93") - version( - "5.0.2", - sha256="f2a27ac18aada1dc0dba6455beb7dd7d88a4457c1917024ea372fecb03356e97", - deprecated=True, - ) - version( - "5.0.0", - sha256="1d803572eac0d6186260b5671268bad7513aa9433f9c2e99f14c8bf766c02122", - deprecated=True, - ) - version( - "4.5.2", - sha256="fb8e44226b9e393baf51bfcb9873f63ce7e4fcf7ee7f530979cf51857ea4d24b", - deprecated=True, - ) - version( - "4.5.0", - sha256="620b39959e0ee5d709b8cf6eb3cc06c8356d72838343756230c638899b10bb9a", - deprecated=True, - ) - version( - "4.3.1", - sha256="9d0727e746d4ae6e2709e3534d91046640be511a71c027f47db25e529fe3b4d4", - deprecated=True, - ) - version( - "4.3.0", - sha256="1ef5fe687bc23ffda17841fe354c1fb94e9aaf276ca9e5757488852f9066f231", - deprecated=True, - ) - version( - "4.2.0", - sha256="cc325d4b9a96062f2ad0515fce724a8c64ba56a7d7f1ac4a0753941b8599c52e", - deprecated=True, - ) - version( - "4.1.0", - sha256="8443ed5907a7ba9ad4003a49d90ff7b8886e1b2a5e90f14e4035765a7f64d7ca", - deprecated=True, - ) - version( - "4.0.0", - sha256="a6960fffc8388731ee18953faae12d1449c582e3b3594418845a544455895f42", - deprecated=True, - ) - version( - "3.10.0", - sha256="a3d629247a763cc36f5d48e9122cee8498574af628e14e3c38686c05f66e3e06", - deprecated=True, - ) - version( - "3.9.0", - sha256="e1bb8b010855736d8a97957222f648532d42646ec2964776a9a1455dc81104a3", - deprecated=True, - ) - version( - "3.8.0", - sha256="cd5440f31f592737b5d05448704bd01f91f73cfcab8a7829922e81332575cfe8", - deprecated=True, - ) - version( - "3.7.0", - sha256="b357fe7f425996c49f41748923ded1a140933de7564a70a828ed6ded6d896458", - deprecated=True, - ) - version( - "3.5.0", - sha256="d9f458c16cb62c3c611328fd2f2ba3615da81e45f3b526e45ff43ab4a67ee4aa", - deprecated=True, - ) variant("shared", default=True, description="Build shared or static library") variant("asan", default=False, description="Build with address-sanitizer enabled or disabled") @@ -120,24 +50,17 @@ class HsakmtRoct(CMakePackage): depends_on("libdrm", when="@4.5.0:") for ver in ["5.3.0", "5.4.0", "5.4.3"]: - depends_on("llvm-amdgpu@" + ver, type="test", when="@" + ver) + depends_on(f"llvm-amdgpu@{ver}", type="test", when=f"@{ver}") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-core@" + ver, when="@" + ver) - depends_on("llvm-amdgpu@" + ver, type="test", when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") + depends_on(f"llvm-amdgpu@{ver}", type="test", when=f"@{ver}") # See https://github.com/ROCm/ROCT-Thunk-Interface/issues/72 # and https://github.com/spack/spack/issues/28398 patch("0001-Remove-compiler-support-libraries-and-libudev-as-req.patch", when="@4.5.0:5.2") patch("0002-Remove-compiler-support-libraries-and-libudev-as-req-5.3.patch", when="@5.3.0:5.4") - @property - def install_targets(self): - if self.version == Version("3.5.0"): - return ["install", "install-dev"] - else: - return ["install"] - def cmake_args(self): args = [] if self.spec.satisfies("@:5.4.3"): @@ -145,7 +68,7 @@ def cmake_args(self): else: args.append(self.define("BUILD_SHARED_LIBS", False)) if self.spec.satisfies("@5.4.3:"): - args.append("-DCMAKE_INSTALL_LIBDIR=lib") + args.append(self.define("CMAKE_INSTALL_LIBDIR", "lib")) if self.spec.satisfies("@5.7.0:"): args.append(self.define_from_variant("ADDRESS_SANITIZER", "asan")) diff --git a/var/spack/repos/builtin/packages/libceed/package.py b/var/spack/repos/builtin/packages/libceed/package.py index d24e5151e1..5ca941bd06 100644 --- a/var/spack/repos/builtin/packages/libceed/package.py +++ b/var/spack/repos/builtin/packages/libceed/package.py @@ -36,10 +36,9 @@ class Libceed(MakefilePackage, CudaPackage, ROCmPackage): variant("libxsmm", default=False, description="Enable LIBXSMM backend", when="@0.3:") variant("magma", default=False, description="Enable MAGMA backend", when="@0.6:") - conflicts("+rocm", when="@:0.6") + conflicts("+rocm", when="@:0.7") with when("+rocm"): - depends_on("hip@3.8.0", when="@0.7:0.7.99") depends_on("hip@3.8.0:", when="@0.8:") depends_on("hipblas@3.8.0:", when="@0.8:") diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/fix-ncurses-3.9.0.patch b/var/spack/repos/builtin/packages/llvm-amdgpu/fix-ncurses-3.9.0.patch deleted file mode 100644 index 24be1ecf31..0000000000 --- a/var/spack/repos/builtin/packages/llvm-amdgpu/fix-ncurses-3.9.0.patch +++ /dev/null @@ -1,25 +0,0 @@ -Adapt the fix-system-zlib-ncurses.patch for version 3.9.0. - ---- llvm-project-rocm-3.9.0/llvm/cmake/config-ix.cmake.orig 2020-11-20 21:41:10.498772540 -0600 -+++ llvm-project-rocm-3.9.0/llvm/cmake/config-ix.cmake 2020-11-20 22:27:57.242391054 -0600 -@@ -126,15 +126,11 @@ - endif() - if(LLVM_ENABLE_TERMINFO) - set(HAVE_TERMINFO 0) -- foreach(library terminfo tinfo curses ncurses ncursesw) -- string(TOUPPER ${library} library_suffix) -- check_library_exists(${library} setupterm "" HAVE_TERMINFO_${library_suffix}) -- if(HAVE_TERMINFO_${library_suffix}) -- set(HAVE_TERMINFO 1) -- set(TERMINFO_LIBS "${library}") -- break() -- endif() -- endforeach() -+ find_library(FIND_TERMINFO NAMES terminfo tinfo curses ncurses ncursesw) -+ if(FIND_TERMINFO) -+ set(HAVE_TERMINFO 1) -+ set(TERMINFO_LIBS "${FIND_TERMINFO}") -+ endif() - else() - set(HAVE_TERMINFO 0) - endif() diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/fix-spack-detection-4.2.0.patch b/var/spack/repos/builtin/packages/llvm-amdgpu/fix-spack-detection-4.2.0.patch deleted file mode 100644 index 2cedd4f073..0000000000 --- a/var/spack/repos/builtin/packages/llvm-amdgpu/fix-spack-detection-4.2.0.patch +++ /dev/null @@ -1,94 +0,0 @@ -diff --git a/clang/lib/Driver/ToolChains/AMDGPU.cpp b/clang/lib/Driver/ToolChains/AMDGPU.cpp ---- a/clang/lib/Driver/ToolChains/AMDGPU.cpp -+++ b/clang/lib/Driver/ToolChains/AMDGPU.cpp -@@ -58,19 +58,16 @@ - llvm::sys::path::append(PackagePath, SubDirs[0]); - return PackagePath; - } -- if (SubDirs.size() == 0) { -- unsigned DiagID = D.getDiags().getCustomDiagID( -- DiagnosticsEngine::Error, -- "Expecting SPACK package %0 at %1 but not found"); -- D.Diag(DiagID) << Prefix << Cand.Path; -+ if (SubDirs.size() == 0 && Verbose) { -+ llvm::errs() << "SPACK package " << Prefix << " not found at " << Cand.Path -+ << '\n'; - return {}; - } - -- assert(SubDirs.size() > 1); -- unsigned DiagID = D.getDiags().getCustomDiagID( -- DiagnosticsEngine::Error, -- "Expecting one SPACK package %0 at %1 but found more"); -- D.Diag(DiagID) << Prefix << Cand.Path; -+ if (SubDirs.size() > 1 && Verbose) { -+ llvm::errs() << "Cannot use SPACK package " << Prefix << " at " << Cand.Path -+ << " due to multiple installations for the same version\n"; -+ } - return {}; - } - -@@ -305,6 +302,7 @@ - const Driver &D, const llvm::Triple &HostTriple, - const llvm::opt::ArgList &Args, bool DetectHIPRuntime, bool DetectDeviceLib) - : D(D) { -+ Verbose = Args.hasArg(options::OPT_v); - RocmPathArg = Args.getLastArgValue(clang::driver::options::OPT_rocm_path_EQ); - PrintROCmSearchDirs = - Args.hasArg(clang::driver::options::OPT_print_rocm_search_dirs); -diff --git a/clang/lib/Driver/ToolChains/ROCm.h b/clang/lib/Driver/ToolChains/ROCm.h ---- a/clang/lib/Driver/ToolChains/ROCm.h -+++ b/clang/lib/Driver/ToolChains/ROCm.h -@@ -110,6 +110,7 @@ - // Cache ROCm installation search paths. - SmallVector ROCmSearchDirs; - bool PrintROCmSearchDirs; -+ bool Verbose; - - bool allGenericLibsValid() const { - return !OCML.empty() && !OCKL.empty() && !OpenCL.empty() && !HIP.empty() && -diff --git a/clang/test/Driver/rocm-detect.hip b/clang/test/Driver/rocm-detect.hip ---- a/clang/test/Driver/rocm-detect.hip -+++ b/clang/test/Driver/rocm-detect.hip -@@ -61,12 +61,15 @@ - // RUN: %s 2>&1 | FileCheck -check-prefixes=SPACK-SET %s - - // Test invalid SPACK ROCm installation missing hip and rocm-device-libs packages. -+// The message about SPACK is emitted only if -v is specified. - - // RUN: rm -rf %T/rocm-spack/hip-* - // RUN: rm -rf %T/rocm-spack/rocm-device-libs-* - // RUN: %T/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/bin/clang -### -v \ - // RUN: -target x86_64-linux-gnu --cuda-gpu-arch=gfx900 %s 2>&1 \ - // RUN: | FileCheck -check-prefixes=SPACK-MISS %s -+// RUN: %T/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/bin/clang --version 2>&1 \ -+// RUN: | FileCheck -check-prefixes=SPACK-MISS-SILENT %s - - // GFX902-DEFAULTLIBS: error: cannot find ROCm device library for gfx902. Provide its path via --rocm-path or --rocm-device-lib-path, or pass -nogpulib to build without ROCm device library - -@@ -90,8 +93,8 @@ - // SPACK-SAME: "-internal-isystem" "[[DIR]]/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/include" - - // SPACK-MULT: InstalledDir: [[DIR:.*]]/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/bin --// SPACK-MULT-DAG: Expecting one SPACK package hip-4.0.0 at [[DIR]] but found more --// SPACK-MULT-DAG: Expecting one SPACK package rocm-device-libs-4.0.0 at [[DIR]] but found more -+// SPACK-MULT-DAG: Cannot use SPACK package hip-4.0.0 at [[DIR]] due to multiple installations for the same version -+// SPACK-MULT-DAG: Cannot use SPACK package rocm-device-libs-4.0.0 at [[DIR]] due to multiple installations for the same version - // SPACK-MULT-NOT: Found HIP installation: [[DIR]]/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5, version 4.0.20214-a2917cd - // SPACK-MULT-NOT: "-mlink-builtin-bitcode" "[[DIR]]/rocm-device-libs-4.0.0-6wnyzz4hgl3hr7uswasnagt7j2adctbs/amdgcn/bitcode/hip.bc" - // SPACK-MULT-NOT: "-internal-isystem" "[[DIR]]/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/include" -@@ -103,8 +106,12 @@ - // SPACK-SET-SAME: "-internal-isystem" "[[DIR]]/hip-4.0.0-abcd/include" - - // SPACK-MISS: InstalledDir: [[DIR:.*]]/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/bin --// SPACK-MISS-DAG: Expecting SPACK package hip-4.0.0 at [[DIR]] but not found --// SPACK-MISS-DAG: Expecting SPACK package rocm-device-libs-4.0.0 at [[DIR]] but not found -+// SPACK-MISS-DAG: SPACK package hip-4.0.0 not found at [[DIR]] -+// SPACK-MISS-DAG: SPACK package rocm-device-libs-4.0.0 not found at [[DIR]] - // SPACK-MISS-NOT: Found HIP installation: [[DIR]]/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5, version 4.0.20214-a2917cd - // SPACK-MISS-NOT: "-mlink-builtin-bitcode" "[[DIR]]/rocm-device-libs-4.0.0-6wnyzz4hgl3hr7uswasnagt7j2adctbs/amdgcn/bitcode/hip.bc" - // SPACK-MISS-NOT: "-internal-isystem" "[[DIR]]/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/include" -+ -+// SPACK-MISS-SILENT-NOT: SPACK package hip-{{.*}} not found at -+// SPACK-MISS-SILENT-NOT: SPACK package rocm-device-libs-{{.*}} not found at -+// SPACK-MISS-SILENT-NOT: Found HIP installation diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/fix-system-zlib-ncurses.patch b/var/spack/repos/builtin/packages/llvm-amdgpu/fix-system-zlib-ncurses.patch deleted file mode 100644 index 64d429a7e9..0000000000 --- a/var/spack/repos/builtin/packages/llvm-amdgpu/fix-system-zlib-ncurses.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 0f5e8e4368199ab993470dc4e7df5d91b806c557 Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Tue, 11 Aug 2020 15:06:24 +0200 -Subject: [PATCH] Use find_library for zlib and ncurses - -find_library makes it easier to use a non-system version of zlib and -ncurses, since it respects *_ROOT and CMAKE_PREFIX_PATH. ---- - llvm/cmake/config-ix.cmake | 28 ++++++++++------------------ - 1 file changed, 10 insertions(+), 18 deletions(-) - -diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake -index 612ce5bdbcb..e748e5ef8c1 100644 ---- a/llvm/cmake/config-ix.cmake -+++ b/llvm/cmake/config-ix.cmake -@@ -120,15 +120,11 @@ endif() - if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") - set(HAVE_LIBZ 0) - if(LLVM_ENABLE_ZLIB) -- foreach(library z zlib_static zlib) -- string(TOUPPER ${library} library_suffix) -- check_library_exists(${library} compress2 "" HAVE_LIBZ_${library_suffix}) -- if(HAVE_LIBZ_${library_suffix}) -- set(HAVE_LIBZ 1) -- set(ZLIB_LIBRARIES "${library}") -- break() -- endif() -- endforeach() -+ find_library(FIND_ZLIB NAMES z zlib_static zlib) -+ if(FIND_ZLIB) -+ set(HAVE_LIBZ 1) -+ set(ZLIB_LIBRARIES "${FIND_ZLIB}") -+ endif() - endif() - - # Don't look for these libraries on Windows. -@@ -141,15 +137,11 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") - endif() - if(LLVM_ENABLE_TERMINFO) - set(HAVE_TERMINFO 0) -- foreach(library terminfo tinfo curses ncurses ncursesw) -- string(TOUPPER ${library} library_suffix) -- check_library_exists(${library} setupterm "" HAVE_TERMINFO_${library_suffix}) -- if(HAVE_TERMINFO_${library_suffix}) -- set(HAVE_TERMINFO 1) -- set(TERMINFO_LIBS "${library}") -- break() -- endif() -- endforeach() -+ find_library(FIND_TERMINFO NAMES terminfo tinfo curses ncurses ncursesw) -+ if(FIND_TERMINFO) -+ set(HAVE_TERMINFO 1) -+ set(TERMINFO_LIBS "${FIND_TERMINFO}") -+ endif() - else() - set(HAVE_TERMINFO 0) - endif() --- -2.25.1 - diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py index 1ef692f124..7082f1bab0 100644 --- a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py +++ b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py @@ -44,76 +44,6 @@ class LlvmAmdgpu(CMakePackage): version("5.2.0", sha256="0f892174111b78a02d1a00f8f46d9f80b9abb95513a7af38ecf2a5a0882fe87f") version("5.1.3", sha256="d236a2064363c0278f7ba1bb2ff1545ee4c52278c50640e8bb2b9cfef8a2f128") version("5.1.0", sha256="db5d45c4a7842a908527c1b7b8d4a40c688225a41d23cfa382eab23edfffdd10") - version( - "5.0.2", - sha256="99a14394b406263576ed3d8d10334de7c78d42b349109f375d178b11492eecaf", - deprecated=True, - ) - version( - "5.0.0", - sha256="bca2db4aaab71541cac588d6a708fde60f0ebe744809bde8a3847044a1a77413", - deprecated=True, - ) - version( - "4.5.2", - sha256="36a4f7dd961cf373b743fc679bdf622089d2a905de2cfd6fd6c9e7ff8d8ad61f", - deprecated=True, - ) - version( - "4.5.0", - sha256="b71451bf26650ba06c0c5c4c7df70f13975151eaa673ef0cc77c1ab0000ccc97", - deprecated=True, - ) - version( - "4.3.1", - sha256="b53c6b13be7d77dc93a7c62e4adbb414701e4e601e1af2d1e98da4ee07c9837f", - deprecated=True, - ) - version( - "4.3.0", - sha256="1567d349cd3bcd2c217b3ecec2f70abccd5e9248bd2c3c9f21d4cdb44897fc87", - deprecated=True, - ) - version( - "4.2.0", - sha256="751eca1d18595b565cfafa01c3cb43efb9107874865a60c80d6760ba83edb661", - deprecated=True, - ) - version( - "4.1.0", - sha256="244e38d824fa7dfa8d0edf3c036b3c84e9c17a16791828e4b745a8d31eb374ae", - deprecated=True, - ) - version( - "4.0.0", - sha256="aa1f80f429fded465e86bcfaef72255da1af1c5c52d58a4c979bc2f6c2da5a69", - deprecated=True, - ) - version( - "3.10.0", - sha256="8262aff88c1ff6c4deb4da5a4f8cda1bf90668950e2b911f93f73edaee53b370", - deprecated=True, - ) - version( - "3.9.0", - sha256="1ff14b56d10c2c44d36c3c412b190d3d8cd1bb12cfc7cd58af004c16fd9987d1", - deprecated=True, - ) - version( - "3.8.0", - sha256="93a28464a4d0c1c9f4ba55e473e5d1cde4c5c0e6d087ec8a0a3aef1f5f5208e8", - deprecated=True, - ) - version( - "3.7.0", - sha256="3e2542ce54b91b5c841f33d542143e0e43eae95e8785731405af29f08ace725b", - deprecated=True, - ) - version( - "3.5.0", - sha256="4878fa85473b24d88edcc89938441edc85d2e8a785e567b7bd7ce274ecc2fd9c", - deprecated=True, - ) variant( "rocm-device-libs", @@ -136,16 +66,12 @@ class LlvmAmdgpu(CMakePackage): description="Link LLVM tools against the LLVM shared library", ) - provides("libllvm@11", when="@3.5:3.8") - provides("libllvm@12", when="@3.9:4.2") - provides("libllvm@13", when="@4.3:4.9") provides("libllvm@14", when="@5:5.2") provides("libllvm@15", when="@5.3:5.4") provides("libllvm@16", when="@5.5:5.6") provides("libllvm@17", when="@5.7:") - depends_on("cmake@3.4.3:", type="build", when="@:3.8") - depends_on("cmake@3.13.4:", type="build", when="@3.9.0:") + depends_on("cmake@3.13.4:", type="build") depends_on("python", type="build") depends_on("z3", type="link") depends_on("zlib-api", type="link") @@ -153,19 +79,10 @@ class LlvmAmdgpu(CMakePackage): depends_on("pkgconfig", type="build") # openmp dependencies - depends_on("perl-data-dumper", type=("build"), when="+openmp") + depends_on("perl-data-dumper", type="build", when="+openmp") depends_on("hwloc", when="+openmp") depends_on("elf", type="link", when="+openmp") - # Will likely only be fixed in LLVM 12 upstream - patch("fix-system-zlib-ncurses.patch", when="@3.5.0:3.8.0") - patch("fix-ncurses-3.9.0.patch", when="@3.9.0:4.0.0") - - # This is already fixed in upstream but not in 4.2.0 rocm release - patch("fix-spack-detection-4.2.0.patch", when="@4.2.0:4.5.2") - - patch("remove-cyclades-inclusion-in-sanitizer.patch", when="@4.2.0:4.5.2") - # OpenMP clang toolchain looks for bitcode files in llvm/bin/../lib # as per 5.2.0 llvm code. It used to be llvm/bin/../lib/libdevice. # Below patch is to look in the old path. @@ -208,29 +125,13 @@ class LlvmAmdgpu(CMakePackage): ("5.2.0", "901674bc941115c72f82c5def61d42f2bebee687aefd30a460905996f838e16c"), ("5.1.3", "c41958560ec29c8bf91332b9f668793463904a2081c330c0d828bf2f91d4f04e"), ("5.1.0", "47dbcb41fb4739219cadc9f2b5f21358ed2f9895ce786d2f7a1b2c4fd044d30f"), - ("5.0.2", "49cfa8f8fc276ba27feef40546788a2aabe259a924a97af8bef24e295d19aa5e"), - ("5.0.0", "83ed7aa1c9322b4fc1f57c48a63fc7718eb4195ee6fde433009b4bc78cb363f0"), - ("4.5.2", "50e9e87ecd6b561cad0d471295d29f7220e195528e567fcabe2ec73838979f61"), - ("4.5.0", "78412fb10ceb215952b5cc722ed08fa82501b5848d599dc00744ae1bdc196f77"), - ("4.3.1", "a7291813168e500bfa8aaa5d1dccf5250764ddfe27535def01b51eb5021d4592"), - ("4.3.0", "055a67e63da6491c84cd45865500043553fb33c44d538313dd87040a6f3826f2"), - ("4.2.0", "34a2ac39b9bb7cfa8175cbab05d30e7f3c06aaffce99eed5f79c616d0f910f5f"), - ("4.1.0", "f5f5aa6bfbd83ff80a968fa332f80220256447c4ccb71c36f1fbd2b4a8e9fc1b"), - ("4.0.0", "d0aa495f9b63f6d8cf8ac668f4dc61831d996e9ae3f15280052a37b9d7670d2a"), - ("3.10.0", "bca9291385d6bdc91a8b39a46f0fd816157d38abb1725ff5222e6a0daa0834cc"), - ("3.9.0", "c99f45dacf5967aef9a31e3731011b9c142446d4a12bac69774998976f2576d7"), - ("3.8.0", "e82cc9a8eb7d92de02cabb856583e28f17a05c8cf9c97aec5275608ef1a38574"), - ("3.7.0", "b3a114180bf184b3b829c356067bc6a98021d52c1c6f9db6bc57272ebafc5f1d"), - ("3.5.0", "dce3a4ba672c4a2da4c2260ee4dc96ff6dd51877f5e7e1993cb107372a35a378"), ]: resource( name="rocm-device-libs", placement="rocm-device-libs", - url="https://github.com/ROCm/ROCm-Device-Libs/archive/rocm-{0}.tar.gz".format( - d_version - ), + url=f"https://github.com/ROCm/ROCm-Device-Libs/archive/rocm-{d_version}.tar.gz", sha256=d_shasum, - when="@{0} +rocm-device-libs".format(d_version), + when=f"@{d_version} +rocm-device-libs", ) resource( @@ -253,7 +154,7 @@ class LlvmAmdgpu(CMakePackage): placement="hsa-runtime", url=f"https://github.com/ROCm/ROCR-Runtime/archive/rocm-{d_version}.tar.gz", sha256=d_shasum, - when="@{0}".format(d_version), + when=f"@{d_version}", ) resource( name="hsa-runtime", @@ -276,7 +177,7 @@ class LlvmAmdgpu(CMakePackage): placement="comgr", url=f"https://github.com/ROCm/ROCm-CompilerSupport/archive/rocm-{d_version}.tar.gz", sha256=d_shasum, - when="@{0}".format(d_version), + when=f"@{d_version}", ) resource( name="comgr", @@ -288,44 +189,29 @@ class LlvmAmdgpu(CMakePackage): def cmake_args(self): llvm_projects = ["clang", "lld", "clang-tools-extra", "compiler-rt"] - llvm_runtimes = [] - args = [] - if self.spec.satisfies("@4.3.0:"): - args = [ - self.define("LLVM_ENABLE_Z3_SOLVER", "OFF"), - self.define("LLLVM_ENABLE_ZLIB", "ON"), - self.define("CLANG_DEFAULT_LINKER", "lld"), - self.define("LIBCXX_ENABLE_SHARED", "OFF"), - self.define("LIBCXX_ENABLE_STATIC", "ON"), - self.define("LIBCXX_INSTALL_LIBRARY", "OFF"), - self.define("LIBCXX_INSTALL_HEADERS", "OFF"), - self.define("LIBCXXABI_ENABLE_SHARED", "OFF"), - self.define("LIBCXXABI_ENABLE_STATIC", "ON"), - self.define("LIBCXXABI_INSTALL_STATIC_LIBRARY", "OFF"), - ] - args.append(self.define("LLVM_ENABLE_RTTI", "ON")) - if self.spec.satisfies("@4.3.0:4.5.2"): - llvm_projects.append("libcxx") - llvm_projects.append("libcxxabi") - if self.spec.satisfies("@5.0.0:"): - llvm_runtimes.append("libcxx") - llvm_runtimes.append("libcxxabi") - args.append(self.define("LLVM_TARGETS_TO_BUILD", "AMDGPU;X86")) - args.append(self.define("LLVM_AMDGPU_ALLOW_NPI_TARGETS", "ON")) - args.extend([self.define("LLVM_ENABLE_RUNTIMES", ";".join(llvm_runtimes))]) if "+openmp" in self.spec: llvm_projects.append("openmp") + llvm_runtimes = ["libcxx", "libcxxabi"] + args = [ + self.define("LLVM_ENABLE_Z3_SOLVER", "OFF"), + self.define("LLLVM_ENABLE_ZLIB", "ON"), + self.define("CLANG_DEFAULT_LINKER", "lld"), + self.define("LIBCXX_ENABLE_SHARED", "OFF"), + self.define("LIBCXX_ENABLE_STATIC", "ON"), + self.define("LIBCXX_INSTALL_LIBRARY", "OFF"), + self.define("LIBCXX_INSTALL_HEADERS", "OFF"), + self.define("LIBCXXABI_ENABLE_SHARED", "OFF"), + self.define("LIBCXXABI_ENABLE_STATIC", "ON"), + self.define("LIBCXXABI_INSTALL_STATIC_LIBRARY", "OFF"), + self.define("LLVM_ENABLE_RTTI", "ON"), + self.define("LLVM_TARGETS_TO_BUILD", "AMDGPU;X86"), + self.define("LLVM_AMDGPU_ALLOW_NPI_TARGETS", "ON"), + self.define("LLVM_ENABLE_RUNTIMES", llvm_runtimes), + self.define("LLVM_ENABLE_PROJECTS", llvm_projects), + self.define("PACKAGE_VENDOR", "AMD"), + self.define("CLANG_ENABLE_AMDCLANG", "ON"), + ] - args.extend([self.define("LLVM_ENABLE_PROJECTS", ";".join(llvm_projects))]) - - if self.spec.satisfies("@4.5.0:"): - args.append(self.define("PACKAGE_VENDOR", "AMD")) - - if self.spec.satisfies("@5.0.0:"): - args.append(self.define("CLANG_ENABLE_AMDCLANG", "ON")) - if self.spec.satisfies("@5.3.0:"): - args.append(self.define("LLVM_TARGETS_TO_BUILD", "AMDGPU;X86")) - args.append(self.define("LLLVM_AMDGPU_ALLOW_NPI_TARGETS", True)) # Enable rocm-device-libs as a external project if "+rocm-device-libs" in self.spec: dir = os.path.join(self.stage.source_path, "rocm-device-libs") @@ -337,11 +223,11 @@ def cmake_args(self): ) if "+llvm_dylib" in self.spec: - args.append("-DLLVM_BUILD_LLVM_DYLIB:Bool=ON") + args.append(self.define("LLVM_BUILD_LLVM_DYLIB", True)) if "+link_llvm_dylib" in self.spec: - args.append("-DLLVM_LINK_LLVM_DYLIB:Bool=ON") - args.append("-DCLANG_LINK_CLANG_DYLIB:Bool=ON") + args.append(self.define("LLVM_LINK_LLVM_DYLIB", True)) + args.append(self.define("CLANG_LINK_CLANG_DYLIB", True)) # Get the GCC prefix for LLVM. if self.compiler.name == "gcc": @@ -362,25 +248,6 @@ def cmake_args(self): args.append("-DSANITIZER_AMDGPU:Bool=ON") return args - @run_after("install") - def post_install(self): - # TODO:Enabling LLVM_ENABLE_RUNTIMES for libcxx,libcxxabi did not build. - # bootstraping the libcxx with the just built clang - if self.spec.satisfies("@4.5.0:4.5.2"): - spec = self.spec - define = self.define - libcxxdir = "build-bootstrapped-libcxx" - with working_dir(libcxxdir, create=True): - cmake_args = [ - self.stage.source_path + "/libcxx", - define("CMAKE_C_COMPILER", spec.prefix.bin + "/clang"), - define("CMAKE_CXX_COMPILER", spec.prefix.bin + "/clang++"), - define("CMAKE_INSTALL_PREFIX", spec.prefix), - ] - cmake_args.extend(self.cmake_args()) - cmake(*cmake_args) - cmake("--build", ".") - @classmethod def determine_version(cls, path): match = re.search(r"amdclang", path) diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/remove-cyclades-inclusion-in-sanitizer.patch b/var/spack/repos/builtin/packages/llvm-amdgpu/remove-cyclades-inclusion-in-sanitizer.patch deleted file mode 100644 index 8d055507cf..0000000000 --- a/var/spack/repos/builtin/packages/llvm-amdgpu/remove-cyclades-inclusion-in-sanitizer.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 68d5235cb58f988c71b403334cd9482d663841ab Mon Sep 17 00:00:00 2001 -From: Tamar Christina -Date: Thu, 20 May 2021 18:55:11 +0100 -Subject: [PATCH] libsanitizer: Remove cyclades inclusion in sanitizer - -The Linux kernel has removed the interface to cyclades from -the latest kernel headers[1] due to them being orphaned for the -past 13 years. - -libsanitizer uses this header when compiling against glibc, but -glibcs itself doesn't seem to have any references to cyclades. - -Further more it seems that the driver is broken in the kernel and -the firmware doesn't seem to be available anymore. - -As such since this is breaking the build of libsanitizer (and so the -GCC bootstrap[2]) I propose to remove this. - -[1] https://lkml.org/lkml/2021/3/2/153 -[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100379 - -Reviewed By: eugenis - -Differential Revision: https://reviews.llvm.org/D102059 ---- - .../sanitizer_common_interceptors_ioctl.inc | 9 --------- - .../sanitizer_platform_limits_posix.cpp | 11 ----------- - .../sanitizer_platform_limits_posix.h | 10 ---------- - 3 files changed, 30 deletions(-) - -diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc -index 7f181258eab52..b7da659875574 100644 ---- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc -+++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc -@@ -370,15 +370,6 @@ static void ioctl_table_fill() { - - #if SANITIZER_GLIBC - // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE -- _(CYGETDEFTHRESH, WRITE, sizeof(int)); -- _(CYGETDEFTIMEOUT, WRITE, sizeof(int)); -- _(CYGETMON, WRITE, struct_cyclades_monitor_sz); -- _(CYGETTHRESH, WRITE, sizeof(int)); -- _(CYGETTIMEOUT, WRITE, sizeof(int)); -- _(CYSETDEFTHRESH, NONE, 0); -- _(CYSETDEFTIMEOUT, NONE, 0); -- _(CYSETTHRESH, NONE, 0); -- _(CYSETTIMEOUT, NONE, 0); - _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz); - _(EQL_ENSLAVE, WRITE, struct_ifreq_sz); - _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz); -diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp -index 35a690cba5c83..6e5c330b98eff 100644 ---- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp -+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp -@@ -143,7 +143,6 @@ typedef struct user_fpregs elf_fpregset_t; - # include - #endif - #include --#include - #include - #include - #include -@@ -460,7 +459,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); - - #if SANITIZER_GLIBC - unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct); -- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor); - #if EV_VERSION > (0x010000) - unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry); - #else -@@ -824,15 +822,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); - #endif // SANITIZER_LINUX - - #if SANITIZER_LINUX && !SANITIZER_ANDROID -- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH; -- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT; -- unsigned IOCTL_CYGETMON = CYGETMON; -- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH; -- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT; -- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH; -- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT; -- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH; -- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT; - unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE; - unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE; - unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG; -diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h -index 836b178c131ba..8a156b7fcb80a 100644 ---- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h -+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h -@@ -983,7 +983,6 @@ extern unsigned struct_vt_mode_sz; - - #if SANITIZER_LINUX && !SANITIZER_ANDROID - extern unsigned struct_ax25_parms_struct_sz; --extern unsigned struct_cyclades_monitor_sz; - extern unsigned struct_input_keymap_entry_sz; - extern unsigned struct_ipx_config_data_sz; - extern unsigned struct_kbdiacrs_sz; -@@ -1328,15 +1327,6 @@ extern unsigned IOCTL_VT_WAITACTIVE; - #endif // SANITIZER_LINUX - - #if SANITIZER_LINUX && !SANITIZER_ANDROID --extern unsigned IOCTL_CYGETDEFTHRESH; --extern unsigned IOCTL_CYGETDEFTIMEOUT; --extern unsigned IOCTL_CYGETMON; --extern unsigned IOCTL_CYGETTHRESH; --extern unsigned IOCTL_CYGETTIMEOUT; --extern unsigned IOCTL_CYSETDEFTHRESH; --extern unsigned IOCTL_CYSETDEFTIMEOUT; --extern unsigned IOCTL_CYSETTHRESH; --extern unsigned IOCTL_CYSETTIMEOUT; - extern unsigned IOCTL_EQL_EMANCIPATE; - extern unsigned IOCTL_EQL_ENSLAVE; - extern unsigned IOCTL_EQL_GETMASTRCFG; diff --git a/var/spack/repos/builtin/packages/migraphx/package.py b/var/spack/repos/builtin/packages/migraphx/package.py index 02295e87d3..a15916eb57 100644 --- a/var/spack/repos/builtin/packages/migraphx/package.py +++ b/var/spack/repos/builtin/packages/migraphx/package.py @@ -38,90 +38,11 @@ class Migraphx(CMakePackage): version("5.2.0", sha256="33afcdf52c6e0e3a2f939fcf30e87f712b8e8ef3633a3dc03a19fea359704925") version("5.1.3", sha256="686e068774500a46b6e6488370bbf5bd0bba6d19ecdb00636f951704d19c9ef2") version("5.1.0", sha256="6398efaef18a74f2a475aa21bd34bc7c077332a430ee3f6ba4fde6e6a6aa9f89") - version( - "5.0.2", - sha256="3ef48ac03b909d1a1aa1f91f365ce64af2ce66635b6efb5ad0b207dc51ff2fd6", - deprecated=True, - ) - version( - "5.0.0", - sha256="779a91ccfa4c2576251189f0c646ff7707c3646319c7d5dd137872beb52d2953", - deprecated=True, - ) - version( - "4.5.2", - sha256="ecfd9a8e7967076f056d5b6a90b22f8919b82226443769b181193f16ebf58b83", - deprecated=True, - ) - version( - "4.5.0", - sha256="8d243a48406af7f960c03bc28a16fad931de8e008ae848799adae504cc5f1355", - deprecated=True, - ) - version( - "4.3.1", - sha256="e0b04da37aed937a2b2218059c189559a15460c191b5e9b00c7366c81c90b06e", - deprecated=True, - ) - version( - "4.3.0", - sha256="99cf202a5e86cf5502b0f8bf12f152dbd5a6aacc204b3d9d5efca67a54793408", - deprecated=True, - ) - version( - "4.2.0", - sha256="93f22f6c641dde5d7fb8abcbd99621b3c81e332e125a6f3a258d5e4cf2055f55", - deprecated=True, - ) - version( - "4.1.0", - sha256="f9b1d2e25cdbaf5d0bfb07d4c8ccef0abaa291757c4bce296c3b5b9488174045", - deprecated=True, - ) - version( - "4.0.0", - sha256="b8b845249626e9169353dbfa2530db468972a7569b248c8118ff19e029a12e55", - deprecated=True, - ) - version( - "3.10.0", - sha256="eda22b9af286afb7806e6b5d5ebb0d612dce87c9bad64ba5176fda1c2ed9c9b7", - deprecated=True, - ) - version( - "3.9.0", - sha256="7649689e06522302c07b39abb88bdcc3d4de18a7559d4f6a9e238e92b2074032", - deprecated=True, - ) - version( - "3.8.0", - sha256="08fa991349a2b95364b0a69be7960580c3e3fde2fda0f0c67bc41429ea2d67a0", - deprecated=True, - ) - version( - "3.7.0", - sha256="697c3c7babaa025eaabec630dbd8a87d10dc4fe35fafa3b0d3463aaf1fc46399", - deprecated=True, - ) - version( - "3.5.0", - sha256="5766f3b262468c500be5051a056811a8edfa741734a5c08c4ecb0337b7906377", - deprecated=True, - ) - def url_for_version(self, version): - url = "https://github.com/ROCm/AMDMIGraphX/archive/" - if version <= Version("3.5.0"): - url += "{0}.tar.gz".format(version) - else: - url += "rocm-{0}.tar.gz".format(version) - - return url - - patch("0001-Adding-nlohmann-json-include-directory.patch", when="@3.9.0:5.5") + patch("0001-Adding-nlohmann-json-include-directory.patch", when="@:5.5") # Restrict Python 2.7 usage to fix the issue below # https://github.com/spack/spack/issues/24429 - patch("0002-restrict-python-2.7-usage.patch", when="@3.9.0:5.1.3") + patch("0002-restrict-python-2.7-usage.patch", when="@:5.1") patch("0003-restrict-python-2.7-usage.patch", when="@5.2.0:5.4") patch("0004-restrict-python2.7-usage-for-5.5.0.patch", when="@5.5.0") patch("0005-Adding-half-include-directory-path-migraphx.patch", when="@5.6.0:") @@ -135,26 +56,11 @@ def url_for_version(self, version): depends_on("half@1.12.0", type="link", when="@:5.5") depends_on("half@2:", when="@5.6:") depends_on("python@3.5:", type="build") - depends_on("py-pybind11", type="build", when="@:4.0.0") depends_on("py-pybind11@2.6:", type="build", when="@4.1.0:") depends_on("pkgconfig", type="build", when="@5.3.0:") depends_on("abseil-cpp") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -173,14 +79,14 @@ def url_for_version(self, version): "6.0.0", "6.0.2", ]: - depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) - depends_on("hip@" + ver, when="@" + ver) - depends_on("llvm-amdgpu@" + ver, when="@" + ver) - depends_on("rocblas@" + ver, when="@" + ver) - depends_on("miopen-hip@" + ver, when="@" + ver) + depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") + depends_on(f"hip@{ver}", when=f"@{ver}") + depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") + depends_on(f"rocblas@{ver}", when=f"@{ver}") + depends_on(f"miopen-hip@{ver}", when=f"@{ver}") for ver in ["5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("composable-kernel@" + ver, when="@" + ver) + depends_on(f"composable-kernel@{ver}", when=f"@{ver}") @property def cmake_python_hints(self): @@ -204,11 +110,10 @@ def determine_version(cls, lib): def cmake_args(self): spec = self.spec abspath = spec["abseil-cpp"].prefix.include - args = ["-DCMAKE_CXX_COMPILER={0}/bin/clang++".format(self.spec["llvm-amdgpu"].prefix)] - if "@3.9.0:" in self.spec: - args.append( - "-DNLOHMANN_JSON_INCLUDE={0}".format(self.spec["nlohmann-json"].prefix.include) - ) + args = [ + self.define("CMAKE_CXX_COMPILER", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang++"), + self.define("NLOHMANN_JSON_INCLUDE", self.spec["nlohmann-json"].prefix.include), + ] if self.spec["cmake"].satisfies("@3.16.0:"): args += self.cmake_python_hints if "@5.5.0:" in self.spec: diff --git a/var/spack/repos/builtin/packages/miopen-hip/0001-Add-rocm-path-and-rocm-device-lib-path-flags.patch b/var/spack/repos/builtin/packages/miopen-hip/0001-Add-rocm-path-and-rocm-device-lib-path-flags.patch deleted file mode 100644 index b98304529f..0000000000 --- a/var/spack/repos/builtin/packages/miopen-hip/0001-Add-rocm-path-and-rocm-device-lib-path-flags.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 985f59f..515e7e0 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -184,7 +184,8 @@ string(REGEX REPLACE --cuda-gpu-arch=[a-z0-9]+ "" HIP_COMPILER_FLAGS "${HIP_COMP - message(STATUS "Hip compiler flags: ${HIP_COMPILER_FLAGS}") - - add_definitions("-DHIP_COMPILER_FLAGS=${HIP_COMPILER_FLAGS}") -- -+add_definitions("--rocm-path=${HIP_PREFIX_PATH}") -+add_definitions("--rocm-device-lib-path=${DEVICELIBS_PREFIX_PATH}") - - - # HIP diff --git a/var/spack/repos/builtin/packages/miopen-hip/package.py b/var/spack/repos/builtin/packages/miopen-hip/package.py index 8502ea8a4d..783ba9586a 100644 --- a/var/spack/repos/builtin/packages/miopen-hip/package.py +++ b/var/spack/repos/builtin/packages/miopen-hip/package.py @@ -39,76 +39,6 @@ class MiopenHip(CMakePackage): version("5.2.0", sha256="5fda69426e81df9f8fb6658e579176b9c4fcce3516fc8488d3cfd2b6f6f2b3b4") version("5.1.3", sha256="510461f5c5bdbcf8dc889099d1e5960b9f84bd845a9fc9154588a9898c701c1d") version("5.1.0", sha256="bb50201334d68addf153b84b88ab803027c4913d71bdbda6f5ccde3f672f6fdd") - version( - "5.0.2", - sha256="e73c18c6e0791d6ca8958508d899072ce12fc6c27cf78792d0c2a5c7e34427be", - deprecated=True, - ) - version( - "5.0.0", - sha256="4a46a2bdd11a2597c83cdb0c5e208b81728fab2ff7c585dabfca5aa05ee7a4f7", - deprecated=True, - ) - version( - "4.5.2", - sha256="cb49bdf215ed9881755239b6312d72f829c1a0edf510e6d1fbb206c41f5406fc", - deprecated=True, - ) - version( - "4.5.0", - sha256="be2f5ce962e15e62d427978422498c0ddf821b91fd40777a1ba915a2794d6fda", - deprecated=True, - ) - version( - "4.3.1", - sha256="1fb2fd8b24f984174ec5338a58b7964e128b74dafb101373a41c8ed33955251a", - deprecated=True, - ) - version( - "4.3.0", - sha256="034445470cfd44480a1d9854f9fdfe92cfb8efa3f002dee508eb9585e338486d", - deprecated=True, - ) - version( - "4.2.0", - sha256="8ab02e784c8b3471159794766ed6303c333b33c69dc5186c0930e56504373b7c", - deprecated=True, - ) - version( - "4.1.0", - sha256="068b1bc33f90fe21d3aab5697d2b3b7b930e613c54d6c5ee820768579b2b41ee", - deprecated=True, - ) - version( - "4.0.0", - sha256="84c6c17be9c1a9cd0d3a2af283433f64b07a4b9941349f498e40fed82fb205a6", - deprecated=True, - ) - version( - "3.10.0", - sha256="926e43c5583cf70d6b247f9fe45971b8b1cc9668f9c8490c142c7e8b6e268f1a", - deprecated=True, - ) - version( - "3.9.0", - sha256="f57d75a220c1094395cc1dccab2185c759d779751ddbb5369a6f041ec77b2156", - deprecated=True, - ) - version( - "3.8.0", - sha256="612b30d4a967bf18c7fa7aa3ef12ed558314ed04cee2775b842bf6a96cd7276f", - deprecated=True, - ) - version( - "3.7.0", - sha256="f6a6ddd8d39bb76b7f7d91e68ade3b45e0201181145658c43b967065a354b103", - deprecated=True, - ) - version( - "3.5.0", - sha256="aa362e69c4dce7f5751f0ee04c745735ea5454c8101050e9b92cc60fa3c0fb82", - deprecated=True, - ) depends_on("cmake@3.5:", type="build") depends_on("pkgconfig", type="build") @@ -121,9 +51,8 @@ class MiopenHip(CMakePackage): depends_on("bzip2") depends_on("sqlite") depends_on("half") - depends_on("zlib-api", when="@3.9.0:") + depends_on("zlib-api") - patch("0001-Add-rocm-path-and-rocm-device-lib-path-flags.patch", when="@3.9.0:5.0.2") patch("miopen-hip-include-nlohmann-include-directory.patch", when="@5.4.0:") patch( "https://github.com/ROCm/MIOpen/pull/2276/commits/f60aa1ff89f8fb596b4a6a4c70aa7d557803db87.patch?full_index=1", @@ -132,20 +61,6 @@ class MiopenHip(CMakePackage): ) for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -164,34 +79,27 @@ class MiopenHip(CMakePackage): "6.0.0", "6.0.2", ]: - depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) - depends_on("hip@" + ver, when="@" + ver) - depends_on("rocm-clang-ocl@" + ver, when="@" + ver) - depends_on("rocblas@" + ver, when="@" + ver) + depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") + depends_on(f"hip@{ver}", when=f"@{ver}") + depends_on(f"rocm-clang-ocl@{ver}", when=f"@{ver}") + depends_on(f"rocblas@{ver}", when=f"@{ver}") for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3", "5.3.0", "5.3.3"]: - depends_on("mlirmiopen@" + ver, when="@" + ver) + depends_on(f"mlirmiopen@{ver}", when=f"@{ver}") for ver in ["5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: depends_on("nlohmann-json", type="link") - depends_on("composable-kernel@" + ver, when="@" + ver) + depends_on(f"composable-kernel@{ver}", when=f"@{ver}") for ver in ["5.4.0", "5.4.3", "5.5.0"]: depends_on("nlohmann-json", type="link") - depends_on("rocmlir@" + ver, when="@" + ver) + depends_on(f"rocmlir@{ver}", when=f"@{ver}") def setup_build_environment(self, env): - if "@3.9.0:" in self.spec: - lib_dir = self.spec["zlib-api"].libs.directories[0] - env.prepend_path("LIBRARY_PATH", lib_dir) + lib_dir = self.spec["zlib-api"].libs.directories[0] + env.prepend_path("LIBRARY_PATH", lib_dir) def get_bitcode_dir(self): - spec = self.spec - - # and the exact location of its bitcode depends on the version - if spec.version >= Version("3.9.0"): - return spec["llvm-amdgpu"].prefix.amdgcn.bitcode - else: - return spec["llvm-amdgpu"].prefix.lib + return self.spec["llvm-amdgpu"].prefix.amdgcn.bitcode @classmethod def determine_version(cls, lib): diff --git a/var/spack/repos/builtin/packages/miopen-opencl/package.py b/var/spack/repos/builtin/packages/miopen-opencl/package.py index b16de855b9..34e4de3569 100644 --- a/var/spack/repos/builtin/packages/miopen-opencl/package.py +++ b/var/spack/repos/builtin/packages/miopen-opencl/package.py @@ -34,76 +34,6 @@ class MiopenOpencl(CMakePackage): version("5.2.0", sha256="5fda69426e81df9f8fb6658e579176b9c4fcce3516fc8488d3cfd2b6f6f2b3b4") version("5.1.3", sha256="510461f5c5bdbcf8dc889099d1e5960b9f84bd845a9fc9154588a9898c701c1d") version("5.1.0", sha256="bb50201334d68addf153b84b88ab803027c4913d71bdbda6f5ccde3f672f6fdd") - version( - "5.0.2", - sha256="e73c18c6e0791d6ca8958508d899072ce12fc6c27cf78792d0c2a5c7e34427be", - deprecated=True, - ) - version( - "5.0.0", - sha256="4a46a2bdd11a2597c83cdb0c5e208b81728fab2ff7c585dabfca5aa05ee7a4f7", - deprecated=True, - ) - version( - "4.5.2", - sha256="cb49bdf215ed9881755239b6312d72f829c1a0edf510e6d1fbb206c41f5406fc", - deprecated=True, - ) - version( - "4.5.0", - sha256="be2f5ce962e15e62d427978422498c0ddf821b91fd40777a1ba915a2794d6fda", - deprecated=True, - ) - version( - "4.3.1", - sha256="1fb2fd8b24f984174ec5338a58b7964e128b74dafb101373a41c8ed33955251a", - deprecated=True, - ) - version( - "4.3.0", - sha256="034445470cfd44480a1d9854f9fdfe92cfb8efa3f002dee508eb9585e338486d", - deprecated=True, - ) - version( - "4.2.0", - sha256="8ab02e784c8b3471159794766ed6303c333b33c69dc5186c0930e56504373b7c", - deprecated=True, - ) - version( - "4.1.0", - sha256="068b1bc33f90fe21d3aab5697d2b3b7b930e613c54d6c5ee820768579b2b41ee", - deprecated=True, - ) - version( - "4.0.0", - sha256="84c6c17be9c1a9cd0d3a2af283433f64b07a4b9941349f498e40fed82fb205a6", - deprecated=True, - ) - version( - "3.10.0", - sha256="926e43c5583cf70d6b247f9fe45971b8b1cc9668f9c8490c142c7e8b6e268f1a", - deprecated=True, - ) - version( - "3.9.0", - sha256="f57d75a220c1094395cc1dccab2185c759d779751ddbb5369a6f041ec77b2156", - deprecated=True, - ) - version( - "3.8.0", - sha256="612b30d4a967bf18c7fa7aa3ef12ed558314ed04cee2775b842bf6a96cd7276f", - deprecated=True, - ) - version( - "3.7.0", - sha256="f6a6ddd8d39bb76b7f7d91e68ade3b45e0201181145658c43b967065a354b103", - deprecated=True, - ) - version( - "3.5.0", - sha256="aa362e69c4dce7f5751f0ee04c745735ea5454c8101050e9b92cc60fa3c0fb82", - deprecated=True, - ) depends_on("cmake@3.5:", type="build") depends_on("boost@1.67.0:1.73.0", type="link") @@ -116,26 +46,8 @@ class MiopenOpencl(CMakePackage): depends_on("bzip2", type="link") depends_on("sqlite", type="link") depends_on("half", type="build") - depends_on("miopengemm@1.1.6", type="link", when="@3.5.0") - - for ver in ["3.5.0"]: - depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) - depends_on("rocm-opencl@" + ver, when="@" + ver) for ver in [ - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -147,17 +59,17 @@ class MiopenOpencl(CMakePackage): "5.5.0", "5.5.1", ]: - depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) - depends_on("rocm-opencl@" + ver, when="@" + ver) - depends_on("miopengemm@" + ver, when="@" + ver) + depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") + depends_on(f"rocm-opencl@{ver}", when=f"@{ver}") + depends_on(f"miopengemm@{ver}", when=f"@{ver}") for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3", "5.3.0", "5.3.3"]: - depends_on("mlirmiopen@" + ver, when="@" + ver) + depends_on(f"mlirmiopen@{ver}", when=f"@{ver}") for ver in ["5.4.0", "5.4.3", "5.5.0", "5.5.1"]: depends_on("nlohmann-json", type="link") depends_on("rocblas", type="link") - depends_on("rocmlir@" + ver, when="@" + ver) + depends_on(f"rocmlir@{ver}", when=f"@{ver}") @classmethod def determine_version(cls, lib): @@ -171,7 +83,7 @@ def determine_version(cls, lib): return ver def cmake_args(self): - args = [ + return [ self.define("MIOPEN_BACKEND", "OpenCL"), self.define( "MIOPEN_HIP_COMPILER", "{0}/bin/clang++".format(self.spec["llvm-amdgpu"].prefix) @@ -182,6 +94,5 @@ def cmake_args(self): self.define( "MIOPEN_AMDGCN_ASSEMBLER", "{0}/bin/clang".format(self.spec["llvm-amdgpu"].prefix) ), - self.define("Boost_USE_STATIC_LIBS", "Off"), + self.define("Boost_USE_STATIC_LIBS", False), ] - return args diff --git a/var/spack/repos/builtin/packages/miopen-tensile/package.py b/var/spack/repos/builtin/packages/miopen-tensile/package.py index 1d64b792d4..c0e9d78ab7 100644 --- a/var/spack/repos/builtin/packages/miopen-tensile/package.py +++ b/var/spack/repos/builtin/packages/miopen-tensile/package.py @@ -21,26 +21,6 @@ class MiopenTensile(CMakePackage): libraries = ["libMIOpenTensile"] version("5.1.0", sha256="f1ae57bd4df8c154357b3f17caf0cfd5f80ba16ffff67bf6219a56f1eb5f897d") - version( - "5.0.2", - sha256="7b85a6a37d0905b0a3baa8361fd71a5a32ad90f3a562fd5e1af7e2ba68099fa6", - deprecated=True, - ) - version( - "5.0.0", - sha256="276ada52e2e8431851296a60df538e0171f8a1c4e9894de8954ffa9306cda2d8", - deprecated=True, - ) - version( - "4.5.2", - sha256="eae14b20aec5ad57815c85d0571b7aecc3704696147f3cdbe34287e88da0c9e9", - deprecated=True, - ) - version( - "4.5.0", - sha256="5f181f536040c0612bf889600f75951e7ec031ae5c4cb9c2c44f6ac3b15b004b", - deprecated=True, - ) tensile_architecture = ("all", "gfx906", "gfx908", "gfx803", "gfx900") @@ -74,14 +54,13 @@ class MiopenTensile(CMakePackage): name="Tensile", git="https://github.com/ROCm/Tensile.git", commit="9cbabb07f81e932b9c98bf5ae48fbd7fcef615cf", - when="@4.5.0:", ) - for ver in ["4.5.0", "4.5.2", "5.0.0", "5.0.2", "5.1.0"]: - depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) - depends_on("hip@" + ver, when="@" + ver) - depends_on("llvm-amdgpu@" + ver, when="@" + ver) - depends_on("rocminfo@" + ver, when="@" + ver) + for ver in ["5.1.0"]: + depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") + depends_on(f"hip@{ver}", when=f"@{ver}") + depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") + depends_on(f"rocminfo@{ver}", when=f"@{ver}") def setup_build_environment(self, env): env.set("CXX", self.spec["hip"].hipcc) @@ -90,12 +69,10 @@ def setup_build_environment(self, env): def determine_version(cls, lib): match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib) if match: - ver = "{0}.{1}.{2}".format( + return "{0}.{1}.{2}".format( int(match.group(1)), int(match.group(2)), int(match.group(3)) ) - else: - ver = None - return ver + return None def cmake_args(self): arch = self.spec.variants["tensile_architecture"].value diff --git a/var/spack/repos/builtin/packages/miopengemm/package.py b/var/spack/repos/builtin/packages/miopengemm/package.py index 3ad3e805dd..112d8a7495 100644 --- a/var/spack/repos/builtin/packages/miopengemm/package.py +++ b/var/spack/repos/builtin/packages/miopengemm/package.py @@ -40,95 +40,10 @@ def url_for_version(self, version): version("5.2.0", sha256="10458fb07b56a7fbe165595d588b7bf5f1300c57bda2f3133c3687c7bae39ea8") version("5.1.3", sha256="c70fc9e2a6d47356a612e24f5757bf16fdf26e671bd53a0975c1a0978da740b6") version("5.1.0", sha256="e2b20cdc20a745bcb7a554852e6b4bd39274c7dcc13fc19a81a282fb4dfa475f") - version( - "5.0.2", - sha256="64a6bf7c902af63d85563e29361763e9daa1fd3699490a91c222b057673612cc", - deprecated=True, - ) - version( - "5.0.0", - sha256="122cfb4e79476092e84f73f48540701c90fb87e0dc20cdf39f202d92e9ff5544", - deprecated=True, - ) - version( - "4.5.2", - sha256="e778e0ccb123cd637ac459b2aecdf0fdead158580479bc0adfc9a28879e1d1c9", - deprecated=True, - ) - version( - "4.5.0", - sha256="54ec908109a91f9022b61e63e3a1b9706cdcf133ba6fb3b39a65ca0e79be7747", - deprecated=True, - ) - version( - "4.3.1", - sha256="0aee2281d9b8c625e9bda8efff3067237d6155a53f6c720dcb4e3b3ec8bf8d14", - deprecated=True, - ) - version( - "4.3.0", - sha256="d32b3b98e695b7db2fd2faa6587a57728d1252d6d649dcb2db3102f98cd5930e", - deprecated=True, - ) - version( - "4.2.0", - sha256="a11fa063248ed339fe897ab4c5d338b7279035fa37fcbe0909e2c4c352aaefb1", - deprecated=True, - ) - version( - "4.1.0", - sha256="389328eb4a16565853691bd5b01a0eab978d99e3217329236ddc63a38b8dd4eb", - deprecated=True, - ) - version( - "4.0.0", - sha256="366d03facb1ec5f6f4894aa88859df1d7fea00fee0cbac5173d7577e9a8ba799", - deprecated=True, - ) - version( - "3.10.0", - sha256="66d844a17729ab25c1c2a243667d9714eb89fd51e42bfc014e2faf54a8642064", - deprecated=True, - ) - version( - "3.9.0", - sha256="8e1273c35d50e9fd92e303d9bcbdd42ddbfda20844b3248428e16b54928f6dc2", - deprecated=True, - ) - version( - "3.8.0", - sha256="d76f5b4b3b9d1e3589a92f667f39eab5b5ab54ec3c4e04d412035be3ec623547", - deprecated=True, - ) - version( - "3.7.0", - sha256="392b280ca564b120f6b24ec1fe8782cba08a8a5fb52938e8bc3dc887d3fd08fa", - deprecated=True, - ) - version( - "1.1.6", - sha256="9ab04903794c6a59432928eaec92c687d51e2b4fd29630cf227cbc49d56dc69b", - deprecated=True, - ) depends_on("cmake@3:", type="build") - depends_on("rocm-cmake@3.5.0", type="build", when="@1.1.6") - depends_on("rocm-opencl@3.5.0", when="@1.1.6") for ver in [ - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -141,8 +56,8 @@ def url_for_version(self, version): "5.5.0", "5.5.1", ]: - depends_on("rocm-cmake@" + ver, type="build", when="@" + ver) - depends_on("rocm-opencl@" + ver, when="@" + ver) + depends_on(f"rocm-cmake@{ver}", type="build", when=f"@{ver}") + depends_on(f"rocm-opencl@{ver}", when=f"@{ver}") @classmethod def determine_version(cls, lib): diff --git a/var/spack/repos/builtin/packages/mivisionx/package.py b/var/spack/repos/builtin/packages/mivisionx/package.py index 14c2af7f28..1e4d36000c 100644 --- a/var/spack/repos/builtin/packages/mivisionx/package.py +++ b/var/spack/repos/builtin/packages/mivisionx/package.py @@ -44,76 +44,6 @@ def url_for_version(self, version): version("5.2.0", sha256="fee620a1edd3bce18b2cec9ef26ec2afe0a85d6da8a37ed713ab0d1342382503") version("5.1.3", sha256="62591d5caedc13832c3ccef629a88d9c2a43c884daad1124ddcb9c5f7d5470e9") version("5.1.0", sha256="e082415cc2fb859c53a6d6e5d72ca4529f6b4d56a4abe274dc374faaa5910513") - version( - "5.0.2", - sha256="da730c2347b7f2d0cb7a262f8305750988f18e9f1eb206cf297bacaab2f6b408", - deprecated=True, - ) - version( - "5.0.0", - sha256="935113feb71eced2b5f21fffc2a90a188b4ef2fe009c50f0445504cb27fbc58c", - deprecated=True, - ) - version( - "4.5.2", - sha256="26fd7fbd2e319bf4a8657900ad2f81bba1ae66745c2ba95f2f87e33903cfe69c", - deprecated=True, - ) - version( - "4.5.0", - sha256="518834893d3fcdb7ecff179b3f3992ca1aacb30b6d95711c74918abb6f80b925", - deprecated=True, - ) - version( - "4.3.1", - sha256="d77d63c0f148870dcd2a39a823e94b28adef9e84d2c37dfc3b05db5de4d7af83", - deprecated=True, - ) - version( - "4.3.0", - sha256="31f6ab9fb7f40b23d4b24c9a70f809623720943e0492c3d357dd22dcfa50efb2", - deprecated=True, - ) - version( - "4.2.0", - sha256="172857b1b340373ae81ed6aa241559aa781e32250e75c82d7ba3c002930a8a3a", - deprecated=True, - ) - version( - "4.1.0", - sha256="0b431a49807682b9a81adac6a64160a0712ddaa3963e0f05595c93b92be777ea", - deprecated=True, - ) - version( - "4.0.0", - sha256="e09d4890b729740ded056b3974daea84c8eb1fc93714c52bf89f853c2eef1fb5", - deprecated=True, - ) - version( - "3.10.0", - sha256="8a67fae77a05ef60a501e64a572a7bd2ccb9243518b1414112ccd1d1f78d08c8", - deprecated=True, - ) - version( - "3.9.0", - sha256="892812cc6e6977ed8cd4b69c63f4c17be43b83c78eeafd9549236c17f6eaa2af", - deprecated=True, - ) - version( - "3.8.0", - sha256="4e177a9b5dcae671d6ea9f0686cf5f73fcd1e3feb3c50425c8c6d43ac5d77feb", - deprecated=True, - ) - version( - "3.7.0", - sha256="3ce13c6449739c653139fc121411d94eaa9d764d3d339c4c78fab4b8aa199965", - deprecated=True, - ) - version( - "1.7", - sha256="ff77142fd4d4a93136fd0ac17348861f10e8f5d5f656fa9dacee08d8fcd2b1d8", - deprecated=True, - ) # Adding 2 variants OPENCL ,HIP which HIP as default. earlier to 5.0.0,OPENCL # was the default but has change dto HIP from 5.0.0 onwards. @@ -123,6 +53,7 @@ def url_for_version(self, version): variant("opencl", default=False, description="Use OPENCL as the backend") variant("hip", default=True, description="Use HIP as backend") variant("add_tests", default=False, description="add tests and samples folder") + patch("0001-add-half-include-path.patch", when="@5.5") patch("0001-add-half-include-path-5.6.patch", when="@5.6:") patch("0002-add-half-include-path-for-tests.patch", when="@5.5: +add_tests") @@ -137,141 +68,128 @@ def url_for_version(self, version): conflicts("+add_tests", when="@:5.4") def patch(self): - if self.spec.satisfies("@4.2.0"): + if self.spec.satisfies("@:5.1 + hip"): filter_file( - "${ROCM_PATH}/opencl", - self.spec["rocm-opencl"].prefix, - "amd_openvx/cmake/FindOpenCL.cmake", - string=True, - ) - filter_file( - "/opt/rocm/mivisionx/include", - self.spec["mivisionx"].prefix.include, - "utilities/mv_deploy/CMakeLists.txt", - string=True, - ) - if self.spec.satisfies("@4.5.0:5.1 + hip"): - filter_file( - "${ROCM_PATH}/miopen", + r"${ROCM_PATH}/miopen", self.spec["miopen-hip"].prefix.miopen, "amd_openvx_extensions/CMakeLists.txt", string=True, ) filter_file( - "${ROCM_PATH}/bin", + r"${ROCM_PATH}/bin", self.spec["hip"].prefix.bin, "amd_openvx/openvx/hipvx/CMakeLists.txt", string=True, ) filter_file( - "${ROCM_PATH}/bin", + r"${ROCM_PATH}/bin", self.spec["hip"].prefix.bin, "amd_openvx_extensions/amd_nn/nn_hip/CMakeLists.txt", string=True, ) if self.spec.satisfies("@5.1.3: + hip"): filter_file( - "${ROCM_PATH}/include/miopen/config.h", + r"${ROCM_PATH}/include/miopen/config.h", "{0}/include/miopen/config.h".format(self.spec["miopen-hip"].prefix), "amd_openvx_extensions/CMakeLists.txt", string=True, ) if self.spec.satisfies("@5.1.3: + opencl"): filter_file( - "${ROCM_PATH}/include/miopen/config.h", + r"${ROCM_PATH}/include/miopen/config.h", "{0}/include/miopen/config.h".format(self.spec["miopen-opencl"].prefix), "amd_openvx_extensions/CMakeLists.txt", string=True, ) if self.spec.satisfies("@5.3.0: + hip"): filter_file( - "${ROCM_PATH}/llvm/bin/clang++", + r"${ROCM_PATH}/llvm/bin/clang++", "{0}/bin/clang++".format(self.spec["llvm-amdgpu"].prefix), "amd_openvx/openvx/hipvx/CMakeLists.txt", string=True, ) filter_file( - "${ROCM_PATH}/llvm/bin/clang++", + r"${ROCM_PATH}/llvm/bin/clang++", "{0}/bin/clang++".format(self.spec["llvm-amdgpu"].prefix), "amd_openvx_extensions/amd_nn/nn_hip/CMakeLists.txt", string=True, ) if self.spec.satisfies("@5.5.0: + hip"): filter_file( - "${ROCM_PATH}/llvm/bin/clang++", + r"${ROCM_PATH}/llvm/bin/clang++", "{0}/bin/clang++".format(self.spec["llvm-amdgpu"].prefix), "rocAL/rocAL/rocAL_hip/CMakeLists.txt", string=True, ) if self.spec.satisfies("+add_tests"): filter_file( - "${ROCM_PATH}/include/mivisionx", + r"${ROCM_PATH}/include/mivisionx", "{0}/include/mivisionx".format(self.spec.prefix), "tests/amd_migraphx_tests/mnist/CMakeLists.txt", string=True, ) filter_file( - "${ROCM_PATH}/lib", + r"${ROCM_PATH}/lib", "{0}/lib".format(self.spec.prefix), "tests/amd_migraphx_tests/mnist/CMakeLists.txt", string=True, ) filter_file( - "${ROCM_PATH}/include/mivisionx", + r"${ROCM_PATH}/include/mivisionx", "{0}/include/mivisionx".format(self.spec.prefix), "tests/amd_migraphx_tests/resnet50/CMakeLists.txt", string=True, ) filter_file( - "${ROCM_PATH}/lib", + r"${ROCM_PATH}/lib", "{0}/lib".format(self.spec.prefix), "tests/amd_migraphx_tests/resnet50/CMakeLists.txt", string=True, ) filter_file( - "${ROCM_PATH}/include/mivisionx", + r"${ROCM_PATH}/include/mivisionx", "{0}/include/mivisionx".format(self.spec.prefix), "samples/inference/mv_objdetect/CMakeLists.txt", string=True, ) filter_file( - "${ROCM_PATH}/lib", + r"${ROCM_PATH}/lib", "{0}/lib".format(self.spec.prefix), "samples/inference/mv_objdetect/CMakeLists.txt", string=True, ) filter_file( - "${ROCM_PATH}/include/mivisionx", + r"${ROCM_PATH}/include/mivisionx", "{0}/include/mivisionx".format(self.spec.prefix), "model_compiler/python/nnir_to_clib.py", string=True, ) filter_file( - "/opt/rocm", + r"/opt/rocm", "{0}".format(self.spec.prefix), "model_compiler/python/nnir_to_clib.py", string=True, ) filter_file( - "${ROCM_PATH}/${CMAKE_INSTALL_INCLUDEDIR}/mivisionx/rocal", + r"${ROCM_PATH}/${CMAKE_INSTALL_INCLUDEDIR}/mivisionx/rocal", "{0}/include/mivisionx/rocal".format(self.spec.prefix), "utilities/rocAL/rocAL_unittests/CMakeLists.txt", string=True, ) filter_file( - "${ROCM_PATH}/lib", + r"${ROCM_PATH}/lib", "{0}/lib".format(self.spec.prefix), "utilities/rocAL/rocAL_unittests/CMakeLists.txt", string=True, ) filter_file( - "${ROCM_PATH}/${CMAKE_INSTALL_INCLUDEDIR}/mivisionx/rocal", + r"${ROCM_PATH}/${CMAKE_INSTALL_INCLUDEDIR}/mivisionx/rocal", "{0}/include/mivisionx/rocal".format(self.spec.prefix), "utilities/rocAL/rocAL_video_unittests/CMakeLists.txt", string=True, ) filter_file( - "${ROCM_PATH}/lib", + r"${ROCM_PATH}/lib", "{0}/lib".format(self.spec.prefix), "utilities/rocAL/rocAL_video_unittests/CMakeLists.txt", string=True, @@ -295,11 +213,7 @@ def patch(self): type="build", when="@5.3:", ) - depends_on("rocm-opencl@3.5.0", when="@1.7+opencl") - depends_on("rocm-cmake@3.5.0", type="build", when="@1.7") - depends_on("miopen-opencl@3.5.0", when="@1.7+opencl") - depends_on("miopengemm@1.1.6", when="@1.7+opencl") - depends_on("openssl", when="@4.0.0:") + depends_on("openssl") depends_on("libjpeg-turbo@2.0.6+partial_decoder", type="build") depends_on("rpp", when="@5.5:") depends_on("lmdb", when="@5.5:") @@ -313,7 +227,6 @@ def patch(self): depends_on("py-pytz", when="+add_tests") depends_on("rapidjson", when="@5.7:") - conflicts("^cmake@3.22:", when="@:5.0.0") # need to choose atleast one backend and both cannot be set # HIP as backend did not build for older releases 5.1.0 where # OPENCL was default backend. @@ -322,19 +235,6 @@ def patch(self): with when("+opencl"): for ver in [ - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -347,15 +247,11 @@ def patch(self): "5.5.0", "5.5.1", ]: - depends_on("rocm-opencl@" + ver, when="@" + ver) - depends_on("miopengemm@" + ver, when="@" + ver) - depends_on("miopen-opencl@" + ver, when="@" + ver) + depends_on(f"rocm-opencl@{ver}", when=f"@{ver}") + depends_on(f"miopengemm@{ver}", when=f"@{ver}") + depends_on(f"miopen-opencl@{ver}", when=f"@{ver}") with when("+hip"): for ver in [ - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -374,7 +270,7 @@ def patch(self): "6.0.0", "6.0.2", ]: - depends_on("miopen-hip@" + ver, when="@" + ver) + depends_on(f"miopen-hip@{ver}", when=f"@{ver}") for ver in [ "5.3.3", "5.4.0", @@ -388,11 +284,11 @@ def patch(self): "6.0.0", "6.0.2", ]: - depends_on("migraphx@" + ver, when="@" + ver) - depends_on("hip@" + ver, when="@" + ver) + depends_on(f"migraphx@{ver}", when=f"@{ver}") + depends_on(f"hip@{ver}", when=f"@{ver}") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") depends_on("python@3.5:", type="build") def setup_run_environment(self, env): diff --git a/var/spack/repos/builtin/packages/rccl/0001-Fix-numactl-path-issue.patch b/var/spack/repos/builtin/packages/rccl/0001-Fix-numactl-path-issue.patch deleted file mode 100644 index a984c79042..0000000000 --- a/var/spack/repos/builtin/packages/rccl/0001-Fix-numactl-path-issue.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3bd1ce0..dc72b16 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -80,6 +80,8 @@ include_directories(src) - include_directories(src/include) - include_directories(src/collectives) - include_directories(src/collectives/device) -+include_directories(${NUMACTL_DIR}/include) -+link_directories(${NUMACTL_DIR}/lib) - - set(CU_SOURCES - src/collectives/device/all_reduce.cu diff --git a/var/spack/repos/builtin/packages/rccl/package.py b/var/spack/repos/builtin/packages/rccl/package.py index 50347d9083..49f78b5003 100644 --- a/var/spack/repos/builtin/packages/rccl/package.py +++ b/var/spack/repos/builtin/packages/rccl/package.py @@ -39,76 +39,6 @@ class Rccl(CMakePackage): version("5.2.0", sha256="6ee3a04da0d16eb53f768a088633a7d8ecc4416a2d0c07f7ba8426ab7892b060") version("5.1.3", sha256="56491257f27b48bf85f4b91434a2a6e49a448337c889db181b02c8a4a260a4bc") version("5.1.0", sha256="02b0180857e615326f9cab775573436b9162899ad8e526830f54392b8a51b1f5") - version( - "5.0.2", - sha256="a2377ad2332b93d3443a8ee74f4dd9f965ae8cbbfad473f8f57ca17905389a39", - deprecated=True, - ) - version( - "5.0.0", - sha256="80eb70243f11b80e215458a67c278cd5a655f6e486289962b92ba3504e50af5c", - deprecated=True, - ) - version( - "4.5.2", - sha256="36de0d3f3ffad491758d89c208ef72c5be5e0db766053a9c766e9c5c6a33a487", - deprecated=True, - ) - version( - "4.5.0", - sha256="f806f9f65c490abddc562cb4812e12701582bbb449e41cc4797d00e0dedf084e", - deprecated=True, - ) - version( - "4.3.1", - sha256="c5db71423dc654e8d2c3111e142e65c89436bc636827d95d41a09a87f44fe246", - deprecated=True, - ) - version( - "4.3.0", - sha256="b5231d8c5ab034a583feceebcef68d0cc0b05ec5a683f802fc7747c89f27d5f6", - deprecated=True, - ) - version( - "4.2.0", - sha256="2829fae40ebc1d8be201856d2193a941c87e9cf38dca0a2f4414e675c1742f20", - deprecated=True, - ) - version( - "4.1.0", - sha256="88ec9b43c31cb054fe6aa28bcc0f4b510213635268f951939d6980eee5bb3680", - deprecated=True, - ) - version( - "4.0.0", - sha256="0632a15b3d6b5981c05377cf4aeb51546f4c4901fd7c37fb0c98071851ad531a", - deprecated=True, - ) - version( - "3.10.0", - sha256="d9dd0b0d8b9d056fc5e6c7b814520800190952acd30dac3a7c462c4cb6f42bb3", - deprecated=True, - ) - version( - "3.9.0", - sha256="ff9d03154d668093309ff814a33788f2cc093b3c627e78e42ae246e6017408b0", - deprecated=True, - ) - version( - "3.8.0", - sha256="0b6676d06bdb1f65d511a95db9f842a3443def83d75759dfdf812b5e62d8c910", - deprecated=True, - ) - version( - "3.7.0", - sha256="8273878ff71aac2e7adf5cc8562d2933034c6c6b3652f88fbe3cd4f2691036e3", - deprecated=True, - ) - version( - "3.5.0", - sha256="290b57a66758dce47d0bfff3f5f8317df24764e858af67f60ddcdcadb9337253", - deprecated=True, - ) amdgpu_targets = ROCmPackage.amdgpu_targets @@ -119,64 +49,15 @@ class Rccl(CMakePackage): sticky=True, ) - patch("0001-Fix-numactl-path-issue.patch", when="@3.7.0:4.3.2") - patch("0002-Fix-numactl-rocm-smi-path-issue.patch", when="@4.5.0:5.2.1") + patch("0002-Fix-numactl-rocm-smi-path-issue.patch", when="@:5.2.1") patch("0003-Fix-numactl-rocm-smi-path-issue.patch", when="@5.2.3:5.6") patch("0004-Set-rocm-core-path-for-version-file.patch", when="@6.0:") depends_on("cmake@3.5:", type="build") - for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", - "5.3.0", - "5.3.3", - "5.4.0", - "5.4.3", - "5.5.0", - "5.5.1", - "5.6.0", - "5.6.1", - "5.7.0", - "5.7.1", - "6.0.0", - "6.0.2", - ]: - depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) - depends_on("hip@" + ver, when="@" + ver) - depends_on("comgr@" + ver, when="@" + ver) - depends_on("hsa-rocr-dev@" + ver, when="@" + ver) + depends_on("chrpath", when="@5.3.0:5", type="build") + depends_on("numactl@2:") for ver in [ - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -195,12 +76,12 @@ class Rccl(CMakePackage): "6.0.0", "6.0.2", ]: - depends_on("numactl@2:", when="@" + ver) + depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") + depends_on(f"hip@{ver}", when=f"@{ver}") + depends_on(f"comgr@{ver}", when=f"@{ver}") + depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") + for ver in [ - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -219,11 +100,10 @@ class Rccl(CMakePackage): "6.0.0", "6.0.2", ]: - depends_on("rocm-smi-lib@" + ver, when="@" + ver) - depends_on("chrpath", when="@5.3.0:") + depends_on(f"rocm-smi-lib@{ver}", when=f"@{ver}") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") depends_on("googletest@1.11.0:", when="@5.3:") @@ -243,18 +123,16 @@ def setup_build_environment(self, env): env.set("ROCMCORE_PATH", self.spec["rocm-core"].prefix) def cmake_args(self): - args = [] - if "@3.7.0:" in self.spec: - args.append(self.define("NUMACTL_DIR", self.spec["numactl"].prefix)) - + args = [ + self.define("NUMACTL_DIR", self.spec["numactl"].prefix), + self.define("ROCM_SMI_DIR", self.spec["rocm-smi-lib"].prefix), + ] if "auto" not in self.spec.variants["amdgpu_target"]: args.append(self.define_from_variant("AMDGPU_TARGETS", "amdgpu_target")) if self.spec.satisfies("^cmake@3.21.0:3.21.2"): args.append(self.define("__skip_rocmclang", "ON")) - if self.spec.satisfies("@4.5.0:"): - args.append(self.define("ROCM_SMI_DIR", self.spec["rocm-smi-lib"].prefix)) if self.spec.satisfies("@5.3.0:"): args.append(self.define("BUILD_TESTS", "ON")) return args diff --git a/var/spack/repos/builtin/packages/rdc/package.py b/var/spack/repos/builtin/packages/rdc/package.py index b6d22100a4..4df742f634 100644 --- a/var/spack/repos/builtin/packages/rdc/package.py +++ b/var/spack/repos/builtin/packages/rdc/package.py @@ -46,69 +46,8 @@ def url_for_version(self, version): version("5.2.0", sha256="2f35f74485e783f56ea724a7c69ce825f181fcdbe89de453d97ce6a3d3176ae0") version("5.1.3", sha256="ac3e594d7b245c787d6d9b63f551ca898d4d9403fbec0e4502f9970575e031b8") version("5.1.0", sha256="3cf58cb07ef241b3b73b23af83b6477194884feba642584a491e67deeceff038") - version( - "5.0.2", - sha256="9e21fe7e9dd02b69425dab6be22a85469fee072bcebd2d2957633dfad8b45574", - deprecated=True, - ) - version( - "5.0.0", - sha256="68d45a319dc4222d94e1fb1ce10df5f3464de0b745d0d2e9aebbf273493adcc5", - deprecated=True, - ) - version( - "4.5.2", - sha256="1b467e2a473374488292ca1680562ec4e798f43847ea6464453f8f8297f12d8d", - deprecated=True, - ) - version( - "4.5.0", - sha256="e9bc53d068e9a4fdccff587e34c7fe0880f003a18652cd48c29faf031dd2c98f", - deprecated=True, - ) - version( - "4.3.1", - sha256="aae028aae61eb0f4dd30708c4bbb8c5c57a426f10dae9b967b81500fb106d981", - deprecated=True, - ) - version( - "4.3.0", - sha256="d3dda2022ec1f8c7de4de64696009125a903fcb2f82c38b3ac07e4ab35bf9190", - deprecated=True, - ) - version( - "4.2.0", - sha256="ea2c7c07d55f607968f58d7e30326cae5db5b48c1ba354caa5727394d5bad258", - deprecated=True, - ) - version( - "4.1.0", - sha256="dc81ee9727c8913c05dcf20a00669ce611339ef6d6db8af34e57f42bcfa804ac", - deprecated=True, - ) - version( - "4.0.0", - sha256="e9ebfc46dfa983400909ed8a9da4fa37869ab118a8426c2e4f793e21174ca07f", - deprecated=True, - ) - version( - "3.10.0", - sha256="fdc51f9f1f756406d1e2ffaeee0e247d1b04fc4078f08e581bbaa7da79697ac1", - deprecated=True, - ) - version( - "3.9.0", - sha256="bc6339e7f41850a4a049d085a880cfafd3fd8e1610fb94c572d79753d01aa298", - deprecated=True, - ) - version( - "3.8.0", - sha256="d0d0a0e68a848b7a8fa2d88c1d0352ce68e1e142debf32c31d941904f03c4b2f", - deprecated=True, - ) - depends_on("cmake@3.15:3.19.7", type="build", when="@:4.3.1") - depends_on("cmake@3.15:", type="build", when="@4.5.0:") + depends_on("cmake@3.15:", type="build") depends_on("grpc@1.28.1+shared", type="build", when="@:5.3") depends_on("grpc@1.44.0+shared", when="@5.4.0:5.4") depends_on("grpc@1.55.0+shared", when="@5.5.0:") @@ -116,18 +55,6 @@ def url_for_version(self, version): depends_on("libcap") for ver in [ - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -146,11 +73,9 @@ def url_for_version(self, version): "6.0.0", "6.0.2", ]: - depends_on("rocm-smi-lib@" + ver, type=("build", "link"), when="@" + ver) + depends_on(f"rocm-smi-lib@{ver}", type=("build", "link"), when=f"@{ver}") for ver in [ - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -169,10 +94,10 @@ def url_for_version(self, version): "6.0.0", "6.0.2", ]: - depends_on("hsa-rocr-dev@" + ver, when="@" + ver) + depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") def patch(self): filter_file(r"\${ROCM_DIR}/rocm_smi", "${ROCM_SMI_DIR}", "CMakeLists.txt") @@ -184,13 +109,13 @@ def patch(self): ) if self.spec.satisfies("@5.4.0:5.4"): filter_file( - "${ROCM_DIR}/${CMAKE_INSTALL_INCLUDEDIR}", + r"${ROCM_DIR}/${CMAKE_INSTALL_INCLUDEDIR}", "{0}/include".format(self.spec["rocm-smi-lib"].prefix), "CMakeLists.txt", string=True, ) filter_file( - "${ROCM_DIR}/${CMAKE_INSTALL_LIBDIR}", + r"${ROCM_DIR}/${CMAKE_INSTALL_LIBDIR}", "{0}/lib".format(self.spec["rocm-smi-lib"].prefix), "CMakeLists.txt", string=True, @@ -200,22 +125,14 @@ def patch(self): def determine_version(cls, lib): match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib) if match: - ver = "{0}.{1}.{2}".format( + return "{0}.{1}.{2}".format( int(match.group(1)), int(match.group(2)), int(match.group(3)) ) - else: - ver = None - return ver + return None def cmake_args(self): - rpath = self.rpath - rpath.append(self.prefix.opt.rocm.rdc.lib) - rpath = ";".join(rpath) - args = [ - "-DCMAKE_INSTALL_RPATH=" + rpath, - "-DGRPC_ROOT=" + self.spec["grpc"].prefix, - "-DCMAKE_MODULE_PATH={0}/cmake_modules".format(self.stage.source_path), - "-DROCM_SMI_DIR=" + self.spec["rocm-smi-lib"].prefix, - "-DCMAKE_BUILD_WITH_INSTALL_RPATH=1", + return [ + self.define("GRPC_ROOT", self.spec["grpc"].prefix), + self.define("CMAKE_MODULE_PATH", f"{self.stage.source_path}/cmake_modules"), + self.define("ROCM_SMI_DIR", self.spec["rocm-smi-lib"].prefix), ] - return args diff --git a/var/spack/repos/builtin/packages/rocalution/package.py b/var/spack/repos/builtin/packages/rocalution/package.py index 84047be0ab..24d6b8a779 100644 --- a/var/spack/repos/builtin/packages/rocalution/package.py +++ b/var/spack/repos/builtin/packages/rocalution/package.py @@ -45,76 +45,6 @@ class Rocalution(CMakePackage): version("5.2.0", sha256="a5aac471bbec87d019ad7c6db779c73327ad40ecdea09dc5ab2106e62cd6b7eb") version("5.1.3", sha256="7febe8179f120cbe58ea255bc233ad5d1b4c106f3934eb8e670135a8b7bd09c7") version("5.1.0", sha256="d9122189103ebafe7ec5aeb50e60f3e02af5c2747021f9071aab91e7f875c29e") - version( - "5.0.2", - sha256="b01adaf858b9c3683523b087a55fafb655864f5db8e2a1acdbf588f53d6972e2", - deprecated=True, - ) - version( - "5.0.0", - sha256="df9e7eacb8cc1bd5c7c4071b20356a885ee8ae13e6ab5afdabf88a272ab32c7e", - deprecated=True, - ) - version( - "4.5.2", - sha256="8be38922320cd9d4fc465a30f0322843849f62c0c7dad2bdbe52290a1b69d2a0", - deprecated=True, - ) - version( - "4.5.0", - sha256="191629fef002fd1a0793a6b4fe5a6b8c43ac49d3cd173ba64a91359f54659e5b", - deprecated=True, - ) - version( - "4.3.1", - sha256="d3a7b9290f99bdc7382d1d5259c3f5e0e66a43aef4d05b7c2cd78b0e4a5c59bc", - deprecated=True, - ) - version( - "4.3.0", - sha256="f064b96f9f04cf22b89f95f72147fcfef28e2c56ecd764008c060f869c74c144", - deprecated=True, - ) - version( - "4.2.0", - sha256="0424adf522ded41de5b77666e04464a25c73c92e34025762f30837f90a797445", - deprecated=True, - ) - version( - "4.1.0", - sha256="3f61be18a02dff0c152a0ad7eb4779c43dd744b0ba172aa6a4267fc596d582e4", - deprecated=True, - ) - version( - "4.0.0", - sha256="80a224a5c19dea290e6edc0e170c3dff2e726c2b3105d599ec6858cc66f076a9", - deprecated=True, - ) - version( - "3.10.0", - sha256="c24cb9d1a8a1a3118040b8b16dec7c06268bcf157424d3378256cc9eb93f1b58", - deprecated=True, - ) - version( - "3.9.0", - sha256="1ce36801fe1d44f743b46b43345c0cd90d76b73911b2ec97be763f93a35396fb", - deprecated=True, - ) - version( - "3.8.0", - sha256="39e64a29e75c4276163a93596436064c6338770ca72ce7f43711ed8285ed2de5", - deprecated=True, - ) - version( - "3.7.0", - sha256="4d6b20aaaac3bafb7ec084d684417bf578349203b0f9f54168f669e3ec5699f8", - deprecated=True, - ) - version( - "3.5.0", - sha256="be2f78c10c100d7fd9df5dd2403a44700219c2cbabaacf2ea50a6e2241df7bfe", - deprecated=True, - ) amdgpu_targets = ROCmPackage.amdgpu_targets @@ -126,33 +56,8 @@ class Rocalution(CMakePackage): ) depends_on("cmake@3.5:", type="build") - for ver in ["3.5.0", "3.7.0", "3.8.0"]: - depends_on("hip@" + ver, when="@" + ver) - depends_on("rocprim@" + ver, when="@" + ver) - for tgt in itertools.chain(["auto"], amdgpu_targets): - rocblas_tgt = tgt if tgt != "gfx900:xnack-" else "gfx900" - depends_on( - "rocblas@{0} amdgpu_target={1}".format(ver, rocblas_tgt), - when="@{0} amdgpu_target={1}".format(ver, tgt), - ) - depends_on( - "rocsparse@{0} amdgpu_target={1}".format(ver, tgt), - when="@{0} amdgpu_target={1}".format(ver, tgt), - ) - depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) for ver in [ - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -171,23 +76,16 @@ class Rocalution(CMakePackage): "6.0.0", "6.0.2", ]: - depends_on("hip@" + ver, when="@" + ver) - depends_on("rocprim@" + ver, when="@" + ver) + depends_on(f"hip@{ver}", when=f"@{ver}") + depends_on(f"rocprim@{ver}", when=f"@{ver}") for tgt in itertools.chain(["auto"], amdgpu_targets): rocblas_tgt = tgt if tgt != "gfx900:xnack-" else "gfx900" depends_on( - "rocblas@{0} amdgpu_target={1}".format(ver, rocblas_tgt), - when="@{0} amdgpu_target={1}".format(ver, tgt), + f"rocblas@{ver} amdgpu_target={rocblas_tgt}", when=f"@{ver} amdgpu_target={tgt}" ) - depends_on( - "rocsparse@{0} amdgpu_target={1}".format(ver, tgt), - when="@{0} amdgpu_target={1}".format(ver, tgt), - ) - depends_on( - "rocrand@{0} amdgpu_target={1}".format(ver, tgt), - when="@{0} amdgpu_target={1}".format(ver, tgt), - ) - depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) + depends_on(f"rocsparse@{ver} amdgpu_target={tgt}", when=f"@{ver} amdgpu_target={tgt}") + depends_on(f"rocrand@{ver} amdgpu_target={tgt}", when=f"@{ver} amdgpu_target={tgt}") + depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") depends_on("googletest@1.10.0:", type="test") # This fix is added to address the compilation failure and it is @@ -200,25 +98,22 @@ def setup_build_environment(self, env): env.set("CXX", self.spec["hip"].hipcc) def patch(self): - if "@3.9.0:" in self.spec: - kwargs = {"ignore_absent": False, "backup": False, "string": False} - - with working_dir("src/base/hip"): - match = "^#include " - substitute = "#include " - files = ["hip_rand_normal.hpp", "hip_rand_uniform.hpp"] - filter_file(match, substitute, *files, **kwargs) + with working_dir("src/base/hip"): + filter_file( + "^#include ", + "#include ", + "hip_rand_normal.hpp", + "hip_rand_uniform.hpp", + ) @classmethod def determine_version(cls, lib): match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib) if match: - ver = "{0}.{1}.{2}".format( + return "{0}.{1}.{2}".format( int(match.group(1)), int(match.group(2)), int(match.group(3)) ) - else: - ver = None - return ver + return None def cmake_args(self): args = [ @@ -227,9 +122,9 @@ def cmake_args(self): self.define("BUILD_CLIENTS_SAMPLES", "OFF"), self.define("BUILD_CLIENTS_TESTS", self.run_tests), ] - if self.spec.satisfies("@3.7.0:5.1.3"): + if self.spec.satisfies("@:5.1"): args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.cmake)) - elif self.spec.satisfies("@5.2.0:"): + elif self.spec.satisfies("@5.2:"): args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.lib.cmake.hip)) if "auto" not in self.spec.variants["amdgpu_target"]: args.append(self.define_from_variant("AMDGPU_TARGETS", "amdgpu_target")) @@ -237,10 +132,10 @@ def cmake_args(self): if self.spec.satisfies("^cmake@3.21.0:3.21.2"): args.append(self.define("__skip_rocmclang", "ON")) - if self.spec.satisfies("@5.2.0:"): + if self.spec.satisfies("@5.2:"): args.append(self.define("BUILD_FILE_REORG_BACKWARD_COMPATIBILITY", True)) - if self.spec.satisfies("@5.3.0:"): + if self.spec.satisfies("@5.3:"): args.append("-DCMAKE_INSTALL_LIBDIR=lib") return args diff --git a/var/spack/repos/builtin/packages/rocblas/0001-Fix-compilation-error-with-StringRef-to-basic-string.patch b/var/spack/repos/builtin/packages/rocblas/0001-Fix-compilation-error-with-StringRef-to-basic-string.patch deleted file mode 100644 index 54845c5a4a..0000000000 --- a/var/spack/repos/builtin/packages/rocblas/0001-Fix-compilation-error-with-StringRef-to-basic-string.patch +++ /dev/null @@ -1,25 +0,0 @@ -From f4e7ceba4593540d6d6bf35a958d187cc84c5172 Mon Sep 17 00:00:00 2001 -From: Harmen Stoppels -Date: Mon, 10 Aug 2020 23:39:22 +0200 -Subject: [PATCH] Fix compilation error with StringRef to basic string - ---- - Tensile/Tensile/Source/lib/include/Tensile/llvm/YAML.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Tensile/Tensile/Source/lib/include/Tensile/llvm/YAML.hpp b/Tensile/Tensile/Source/lib/include/Tensile/llvm/YAML.hpp -index 16e64ff9..0d00f470 100644 ---- a/Tensile/Tensile/Source/lib/include/Tensile/llvm/YAML.hpp -+++ b/Tensile/Tensile/Source/lib/include/Tensile/llvm/YAML.hpp -@@ -261,7 +261,7 @@ namespace llvm - - static void inputOne(IO& io, StringRef key, Hide& value) - { -- Impl::inputOne(io, key, *value); -+ Impl::inputOne(io, key.str(), *value); - } - - static void output(IO& io, Hide& value) --- -2.25.1 - diff --git a/var/spack/repos/builtin/packages/rocblas/0002-Fix-rocblas-clients-blas.patch b/var/spack/repos/builtin/packages/rocblas/0002-Fix-rocblas-clients-blas.patch deleted file mode 100644 index 5ac534d6d0..0000000000 --- a/var/spack/repos/builtin/packages/rocblas/0002-Fix-rocblas-clients-blas.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -r -u a/clients/benchmarks/CMakeLists.txt b/clients/benchmarks/CMakeLists.txt ---- a/clients/benchmarks/CMakeLists.txt 2021-11-12 12:22:24.359556397 -0700 -+++ b/clients/benchmarks/CMakeLists.txt 2021-11-12 14:21:31.246604351 -0700 -@@ -52,6 +52,8 @@ - target_link_libraries( rocblas-bench PRIVATE rocblas_fortran_client roc::rocblas lapack cblas ) - if(LINK_BLIS) - target_link_libraries( rocblas-bench PRIVATE ${BLIS_LIBRARY} ) -+else() -+ target_link_libraries( rocblas-bench PRIVATE blas ) - endif() - - if( CUDA_FOUND ) -diff -r -u a/clients/gtest/CMakeLists.txt b/clients/gtest/CMakeLists.txt ---- a/clients/gtest/CMakeLists.txt 2021-11-12 12:22:24.359556397 -0700 -+++ b/clients/gtest/CMakeLists.txt 2021-11-12 14:20:59.057676192 -0700 -@@ -132,6 +132,8 @@ - target_link_libraries( rocblas-test PRIVATE rocblas_fortran_client roc::rocblas lapack cblas ${GTEST_LIBRARIES} ) - if(LINK_BLIS) - target_link_libraries( rocblas-test PRIVATE ${BLIS_LIBRARY} ) -+else() -+ target_link_libraries( rocblas-test PRIVATE blas ) - endif() - - diff --git a/var/spack/repos/builtin/packages/rocblas/package.py b/var/spack/repos/builtin/packages/rocblas/package.py index a05ced4764..8c00ddf1d6 100644 --- a/var/spack/repos/builtin/packages/rocblas/package.py +++ b/var/spack/repos/builtin/packages/rocblas/package.py @@ -41,76 +41,6 @@ class Rocblas(CMakePackage): version("5.2.0", sha256="b178b7db5f0af55b21b5f744b8825f5e002daec69b4688e50df2bca2fac155bd") version("5.1.3", sha256="915374431db8f0cecdc2bf318a0ad33c3a8eceedc461d7a06b92ccb02b07313c") version("5.1.0", sha256="efa0c424b5ada697314aa8a78c19c93ade15f1612c4bfc8c53d71d1c9719aaa3") - version( - "5.0.2", - sha256="358a0902fc279bfc80205659a90e96269cb7d83a80386b121e4e3dfe221fec23", - deprecated=True, - ) - version( - "5.0.0", - sha256="4b01fba937ada774f09c7ccb5e9fdc66e1a5d46c130be833e3706e6b5841b1da", - deprecated=True, - ) - version( - "4.5.2", - sha256="15d725e38f91d1ff7772c4204b97c1515af58fa7b8ec2a2014b99b6d337909c4", - deprecated=True, - ) - version( - "4.5.0", - sha256="22d15a1389a10f1324f5e0ceac1a6ec0758a2801a18419a55e37e2bc63793eaf", - deprecated=True, - ) - version( - "4.3.1", - sha256="ad3c09573cb2bcfdb12bfb5a05e85f9c95073993fd610981df24dda792727b4b", - deprecated=True, - ) - version( - "4.3.0", - sha256="b15a66c861b3394cb83c56b64530b2c7e57b2b4c50f55d0e66bb3d1483b50ec4", - deprecated=True, - ) - version( - "4.2.0", - sha256="547f6d5d38a41786839f01c5bfa46ffe9937b389193a8891f251e276a1a47fb0", - deprecated=True, - ) - version( - "4.1.0", - sha256="8be20c722bab169bc4badd79a9eab9a1aa338e0e5ff58ad85ba6bf09e8ac60f4", - deprecated=True, - ) - version( - "4.0.0", - sha256="78e37a7597b581d90a29e4b956fa65d0f8d1c8fb51667906b5fe2a223338d401", - deprecated=True, - ) - version( - "3.10.0", - sha256="9bfd0cf99662192b1ac105ab387531cfa9338ae615db80ed690c6a14d987e0e8", - deprecated=True, - ) - version( - "3.9.0", - sha256="3ecd2d9fd2be0e1697a191d143a2d447b53a91ae01afb50231d591136ad5e2fe", - deprecated=True, - ) - version( - "3.8.0", - sha256="568a9da0360349b1b134d74cc67cbb69b43c06eeca7c33b50072cd26cd3d8900", - deprecated=True, - ) - version( - "3.7.0", - sha256="9425db5f8e8b6f7fb172d09e2a360025b63a4e54414607709efc5acb28819642", - deprecated=True, - ) - version( - "3.5.0", - sha256="8560fabef7f13e8d67da997de2295399f6ec595edfd77e452978c140d5f936f0", - deprecated=True, - ) amdgpu_targets = ROCmPackage.amdgpu_targets @@ -122,54 +52,23 @@ class Rocblas(CMakePackage): ) variant("tensile", default=True, description="Use Tensile as a backend") - # gfx906, gfx908,gfx803,gfx900 are valid for @:4.0.0 - # gfx803,gfx900,gfx:xnack-,gfx908:xnack- are valid gpus for @4.1.0:4.2.0 - # gfx803 till gfx1030 are valid gpus for @4.3.0: - conflicts("amdgpu_target=gfx906:xnack-", when="@:4.0.0") - conflicts("amdgpu_target=gfx908:xnack-", when="@:4.0.0") - conflicts("amdgpu_target=gfx90a:xnack+", when="@:4.2.1") - conflicts("amdgpu_target=gfx90a:xnack-", when="@:4.2.1") - conflicts("amdgpu_target=gfx1010", when="@:4.2.1") - conflicts("amdgpu_target=gfx1011", when="@:4.2.1") - conflicts("amdgpu_target=gfx1012", when="@:4.2.1") - conflicts("amdgpu_target=gfx1030", when="@:4.2.1") # https://reviews.llvm.org/D124866 # https://github.com/ROCm/HIP/issues/2678 # https://github.com/ROCm/hipamd/blob/rocm-5.2.x/include/hip/amd_detail/host_defines.h#L50 conflicts("%gcc@12", when="@5.2") - depends_on("cmake@3.16.8:", type="build", when="@4.2.0:") - depends_on("cmake@3.8:", type="build", when="@3.9.0:") - depends_on("cmake@3.5:", type="build") + depends_on("cmake@3.16.8:", type="build") depends_on("googletest@1.10.0:", type="test") depends_on("amdblis", type="test") for ver in ["5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-openmp-extras@" + ver, type="test", when="@" + ver) + depends_on(f"rocm-openmp-extras@{ver}", type="test", when=f"@{ver}") - depends_on("hip@4.1.0:", when="@4.1.0:") - depends_on("llvm-amdgpu@4.1.0:", type="build", when="@4.1.0:") depends_on("rocm-cmake@master", type="build", when="@master:") - depends_on("rocm-cmake@4.5.0:", type="build", when="@4.5.0:") - depends_on("rocm-cmake@4.3.0:", type="build", when="@4.3.0:") - depends_on("rocm-cmake@3.5.0:", type="build") + depends_on("rocm-cmake", type="build") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -188,15 +87,14 @@ class Rocblas(CMakePackage): "6.0.0", "6.0.2", ]: - depends_on("hip@" + ver, when="@" + ver) - depends_on("llvm-amdgpu@" + ver, type="build", when="@" + ver) - depends_on("rocminfo@" + ver, type="build", when="@" + ver) + depends_on(f"hip@{ver}", when=f"@{ver}") + depends_on(f"llvm-amdgpu@{ver}", type="build", when=f"@{ver}") + depends_on(f"rocminfo@{ver}", type="build", when=f"@{ver}") depends_on("python@3.6:", type="build") with when("+tensile"): - # default library format since 3.7.0 - depends_on("msgpack-c@3:", when="@3.7:") + depends_on("msgpack-c@3:") depends_on("py-virtualenv", type="build") depends_on("perl-file-which", type="build") @@ -208,20 +106,6 @@ class Rocblas(CMakePackage): depends_on("procps", type="build", when="@5.6:") for t_version, t_commit in [ - ("@3.5.0", "f842a1a4427624eff6cbddb2405c36dec9a210cd"), - ("@3.7.0", "af71ea890a893e647bf2cf4571a90297d65689ca"), - ("@3.8.0", "9123205f9b5f95c96ff955695e942d2c3b321cbf"), - ("@3.9.0", "b68edc65aaeed08c71b2b8622f69f83498b57d7a"), - ("@3.10.0", "ab44bf46b609b5a40053f310bef2ab7511f726ae"), - ("@4.0.0", "ab44bf46b609b5a40053f310bef2ab7511f726ae"), - ("@4.1.0", "d175277084d3253401583aa030aba121e8875bfd"), - ("@4.2.0", "3438af228dc812768b20a068b0285122f327fa5b"), - ("@4.3.0", "9cbabb07f81e932b9c98bf5ae48fbd7fcef615cf"), - ("@4.3.1", "9cbabb07f81e932b9c98bf5ae48fbd7fcef615cf"), - ("@4.5.0", "0f6a6d1557868d6d563cb1edf167c32c2e34fda0"), - ("@4.5.2", "0f6a6d1557868d6d563cb1edf167c32c2e34fda0"), - ("@5.0.0", "75b9aefe5981d85d1df32ddcebf32dab52bfdabd"), - ("@5.0.2", "75b9aefe5981d85d1df32ddcebf32dab52bfdabd"), ("@5.1.0", "ea38f8661281a37cd81c96cc07868e3f07d2c4da"), ("@5.1.3", "ea38f8661281a37cd81c96cc07868e3f07d2c4da"), ("@5.2.0", "9ca08f38c4c3bfe6dfa02233637e7e3758c7b6db"), @@ -244,7 +128,7 @@ class Rocblas(CMakePackage): name="Tensile", git="https://github.com/ROCm/Tensile.git", commit=t_commit, - when="{} +tensile".format(t_version), + when=f"{t_version} +tensile", ) for ver in ["master", "develop"]: @@ -252,14 +136,10 @@ class Rocblas(CMakePackage): name="Tensile", git="https://github.com/ROCm/Tensile.git", branch=ver, - when="@{} +tensile".format(ver), + when=f"@{ver} +tensile", ) - # Status: https://github.com/ROCm/Tensile/commit/a488f7dadba34f84b9658ba92ce9ec5a0615a087 - # Not yet landed in 3.7.0, nor 3.8.0. - patch("0001-Fix-compilation-error-with-StringRef-to-basic-string.patch", when="@:3.8") - patch("0002-Fix-rocblas-clients-blas.patch", when="@4.2.0:4.3.1") - patch("0003-Fix-rocblas-gentest.patch", when="@4.2.0:5.1") + patch("0003-Fix-rocblas-gentest.patch", when="@:5.1") # Finding Python package and set command python as python3 patch("0004-Find-python.patch", when="@5.2.0:5.4") patch("0006-Guard-use-of-OpenMP-to-make-it-optional-5.4.patch", when="@5.4") @@ -300,7 +180,6 @@ def cmake_args(self): self.define("BLAS_LIBRARY", self.spec["amdblis"].prefix + "/lib/libblis.a") ) - arch_define_name = "AMDGPU_TARGETS" if "+tensile" in self.spec: tensile_path = join_path(self.stage.source_path, "Tensile") args += [ @@ -308,11 +187,8 @@ def cmake_args(self): self.define("Tensile_COMPILER", "hipcc"), self.define("Tensile_LOGIC", "asm_full"), self.define("BUILD_WITH_TENSILE_HOST", "@3.7.0:" in self.spec), + self.define("Tensile_LIBRARY_FORMAT", "msgpack"), ] - if self.spec.satisfies("@3.7.0:"): - args.append(self.define("Tensile_LIBRARY_FORMAT", "msgpack")) - if self.spec.satisfies("@:4.2.0"): - arch_define_name = "Tensile_ARCHITECTURE" # Restrict the number of jobs Tensile can spawn. # If we don't specify otherwise, Tensile creates a job per available core, # and that consumes a lot of system memory. @@ -321,7 +197,7 @@ def cmake_args(self): # See https://github.com/ROCm/rocBLAS/commit/c1895ba4bb3f4f5947f3818ebd155cf71a27b634 if "auto" not in self.spec.variants["amdgpu_target"]: - args.append(self.define_from_variant(arch_define_name, "amdgpu_target")) + args.append(self.define_from_variant("AMDGPU_TARGETS", "amdgpu_target")) # See https://github.com/ROCm/rocBLAS/issues/1196 if self.spec.satisfies("^cmake@3.21.0:3.21.2"): diff --git a/var/spack/repos/builtin/packages/rocfft/0001-Improve-compilation-by-using-sqlite-recipe-for-rocfft.patch b/var/spack/repos/builtin/packages/rocfft/0001-Improve-compilation-by-using-sqlite-recipe-for-rocfft.patch deleted file mode 100644 index 85fb71a843..0000000000 --- a/var/spack/repos/builtin/packages/rocfft/0001-Improve-compilation-by-using-sqlite-recipe-for-rocfft.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff --git a/library/src/CMakeLists.txt b/library/src/CMakeLists.txt -index 0fed2d2..c426b94 100644 ---- a/library/src/CMakeLists.txt -+++ b/library/src/CMakeLists.txt -@@ -138,27 +138,42 @@ set( rocfft_source - # for cache serialization. We also want to use a static SQLite, - # and distro static libraries aren't typically built - # position-independent. --include( FetchContent ) - --# embed SQLite --FetchContent_Declare(sqlite_local -- URL https://sqlite.org/2021/sqlite-amalgamation-3360000.zip -- URL_HASH SHA256=999826fe4c871f18919fdb8ed7ec9dd8217180854dd1fe21eea96aed36186729 --) --FetchContent_MakeAvailable(sqlite_local) --add_library( sqlite3 STATIC ${sqlite_local_SOURCE_DIR}/sqlite3.c ) --set_target_properties( sqlite3 PROPERTIES -- C_VISIBILITY_PRESET "hidden" -- VISIBILITY_INLINES_HIDDEN ON -- POSITION_INDEPENDENT_CODE ON -+option( SQLITE_USE_SYSTEM_PACKAGE "Use SQLite3 from find_package" OFF ) -+if( SQLITE_USE_SYSTEM_PACKAGE ) -+ find_package(SQLite3 3.36 REQUIRED) -+ set(ROCFFT_SQLITE_LIB SQLite::SQLite3) -+else() -+ include( FetchContent ) -+ if(DEFINED ENV{SQLITE_SRC_URL}) -+ set(SQLITE_SRC_URL_INIT $ENV{SQLITE_SRC_URL}) -+ else() -+ set(SQLITE_SRC_URL_INIT https://sqlite.org/2021/sqlite-amalgamation-3360000.zip) -+ endif() -+ set(SQLITE_SRC_URL ${SQLITE_SRC_URL_INIT} CACHE STRING "Location of SQLite source code") -+ set(SQLITE_SRC_SHA256 999826fe4c871f18919fdb8ed7ec9dd8217180854dd1fe21eea96aed36186729 CACHE STRING "SHA256 hash of SQLite source code") -+ -+ # embed SQLite -+ FetchContent_Declare(sqlite_local -+ URL ${SQLITE_SRC_URL} -+ URL_HASH SHA256=${SQLITE_SRC_SHA256} - ) -- --# we don't need extensions, and omitting them from SQLite removes the --# need for dlopen/dlclose from within rocFFT --target_compile_options( -- sqlite3 -- PRIVATE -DSQLITE_OMIT_LOAD_EXTENSION --) -+ FetchContent_MakeAvailable(sqlite_local) -+ add_library( sqlite3 OBJECT ${sqlite_local_SOURCE_DIR}/sqlite3.c ) -+ set_target_properties( sqlite3 PROPERTIES -+ C_VISIBILITY_PRESET "hidden" -+ VISIBILITY_INLINES_HIDDEN ON -+ POSITION_INDEPENDENT_CODE ON -+ ) -+ -+ # we don't need extensions, and omitting them from SQLite removes the -+ # need for dlopen/dlclose from within rocFFT -+ target_compile_options( -+ sqlite3 -+ PRIVATE -DSQLITE_OMIT_LOAD_EXTENSION -+ ) -+ set(ROCFFT_SQLITE_LIB sqlite3) -+endif() - - set_property( - SOURCE rtc.cpp -@@ -169,8 +184,8 @@ prepend_path( ".." rocfft_headers_public relative_rocfft_headers_public ) - - add_library( rocfft ${rocfft_source} ${relative_rocfft_headers_public} ) - add_library( roc::rocfft ALIAS rocfft ) -+target_link_libraries( rocfft PRIVATE ${ROCFFT_SQLITE_LIB} ) - --target_link_libraries( rocfft PRIVATE stockham_gen sqlite3 ) - if( NOT WIN32 ) - target_link_libraries( rocfft PRIVATE -lstdc++fs ) - endif() diff --git a/var/spack/repos/builtin/packages/rocfft/0002-Fix-clients-fftw3-include-dirs-rocm-4.2.patch b/var/spack/repos/builtin/packages/rocfft/0002-Fix-clients-fftw3-include-dirs-rocm-4.2.patch deleted file mode 100644 index 7d7b0574d2..0000000000 --- a/var/spack/repos/builtin/packages/rocfft/0002-Fix-clients-fftw3-include-dirs-rocm-4.2.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/clients/tests/CMakeLists.txt b/clients/tests/CMakeLists.txt -index 6f2bfb8..2354f7b 100644 ---- a/clients/tests/CMakeLists.txt -+++ b/clients/tests/CMakeLists.txt -@@ -58,7 +58,7 @@ find_package( FFTW 3.0 REQUIRED MODULE COMPONENTS FLOAT DOUBLE ) - - set( rocfft-test_include_dirs - $ -- $ -+ $ - $ - $ - ) diff --git a/var/spack/repos/builtin/packages/rocfft/package.py b/var/spack/repos/builtin/packages/rocfft/package.py index 8d035c30be..efec5bac21 100644 --- a/var/spack/repos/builtin/packages/rocfft/package.py +++ b/var/spack/repos/builtin/packages/rocfft/package.py @@ -38,76 +38,6 @@ class Rocfft(CMakePackage): version("5.2.0", sha256="ebba280b7879fb4bc529a68072b98d4e815201f90d24144d672094bc241743d4") version("5.1.3", sha256="b4fcd03c1b07d465bb307ec33cc7fb50036dff688e497c5e52b2dec37f4cb618") version("5.1.0", sha256="dc11c9061753ae43a9d5db9c4674aa113a8adaf50818b2701cbb940894147f68") - version( - "5.0.2", - sha256="30d4bd5fa85185ddafc69fa6d284edd8033c9d77d1e351fa328267242995eb0a", - deprecated=True, - ) - version( - "5.0.0", - sha256="c16374dac2f85fbaf145511653e93f6db3151425ce39b282187745c716b67405", - deprecated=True, - ) - version( - "4.5.2", - sha256="2724118ca00b9e97ac9578fe0b7e64a82d86c4fb0246d0da88d8ddd9c608b1e1", - deprecated=True, - ) - version( - "4.5.0", - sha256="045c1cf1737db6e7ee332c274dacdb565f99c976ed4cc5626a116878dc80a48c", - deprecated=True, - ) - version( - "4.3.1", - sha256="fcdc4d12b93d967b6f992b4045da98433eabf2ee0ba84fc6b6f81e380584fbc9", - deprecated=True, - ) - version( - "4.3.0", - sha256="cb5b8f62330bc61b17a3a2fd1500068ee05d48cb51797901dd259dbc84610478", - deprecated=True, - ) - version( - "4.2.0", - sha256="db29c9067f0cfa98bddd3574f6aa7200cfc790cc6da352d19e4696c3f3982163", - deprecated=True, - ) - version( - "4.1.0", - sha256="df23fcb05aae72557461ae3687be7e3b8b78be4132daf1aa9dc07339f4eba0cc", - deprecated=True, - ) - version( - "4.0.0", - sha256="d1d10d270f822e0bab64307313ef163ba449b058bf3352962bbb26d4f4db89d0", - deprecated=True, - ) - version( - "3.10.0", - sha256="9f57226aac7d9a0515e14a5a5b08a85e727de72b3f9c2177daf56749ac2c76ae", - deprecated=True, - ) - version( - "3.9.0", - sha256="9c9c0b7f09bab17250f5101d1605e7a61218eae828a3eb8fe048d607181294ce", - deprecated=True, - ) - version( - "3.8.0", - sha256="ed23009796e2ee7c43dcc24527f2d6b1d7a73dceac06c30384460098d2fe1556", - deprecated=True, - ) - version( - "3.7.0", - sha256="94462e4bd19c2c749fcf6903adbee66d4d3bd345c0246861ff8f40b9d08a6ead", - deprecated=True, - ) - version( - "3.5.0", - sha256="629f02cfecb7de5ad2517b6a8aac6ed4de60d3a9c620413c4d9db46081ac2c88", - deprecated=True, - ) amdgpu_targets = ROCmPackage.amdgpu_targets @@ -124,10 +54,9 @@ class Rocfft(CMakePackage): sticky=True, ) - depends_on("cmake@3.16:", type="build", when="@4.5.0:") - depends_on("cmake@3.5:", type="build") - depends_on("python@3.6:", type="build", when="@5.0.0:") - depends_on("sqlite@3.36:", when="@5.0.0:") + depends_on("cmake@3.16:", type="build") + depends_on("python@3.6:", type="build") + depends_on("sqlite@3.36:") depends_on("googletest@1.10.0:", type="test") depends_on("fftw@3.3.8:", type="test") @@ -140,20 +69,6 @@ def check(self): self.run_test(exe, options="--gtest_filter=mix*:adhoc*") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -172,13 +87,11 @@ def check(self): "6.0.0", "6.0.2", ]: - depends_on("hip@" + ver, when="@" + ver) - depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) + depends_on(f"hip@{ver}", when=f"@{ver}") + depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") - patch("0001-Improve-compilation-by-using-sqlite-recipe-for-rocfft.patch", when="@5.0.0:5.0.2") # Patch to add spack build test support. No longer required from 5.2 - patch("0002-Fix-clients-fftw3-include-dirs-rocm-4.2.patch", when="@4.2.0:4.3.1") - patch("0003-Fix-clients-fftw3-include-dirs-rocm-4.5.patch", when="@4.5.0:5.1") + patch("0003-Fix-clients-fftw3-include-dirs-rocm-4.5.patch", when="@:5.1") # Patch to add install prefix header location for sqlite for 5.4 patch("0004-fix-missing-sqlite-include-paths.patch", when="@5.4.0:5.5") @@ -197,46 +110,30 @@ def setup_build_environment(self, env): def determine_version(cls, lib): match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib) if match: - ver = "{0}.{1}.{2}".format( + return "{0}.{1}.{2}".format( int(match.group(1)), int(match.group(2)), int(match.group(3)) ) - else: - ver = None - return ver + return None def cmake_args(self): - args = [self.define("BUILD_CLIENTS_TESTS", self.run_tests)] + args = [ + self.define("BUILD_CLIENTS_TESTS", self.run_tests), + self.define("SQLITE_USE_SYSTEM_PACKAGE", True), + ] + tgt = self.spec.variants["amdgpu_target"] if "auto" not in tgt: - if "@:3.8.0" in self.spec: - args.append( - self.define( - "CMAKE_CXX_FLAGS", "--amdgpu-target={0}".format(",".join(tgt.value)) - ) - ) - else: - args.append(self.define_from_variant("AMDGPU_TARGETS", "amdgpu_target")) - - # From version 3.9 and above we have AMDGPU_TARGETS_SRAM_ECC - tgt_sram = self.spec.variants["amdgpu_target_sram_ecc"] - - if "auto" not in tgt_sram and self.spec.satisfies("@3.9.0:4.0.0"): - args.append( - self.define_from_variant("AMDGPU_TARGETS_SRAM_ECC", "amdgpu_target_sram_ecc") - ) + args.append(self.define_from_variant("AMDGPU_TARGETS", "amdgpu_target")) # See https://github.com/ROCm/rocFFT/issues/322 if self.spec.satisfies("^cmake@3.21.0:3.21.2"): args.append(self.define("__skip_rocmclang", "ON")) - if self.spec.satisfies("@5.0.0:"): - args.append(self.define("SQLITE_USE_SYSTEM_PACKAGE", "ON")) - if self.spec.satisfies("@5.2.0:"): args.append(self.define("BUILD_FILE_REORG_BACKWARD_COMPATIBILITY", True)) if self.spec.satisfies("@5.3.0:"): - args.append("-DCMAKE_INSTALL_LIBDIR=lib") + args.append(self.define("CMAKE_INSTALL_LIBDIR", "lib")) return args diff --git a/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py b/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py index d2f9a5db9d..984a45a073 100644 --- a/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py +++ b/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py @@ -36,94 +36,10 @@ class RocmBandwidthTest(CMakePackage): version("5.2.0", sha256="046f2a6984c62899f57a557490136fbe7ab28e2fd334750abac71b03609226ef") version("5.1.3", sha256="6a6e7fb998c886951db75dcf34dca523d9caaff8d0ccf2b7431504a1808b1ff3") version("5.1.0", sha256="18fe51f0ba61760fc89ffc81f737fd4fa20fb4b00df3f35145be77c3e0a6162b") - version( - "5.0.2", - sha256="c93f7dbb37233aa32d81057fa8b3fa88d7c7be9b7916430b5ffc701600a5ff45", - deprecated=True, - ) - version( - "5.0.0", - sha256="b33c6a12ad8de1d7ea9b8b380b8fa5db6b601ed426c3d3940134863f7d10740f", - deprecated=True, - ) - version( - "4.5.2", - sha256="559ca7ef582d81047c5dd5a908f3989cb2694e89577f7f556214e324ba65e75e", - deprecated=True, - ) - version( - "4.5.0", - sha256="4d20a6017ca6975df98f3ca61ba95fa0c7c62fbf63cd6abae3396c30a423933f", - deprecated=True, - ) - version( - "4.3.1", - sha256="a4804c28586457c231594b4e7689872eaf91972119d892325468f3fe8fdbe5ef", - deprecated=True, - ) - version( - "4.3.0", - sha256="c6eb406cd2836af61dd5987f6b761340a1be20f66a9325f480423d10b9d3ec1b", - deprecated=True, - ) - version( - "4.2.0", - sha256="d268365e3bb8031c1201c05e705074d1fd794d236843f80064855cf31e4412f5", - deprecated=True, - ) - version( - "4.1.0", - sha256="4e34b60a7e4090d6475f0cdd86594b1b9a7b85d4e343999b9e148e196f0c2f4c", - deprecated=True, - ) - version( - "4.0.0", - sha256="bde2aa743979eac195dd13ec8d0fcb7da183fff489da32c28b872eed7f6681b3", - deprecated=True, - ) - version( - "3.10.0", - sha256="ad1dedad9023ccb050082c866fa5131665d9c3b50de0b78e4618730c29a07773", - deprecated=True, - ) - version( - "3.9.0", - sha256="f366299b48a29b419febb2ba398d1abe4cd01425d33254777e426966b722d3b1", - deprecated=True, - ) - version( - "3.8.0", - sha256="7de71a2ba17bbeea9107f2e9e65729f507234d6cbbb44f251240d64683027497", - deprecated=True, - ) - version( - "3.7.0", - sha256="9aa1d4b7b01ee4d443effc76ed5f6f43a051fd815692b59dfccf0ecbfeaeed03", - deprecated=True, - ) - version( - "3.5.0", - sha256="fbb63fb8713617fd167d9c1501acbd92a6b189ee8e1a8aed668fa6666baae389", - deprecated=True, - ) depends_on("cmake@3:", type="build") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -143,10 +59,10 @@ class RocmBandwidthTest(CMakePackage): "6.0.2", "master", ]: - depends_on("hsa-rocr-dev@" + ver, when="@" + ver) - depends_on("hsakmt-roct@" + ver, when="@" + ver) + depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") + depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") build_targets = ["package"] diff --git a/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py b/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py index 70f0a3aba1..9a97645884 100644 --- a/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py +++ b/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py @@ -36,94 +36,10 @@ class RocmClangOcl(CMakePackage): version("5.2.0", sha256="a2059f6aeccc119abbd444cb37128e00e4854e22a88a47f120f8f8b947d862c5") version("5.1.3", sha256="e19ee15f26fc03309398ac73cc738508c0e1617deccfd667d369a3948b5d3552") version("5.1.0", sha256="38d9e2e98cff1a262fdd45c3239fd76a9f6ad5eff38a31aa19c3bb0faea53375") - version( - "5.0.2", - sha256="5e8f39200227388817024ee7ce46a996e43e433ed308f8d5e8e4c03629d8a5e7", - deprecated=True, - ) - version( - "5.0.0", - sha256="0dff230754b790a417eb3d6be6f50c3727f944e0157686100354eba1e47d30f3", - deprecated=True, - ) - version( - "4.5.2", - sha256="8cc7b8658e81ef378c16bbb00fc6b29140c850da70adc4e520ecec9b4517beb8", - deprecated=True, - ) - version( - "4.5.0", - sha256="b9ab42629c8697f8ffdae99ffd25f939161fa8a7a1c49a9ce19d8b207bedbbae", - deprecated=True, - ) - version( - "4.3.1", - sha256="12461d4fd4f3f40710d2c041cfee37da83ccda9d2761d7708335349e7ec5ad87", - deprecated=True, - ) - version( - "4.3.0", - sha256="bc5650f2f105b10a1e22d8e5cc9464b0f960252a08e5e1fdee222af1fc5c022c", - deprecated=True, - ) - version( - "4.2.0", - sha256="702796f4e31f6119173d915db9bee13c060a75d9eb5b1f8e3d20779d6702dfdc", - deprecated=True, - ) - version( - "4.1.0", - sha256="c6e65da5541df9ee940caeeffe1b87c92547edc1770538fd2010c9c998a593b5", - deprecated=True, - ) - version( - "4.0.0", - sha256="c8f9091396ee0096f6d7c1cd13d80532c424e838bec1e4cebf903ebaf649e82e", - deprecated=True, - ) - version( - "3.10.0", - sha256="17fc8fb8c38b18f9f0cac339dda6cea3e9e66805f7a92ec2456072fc1e72fa85", - deprecated=True, - ) - version( - "3.9.0", - sha256="3d63c7ac259ba8b0bfd5e4a94df1490c2b6cbac4d43dc7bbc210a536251268fe", - deprecated=True, - ) - version( - "3.8.0", - sha256="a829aa2efb6e3bc00d8a08a96404f937f3c8adf3b4922b5ac35050d6e08b912d", - deprecated=True, - ) - version( - "3.7.0", - sha256="9c00c7e7dd3ac8326ae6772a43866b44ae049d5960ea6993d14a2370db74d326", - deprecated=True, - ) - version( - "3.5.0", - sha256="38c95fbd0ac3d11d9bd224ad333b68b9620dde502b8a8a9f3d96ba642901e8bb", - deprecated=True, - ) depends_on("cmake@3.5:", type="build") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -143,15 +59,13 @@ class RocmClangOcl(CMakePackage): "6.0.2", "master", ]: - depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) - depends_on("llvm-amdgpu@" + ver, when="@" + ver) + depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") + depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") # support both builtin and standalone device libs - depends_on( - "rocm-device-libs@" + ver, when="@{0} ^llvm-amdgpu ~rocm-device-libs".format(ver) - ) + depends_on(f"rocm-device-libs@{ver}", when=f"@{ver} ^llvm-amdgpu ~rocm-device-libs") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") test_src_dir = "test" diff --git a/var/spack/repos/builtin/packages/rocm-cmake/package.py b/var/spack/repos/builtin/packages/rocm-cmake/package.py index 1670908c86..cf7a5a1603 100644 --- a/var/spack/repos/builtin/packages/rocm-cmake/package.py +++ b/var/spack/repos/builtin/packages/rocm-cmake/package.py @@ -39,82 +39,11 @@ class RocmCmake(CMakePackage): version("5.2.0", sha256="be8646c4f7babfe9a103c97d0e9f369322f8ac6cfa528edacdbdcf7f3ef44943") version("5.1.3", sha256="19b2da0d56300aab454655b57435ab3ed9e101ecb96561336ea8865bbd993c23") version("5.1.0", sha256="2eff47b7cf5bd56d465ff3c110eb936d31860df60182a82ba511ba11bbcf23fc") - version( - "5.0.2", - sha256="86a4ae0f84dcf5be95a252295eb732d6a7a271297eed37800a9d492c16474d0c", - deprecated=True, - ) - version( - "5.0.0", - sha256="45eb958fac33aafea86fb498127ebf8f567646ce9d7288d46afbd087500553a1", - deprecated=True, - ) - version( - "4.5.2", - sha256="85f2ef51327e4b09d81a221b4ad31c97923dabc1bc8ff127dd6c570742185751", - deprecated=True, - ) - version( - "4.5.0", - sha256="c77b71454010adbeea5357773aa98dd0725f655f51a411815807cabf29258395", - deprecated=True, - ) - version( - "4.3.1", - sha256="acf2a58e2cd486f473194bf01247c52dbf20bd5f6465810fb221470298f2557f", - deprecated=True, - ) - version( - "4.3.0", - sha256="bb752d8d2727b7ef2754838e389075dd4212cf5439d099392141f93d05391415", - deprecated=True, - ) - version( - "4.2.0", - sha256="299e190ec3d38c2279d9aec762469628f0b2b1867adc082edc5708d1ac785c3b", - deprecated=True, - ) - version( - "4.1.0", - sha256="a4521d119fa07954e529d5e717ad1b338992c0694690dbce00fee26c01129c8c", - deprecated=True, - ) - version( - "4.0.0", - sha256="4577487acaa6e041a1316145867584f31caaf0d4aa2dd8fd7f82f81c269cada6", - deprecated=True, - ) - version( - "3.10.0", - sha256="751be4484efdcf0d5fa675480db6e2cddab897de4708c7c7b9fa7adb430b52d7", - deprecated=True, - ) - version( - "3.9.0", - sha256="e0a8db85bb55acb549f360eb9b04f55104aa93e4c3db33f9ba11d9adae2a07eb", - deprecated=True, - ) - version( - "3.8.0", - sha256="9e4be93c76631224eb49b2fa30b0d14c1b3311a6519c8b393da96ac0649d9f30", - deprecated=True, - ) - version( - "3.7.0", - sha256="51abfb06124c2e0677c4d6f7fe83c22fe855cb21386f0053ace09f8ab297058b", - deprecated=True, - ) - version( - "3.5.0", - sha256="5fc09e168879823160f5fdf4fd1ace2702d36545bf733e8005ed4ca18c3e910f", - deprecated=True, - ) - depends_on("cmake@3:", type="build") - depends_on("cmake@3.6:", type="build", when="@4.1.0:") + depends_on("cmake@3.6:", type="build") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") test_src_dir = "test" diff --git a/var/spack/repos/builtin/packages/rocm-dbgapi/package.py b/var/spack/repos/builtin/packages/rocm-dbgapi/package.py index cb2a2c8389..2d935c9fa1 100644 --- a/var/spack/repos/builtin/packages/rocm-dbgapi/package.py +++ b/var/spack/repos/builtin/packages/rocm-dbgapi/package.py @@ -43,95 +43,11 @@ class RocmDbgapi(CMakePackage): version("5.2.0", sha256="44f0528a7583bc59b6585166d2289970b20115c4c70e3bcc218aff19fc242b3f") version("5.1.3", sha256="880f80ebf741e3451676837f720551e02cffd0b9346ca4dfa6cf7f7043282f2b") version("5.1.0", sha256="406db4b20bda12f6f32cbef88b03110aa001bf7bef6676f36e909b53c8354e43") - version( - "5.0.2", - sha256="b7554dfe96bda6c2ee762ad6e3e5f91f0f52b5a525e3fb29d5e1fe6f003652b5", - deprecated=True, - ) - version( - "5.0.0", - sha256="cff72d7fe43ff791c4117fe87d57314cbebdbcb70002a0411b8a44761012a495", - deprecated=True, - ) - version( - "4.5.2", - sha256="9fa574e8389ef69d116caf714af2f938777e0aeeaadd7fad451cf5d2e6699c6e", - deprecated=True, - ) - version( - "4.5.0", - sha256="583bbf18df593f376c4cc70f25b68c191bd38fde20a336c0f5c8e5d85fda2fcf", - deprecated=True, - ) - version( - "4.3.1", - sha256="dddf2549ad6bb806f7e5d5a5336f5a00fe87a124f2a778be18ec4dc41f891912", - deprecated=True, - ) - version( - "4.3.0", - sha256="4255d83d218bb0db8be9fef18e03a955ea1c6de1c635c31685ee5fc1540ddde6", - deprecated=True, - ) - version( - "4.2.0", - sha256="fcdee5aaf5ed40c0377ce007a2947da9e718eeee86ca3e13192ff9e96a1b7373", - deprecated=True, - ) - version( - "4.1.0", - sha256="d04fd9b2005691313547c4134b027b56b0ec6089f67d3bccbdb8fb1c92cde9bd", - deprecated=True, - ) - version( - "4.0.0", - sha256="e87f31b3a22861397eb62d8363dd1e153596097ccfe68c6eefc1a83a2432ae18", - deprecated=True, - ) - version( - "3.10.0", - sha256="89a8d352d59e4c0dc13160b1bf1f4bc3bfec5af544050030aa619b1ff88f1850", - deprecated=True, - ) - version( - "3.9.0", - sha256="d1553f89d2b0419304ea82ed2b97abdc323c2fed183f0e119da1a72416a48136", - deprecated=True, - ) - version( - "3.8.0", - sha256="760ff77c6578f3548f367a8bd3dda8680b7519f6b20216755105b87785d1e3f8", - deprecated=True, - ) - version( - "3.7.0", - sha256="bdeaf81ea8a0ac861a697e435c72cbe767c291638be43f0d09116ad605dfee4f", - deprecated=True, - ) - version( - "3.5.0", - sha256="eeba0592bc79b90e5b874bba18fd003eab347e8a3cc80343708f8d19e047e87b", - deprecated=True, - ) depends_on("cmake@3:", type="build") depends_on("hwdata", when="@5.5.0:") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -151,22 +67,20 @@ class RocmDbgapi(CMakePackage): "6.0.2", "master", ]: - depends_on("hsa-rocr-dev@" + ver, type="build", when="@" + ver) - depends_on("comgr@" + ver, type=("build", "link"), when="@" + ver) + depends_on(f"hsa-rocr-dev@{ver}", type="build", when=f"@{ver}") + depends_on(f"comgr@{ver}", type=("build", "link"), when=f"@{ver}") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") @classmethod def determine_version(cls, lib): match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib) if match: - ver = "{0}.{1}.{2}".format( + return "{0}.{1}.{2}".format( int(match.group(1)), int(match.group(2)), int(match.group(3)) ) - else: - ver = None - return ver + return None def patch(self): filter_file( @@ -178,5 +92,5 @@ def patch(self): def cmake_args(self): args = [] if self.spec.satisfies("@5.3.0:"): - args.append("-DCMAKE_INSTALL_LIBDIR=lib") + args.append(self.define("CMAKE_INSTALL_LIBDIR", "lib")) return args diff --git a/var/spack/repos/builtin/packages/rocm-debug-agent/package.py b/var/spack/repos/builtin/packages/rocm-debug-agent/package.py index daa896287a..e07e6b9658 100644 --- a/var/spack/repos/builtin/packages/rocm-debug-agent/package.py +++ b/var/spack/repos/builtin/packages/rocm-debug-agent/package.py @@ -36,104 +36,11 @@ class RocmDebugAgent(CMakePackage): version("5.2.0", sha256="f8e8d5ad691033d0c0f1850d69f35c98ba9722ab4adc66c4251f22257f56f0a2") version("5.1.3", sha256="ef26130829f3348d503669467ab1ea39fb67d943d88d64e7ac04b9617ec6067d") version("5.1.0", sha256="e0ceeef575d8645385bc6e4c9c3accaa192a93c42d83545cf5626c848f59806b") - version( - "5.0.2", - sha256="4ec3cdedc4ba774d05c3dc972186b3181b3aa823af08f3843238961d5ef90e57", - deprecated=True, - ) - version( - "5.0.0", - sha256="fb8ebe136bfa815116453bdcb4afb9617ab488f54501434c72eed9706857be3f", - deprecated=True, - ) - version( - "4.5.2", - sha256="85c7f19485defd9a58716fffdd1a0e065ed7f779c3f124467fca18755bc634a6", - deprecated=True, - ) - version( - "4.5.0", - sha256="6486b1a8515da4711d3c85f8e41886f8fe6ba37ca2c63664f00c811f6296ac20", - deprecated=True, - ) - version( - "4.3.1", - sha256="7bee6be6c29883f03f47a8944c0d50b7cf43a6b5eeed734602f521c3c40a18d0", - deprecated=True, - ) - version( - "4.3.0", - sha256="0cdee5792b808e03b839070da0d1b08dc4078a7d1fc295f0c99c6a5ae7d636a6", - deprecated=True, - ) - version( - "4.2.0", - sha256="ce02a5b752291882daa0a2befa23944e59087ce9fe65a91061476c3c399e4a0c", - deprecated=True, - ) - version( - "4.1.0", - sha256="b1ae874887e5ee037070f1dd46b145ad02ec9fd8a724c6b6ae194b534f01acdb", - deprecated=True, - ) - version( - "4.0.0", - sha256="a9e64834d56a9221c242e71aa110c2cef0087aa8f86f50428dd618e5e623cc3c", - deprecated=True, - ) - version( - "3.10.0", - sha256="675b8d3cc4aecc4428a93553abf664bbe6a2cb153f1f480e6cadeeb4d24ef4b1", - deprecated=True, - ) - version( - "3.9.0", - sha256="3e56bf8b2b53d9102e8709b6259deea52257dc6210df16996b71a7d677952b1b", - deprecated=True, - ) - version( - "3.8.0", - sha256="55243331ac4b0d90e88882eb29fd06fad354e278f8a34ac7f0680b2c895ca2ac", - deprecated=True, - ) - version( - "3.7.0", - sha256="d0f442a2b224a734b0080c906f0fc3066a698e5cde9ff97ffeb485b36d2caba1", - deprecated=True, - ) - version( - "3.5.0", - sha256="203ccb18d2ac508aae40bf364923f67375a08798b20057e574a0c5be8039f133", - deprecated=True, - ) - - def url_for_version(self, version): - url = "https://github.com/ROCm/rocr_debug_agent/archive/" - if version <= Version("3.7.0"): - url += "roc-{0}.tar.gz".format(version) - else: - url += "rocm-{0}.tar.gz".format(version) - - return url depends_on("cmake@3:", type="build") depends_on("elfutils@:0.168", type="link") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -152,23 +59,10 @@ def url_for_version(self, version): "6.0.0", "6.0.2", ]: - depends_on("hsa-rocr-dev@" + ver, when="@" + ver) - depends_on("hsakmt-roct@" + ver, when="@" + ver) + depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") + depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}") for ver in [ - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -187,46 +81,30 @@ def url_for_version(self, version): "6.0.0", "6.0.2", ]: - depends_on("rocm-dbgapi@" + ver, when="@" + ver) - depends_on("hip@" + ver, when="@" + ver) + depends_on(f"rocm-dbgapi@{ver}", when=f"@{ver}") + depends_on(f"hip@{ver}", when=f"@{ver}") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") # https://github.com/ROCm/rocr_debug_agent/pull/4 - patch("0001-Drop-overly-strict-Werror-flag.patch", when="@3.7.0:") - patch("0002-add-hip-architecture.patch", when="@3.9.0:") + patch("0001-Drop-overly-strict-Werror-flag.patch") + patch("0002-add-hip-architecture.patch") @classmethod def determine_version(cls, lib): match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib) if match: - ver = "{0}.{1}.{2}".format( + return "{0}.{1}.{2}".format( int(match.group(1)), int(match.group(2)), int(match.group(3)) ) - else: - ver = None - return ver - - @property - def root_cmakelists_dir(self): - if self.spec.satisfies("@3.5.0"): - return "src" - else: - return self.stage.source_path + return None def cmake_args(self): spec = self.spec args = [] - if spec.satisfies("@3.5.0"): - args.append( - "-DCMAKE_PREFIX_PATH={0}/include/hsa;{1}/include,".format( - spec["hsa-rocr-dev"].prefix, spec["hsakmt-roct"].prefix - ) - ) - - if spec.satisfies("@3.7.0:5.1"): + if spec.satisfies("@:5.1"): args.append(self.define("CMAKE_MODULE_PATH", spec["hip"].prefix.cmake)) elif spec.satisfies("@5.2.0:"): args.append(self.define("CMAKE_MODULE_PATH", spec["hip"].prefix.lib.cmake.hip)) diff --git a/var/spack/repos/builtin/packages/rocm-device-libs/package.py b/var/spack/repos/builtin/packages/rocm-device-libs/package.py index b4fc360a64..dc89c38db0 100644 --- a/var/spack/repos/builtin/packages/rocm-device-libs/package.py +++ b/var/spack/repos/builtin/packages/rocm-device-libs/package.py @@ -36,82 +36,11 @@ class RocmDeviceLibs(CMakePackage): version("5.2.0", sha256="901674bc941115c72f82c5def61d42f2bebee687aefd30a460905996f838e16c") version("5.1.3", sha256="c41958560ec29c8bf91332b9f668793463904a2081c330c0d828bf2f91d4f04e") version("5.1.0", sha256="47dbcb41fb4739219cadc9f2b5f21358ed2f9895ce786d2f7a1b2c4fd044d30f") - version( - "5.0.2", - sha256="49cfa8f8fc276ba27feef40546788a2aabe259a924a97af8bef24e295d19aa5e", - deprecated=True, - ) - version( - "5.0.0", - sha256="83ed7aa1c9322b4fc1f57c48a63fc7718eb4195ee6fde433009b4bc78cb363f0", - deprecated=True, - ) - version( - "4.5.2", - sha256="50e9e87ecd6b561cad0d471295d29f7220e195528e567fcabe2ec73838979f61", - deprecated=True, - ) - version( - "4.5.0", - sha256="78412fb10ceb215952b5cc722ed08fa82501b5848d599dc00744ae1bdc196f77", - deprecated=True, - ) - version( - "4.3.1", - sha256="a7291813168e500bfa8aaa5d1dccf5250764ddfe27535def01b51eb5021d4592", - deprecated=True, - ) - version( - "4.3.0", - sha256="055a67e63da6491c84cd45865500043553fb33c44d538313dd87040a6f3826f2", - deprecated=True, - ) - version( - "4.2.0", - sha256="34a2ac39b9bb7cfa8175cbab05d30e7f3c06aaffce99eed5f79c616d0f910f5f", - deprecated=True, - ) - version( - "4.1.0", - sha256="f5f5aa6bfbd83ff80a968fa332f80220256447c4ccb71c36f1fbd2b4a8e9fc1b", - deprecated=True, - ) - version( - "4.0.0", - sha256="d0aa495f9b63f6d8cf8ac668f4dc61831d996e9ae3f15280052a37b9d7670d2a", - deprecated=True, - ) - version( - "3.10.0", - sha256="bca9291385d6bdc91a8b39a46f0fd816157d38abb1725ff5222e6a0daa0834cc", - deprecated=True, - ) - version( - "3.9.0", - sha256="c99f45dacf5967aef9a31e3731011b9c142446d4a12bac69774998976f2576d7", - deprecated=True, - ) - version( - "3.8.0", - sha256="e82cc9a8eb7d92de02cabb856583e28f17a05c8cf9c97aec5275608ef1a38574", - deprecated=True, - ) - version( - "3.7.0", - sha256="b3a114180bf184b3b829c356067bc6a98021d52c1c6f9db6bc57272ebafc5f1d", - deprecated=True, - ) - version( - "3.5.0", - sha256="dce3a4ba672c4a2da4c2260ee4dc96ff6dd51877f5e7e1993cb107372a35a378", - deprecated=True, - ) - depends_on("cmake@3.13.4:", type="build", when="@3.9.0:") - depends_on("cmake@3.4.3:", type="build") + depends_on("cmake@3.13.4:", type="build") - depends_on("zlib-api", type="link", when="@3.9.0:") - depends_on("texinfo", type="link", when="@3.9.0:") + depends_on("zlib-api", type="link") + depends_on("texinfo", type="link") depends_on("rocm-cmake@3.5.0:", type="build") @@ -120,20 +49,6 @@ class RocmDeviceLibs(CMakePackage): depends_on("llvm-amdgpu ~rocm-device-libs") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -153,10 +68,10 @@ class RocmDeviceLibs(CMakePackage): "6.0.2", "master", ]: - depends_on("llvm-amdgpu@" + ver, when="@" + ver) + depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") def cmake_args(self): spec = self.spec diff --git a/var/spack/repos/builtin/packages/rocm-gdb/package.py b/var/spack/repos/builtin/packages/rocm-gdb/package.py index 036c310001..c3bffaea6c 100644 --- a/var/spack/repos/builtin/packages/rocm-gdb/package.py +++ b/var/spack/repos/builtin/packages/rocm-gdb/package.py @@ -35,76 +35,6 @@ class RocmGdb(AutotoolsPackage): version("5.2.0", sha256="70c5b443292b9bb114844eb63b72cfab1b65f083511ee39d55db7a633c63bf5a") version("5.1.3", sha256="81f5e368facdcc424a37cb5809f0b436bedb9a6d9af4d17785b3c446ab0a7821") version("5.1.0", sha256="cf638149b269f838aaec59c5801098b9c0fc42f6c86a39309a8995b56978b424") - version( - "5.0.2", - sha256="0eced8cd5a2996cb4bcf254f2bd9defe24112d21c2f750e98f784ecdf94ba5c9", - deprecated=True, - ) - version( - "5.0.0", - sha256="aa311fb557bd95e35c6e4dfd245188f35c294a93bacb77fe4d3b178b1d0097e8", - deprecated=True, - ) - version( - "4.5.2", - sha256="e278abf50f1758ce396b26a6719d0af09a6053c195516a44ec9b2be925d79203", - deprecated=True, - ) - version( - "4.5.0", - sha256="dd37c8b1ea6bb41b1263183637575d7bf4746cabc573dbff888e23b0379877b0", - deprecated=True, - ) - version( - "4.3.1", - sha256="995756a24b1e1510647dac1476a3a9a8e3af8e9fd9f4af1d00dd2db28e7a4ef2", - deprecated=True, - ) - version( - "4.3.0", - sha256="8ee0667ab2cd91b2cc41d3a7af046d36a6b4e2007f050265aa65e0aedec83fd7", - deprecated=True, - ) - version( - "4.2.0", - sha256="4bc579584a1f8614111e7e44d8aa1c6d5d06be3f5db055aba2cf1abc140122ac", - deprecated=True, - ) - version( - "4.1.0", - sha256="28dc806e48695d654d52fb1a634df6d4c1243f00846ae90161e7a5e9f4d88b24", - deprecated=True, - ) - version( - "4.0.0", - sha256="b90291b0a8409fe66d8a65d2731dcb87b9f5a22bac9ce3ffbab726eb129ba13d", - deprecated=True, - ) - version( - "3.10.0", - sha256="05455cb47dd42404ee8bba047def6a6846a7e877e7a7db8dcffc7100d5ba16f0", - deprecated=True, - ) - version( - "3.9.0", - sha256="0765c96439c0efa145418d210d865b9faed463466d7522274959cc4476a37097", - deprecated=True, - ) - version( - "3.8.0", - sha256="a7c11dc30c952587c616bf7769bad603c3bf80522afc8b73ccda5b78d27bed41", - deprecated=True, - ) - version( - "3.7.0", - sha256="7a29ef584fd7b6c66bb03aaf8ec2f5a8c758370672a28a4d0d95066e5f6fbdc1", - deprecated=True, - ) - version( - "3.5.0", - sha256="cf36d956e84c7a5711b71f281a44b0a9708e13e941d8fca0247d01567e7ee7d1", - deprecated=True, - ) depends_on("cmake@3:", type="build") depends_on("texinfo", type="build") @@ -115,23 +45,9 @@ class RocmGdb(AutotoolsPackage): depends_on("python", type=("build", "link")) depends_on("zlib-api", type="link") depends_on("babeltrace@1.2.4", type="link") - depends_on("gmp", type=("build", "link"), when="@4.5.0:") + depends_on("gmp", type=("build", "link")) for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -149,11 +65,11 @@ class RocmGdb(AutotoolsPackage): "5.7.1", "6.0.0", ]: - depends_on("rocm-dbgapi@" + ver, type="link", when="@" + ver) - depends_on("comgr@" + ver, type="link", when="@" + ver) + depends_on(f"rocm-dbgapi@{ver}", type="link", when=f"@{ver}") + depends_on(f"comgr@{ver}", type="link", when=f"@{ver}") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") build_directory = "spack-build" diff --git a/var/spack/repos/builtin/packages/rocm-opencl/package.py b/var/spack/repos/builtin/packages/rocm-opencl/package.py index c8b163dd71..fbef90f384 100644 --- a/var/spack/repos/builtin/packages/rocm-opencl/package.py +++ b/var/spack/repos/builtin/packages/rocm-opencl/package.py @@ -53,80 +53,10 @@ def url_for_version(self, version): version("5.2.0", sha256="80f73387effdcd987a150978775a87049a976aa74f5770d4420847b004dd59f0") version("5.1.3", sha256="44a7fac721abcd93470e1a7e466bdea0c668c253dee93e4f1ea9a72dbce4ba31") version("5.1.0", sha256="362d81303048cf7ed5d2f69fb65ed65425bc3da4734fff83e3b8fbdda51b0927") - version( - "5.0.2", - sha256="3edb1992ba28b4a7f82dd66fbd121f62bd859c1afb7ceb47fa856bd68feedc95", - deprecated=True, - ) - version( - "5.0.0", - sha256="2aa3a628b336461f83866c4e76225ef5338359e31f802987699d6308515ae1be", - deprecated=True, - ) - version( - "4.5.2", - sha256="96b43f314899707810db92149caf518bdb7cf39f7c0ad86e98ad687ffb0d396d", - deprecated=True, - ) - version( - "4.5.0", - sha256="3a163aed24619b3faf5e8ba17325bdcedd1667a904ea20914ac6bdd33fcdbca8", - deprecated=True, - ) - version( - "4.3.1", - sha256="7f98f7d4707b4392f8aa7017aaca9e27cb20263428a1a81fb7ec7c552e60c4ca", - deprecated=True, - ) - version( - "4.3.0", - sha256="d37bddcc6835b6c0fecdf4d02c204ac1d312076f3eef2b1faded1c4c1bc651e9", - deprecated=True, - ) - version( - "4.2.0", - sha256="18133451948a83055ca5ebfb5ba1bd536ed0bcb611df98829f1251a98a38f730", - deprecated=True, - ) - version( - "4.1.0", - sha256="0729e6c2adf1e3cf649dc6e679f9cb936f4f423f4954ad9852857c0a53ef799c", - deprecated=True, - ) - version( - "4.0.0", - sha256="d43ea5898c6b9e730b5efabe8367cc136a9260afeac5d0fe85b481d625dd7df1", - deprecated=True, - ) - version( - "3.10.0", - sha256="3aa9dc5a5f570320b04b35ee129ce9ff21062d2770df934c6c307913f975e93d", - deprecated=True, - ) - version( - "3.9.0", - sha256="286ff64304905384ce524cd8794c28aee216befd6c9267d4187a12e5a21e2daf", - deprecated=True, - ) - version( - "3.8.0", - sha256="7f75dd1abf3d771d554b0e7b0a7d915ab5f11a74962c92b013ee044a23c1270a", - deprecated=True, - ) - version( - "3.7.0", - sha256="283e1dfe4c3d2e8af4d677ed3c20e975393cdb0856e3ccd77b9c7ed2a151650b", - deprecated=True, - ) - version( - "3.5.0", - sha256="511b617d5192f2d4893603c1a02402b2ac9556e9806ff09dd2a91d398abf39a0", - deprecated=True, - ) depends_on("cmake@3:", type="build") depends_on("gl@4.5:", type="link") - depends_on("numactl", type="link", when="@3.7.0:") + depends_on("numactl", type="link") for d_version, d_shasum in [ ("5.6.1", "cc9a99c7e4de3d9360c0a471b27d626e84a39c9e60e0aff1e8e1500d82391819"), @@ -142,52 +72,20 @@ def url_for_version(self, version): ("5.2.0", "37f5fce04348183bce2ece8bac1117f6ef7e710ca68371ff82ab08e93368bafb"), ("5.1.3", "ddee63cdc6515c90bab89572b13e1627b145916cb8ede075ef8446cbb83f0a48"), ("5.1.0", "f4f265604b534795a275af902b2c814f416434d9c9e16db81b3ed5d062187dfa"), - ("5.0.2", "34decd84652268dde865f38e66f8fb4750a08c2457fea52ad962bced82a03e5e"), - ("5.0.0", "6b72faf8819628a5c109b2ade515ab9009606d10f11316f0d7e4c4c998d7f724"), - ("4.5.2", "6581916a3303a31f76454f12f86e020fb5e5c019f3dbb0780436a8f73792c4d1"), - ("4.5.0", "ca8d6305ff0e620d9cb69ff7ac3898917db9e9b6996a7320244b48ab6511dd8e"), ]: resource( name="rocclr", - url="https://github.com/ROCm/ROCclr/archive/rocm-{0}.tar.gz".format(d_version), + url=f"https://github.com/ROCm/ROCclr/archive/rocm-{d_version}.tar.gz", sha256=d_shasum, expand=True, destination="", placement="rocclr", - when="@{0}".format(d_version), + when=f"@{d_version}", ) # Patch to set package installation path for OpenCL. - patch("0001-fix-build-error-rocm-opencl-5.1.0.patch", when="@5.1.0:5.1") + patch("0001-fix-build-error-rocm-opencl-5.1.0.patch", when="@5.1") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "master", - ]: - depends_on("hip-rocclr@" + ver, type="build", when="@" + ver) - for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -207,55 +105,24 @@ def url_for_version(self, version): "6.0.2", "master", ]: - depends_on("comgr@" + ver, type="build", when="@" + ver) - depends_on("hsa-rocr-dev@" + ver, type="link", when="@" + ver) + depends_on(f"comgr@{ver}", type="build", when=f"@{ver}") + depends_on(f"hsa-rocr-dev@{ver}", type="link", when=f"@{ver}") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") @classmethod def determine_version(cls, lib): match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib) if match: - ver = "{0}.{1}.{2}".format( + return "{0}.{1}.{2}".format( int(match.group(1)), int(match.group(2)), int(match.group(3)) ) - else: - ver = None - return ver - - def flag_handler(self, name, flags): - # The includes are messed up in ROCm 3.5.0: - # ROCM-OpenCL-Runtime uses flat includes - # and the find_package(ROCclr) bit it - # commented out. So instead we provide - # all the includes... - - if self.spec.satisfies("@:4.3.2") and name in ("cflags", "cxxflags"): - rocclr = self.spec["hip-rocclr"].prefix - extra_includes = [ - "include", - "include/compiler/lib/include", - "include/elf", - "compiler/lib", - "compiler/lib/include", - "elf/utils/libelf", - "elf/utils/common", - ] - - for p in extra_includes: - flag = "-I {0}".format(join_path(rocclr, p)) - flags.append(flag) - - return (flags, None, None) + return None def cmake_args(self): args = ["-DUSE_COMGR_LIBRARY=yes", "-DBUILD_TESTS=ON"] - if self.spec.satisfies("@:4.3.0"): - "-DROCclr_DIR={0}".format(self.spec["hip-rocclr"].prefix), - "-DLIBROCclr_STATIC_DIR={0}/lib".format - (self.spec["hip-rocclr"].prefix) - if self.spec.satisfies("@4.5:5.6"): + if self.spec.satisfies("@:5.6"): args.append(self.define("ROCCLR_PATH", self.stage.source_path + "/rocclr")) args.append(self.define("AMD_OPENCL_PATH", self.stage.source_path)) if self.spec.satisfies("@5.7:"): diff --git a/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py b/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py index 3b51e38fc2..1693311c8d 100644 --- a/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py +++ b/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py @@ -15,17 +15,6 @@ # For example array[0] = 3.9.0, array[1] = 3.10.0, etc. aomp = [ - "377ab59b685a73b3f95fba95f5e028678ec5aafabc4177b7f0ffb78da095d679", - "808fca9bdefb109d5bcbbc9f5b59c564a6d422488869e986516f2a7233eda235", - "aa75455cf1d333419e5310117678e5789c5222f7cb05b05e3dfacef855c55d84", - "9e6ed2c7bdc3b4af069751b5d3e92913fd5ac318ae844f68bd78c5def990a8f7", - "c368d39ba9c1bc8b0edbe66edaa3f2a4ff5649c2bd16f499ac19dfd1591dec5a", - "c2b1a61a15fdf8d50c7c7a1ad75512f059c53a7bd5afe85f69e984f1174aa74a", - "2092fd210160986127c302c2d636bf5f58ba3a946d27a8474593fa7f87603950", - "27a5794b5885c61dc6f63cec36673b37deb029754d3b2fd3e1b21239efffa96a", - "ce90b9560205f58f50e72615cd937f02041f4eb2ff66ab445ce3b9faf4f4fa4c", - "2439473fb18bfd404eadd222e5955d0fcdf410a9efc5509696bf7b2780f3c894", - "64669ac448c439e89ec4b6e0506158e6d9b5a3edfae05882aee4c9bcd5f187b7", "e69fe0c933cb30daafe49d9f1df71fe16f387e0287bba921995feeefdf9ac262", "8bab3d621343f419b29043ac0cb56e062f114991dc3ec1e33e786f771deecc8f", "20e21312816272222d1f427ea72a99a9a67077078552f5e2638a40860d161d25", @@ -46,17 +35,6 @@ ] devlib = [ - "c99f45dacf5967aef9a31e3731011b9c142446d4a12bac69774998976f2576d7", - "bca9291385d6bdc91a8b39a46f0fd816157d38abb1725ff5222e6a0daa0834cc", - "d0aa495f9b63f6d8cf8ac668f4dc61831d996e9ae3f15280052a37b9d7670d2a", - "f5f5aa6bfbd83ff80a968fa332f80220256447c4ccb71c36f1fbd2b4a8e9fc1b", - "34a2ac39b9bb7cfa8175cbab05d30e7f3c06aaffce99eed5f79c616d0f910f5f", - "055a67e63da6491c84cd45865500043553fb33c44d538313dd87040a6f3826f2", - "a7291813168e500bfa8aaa5d1dccf5250764ddfe27535def01b51eb5021d4592", - "78412fb10ceb215952b5cc722ed08fa82501b5848d599dc00744ae1bdc196f77", - "50e9e87ecd6b561cad0d471295d29f7220e195528e567fcabe2ec73838979f61", - "83ed7aa1c9322b4fc1f57c48a63fc7718eb4195ee6fde433009b4bc78cb363f0", - "49cfa8f8fc276ba27feef40546788a2aabe259a924a97af8bef24e295d19aa5e", "47dbcb41fb4739219cadc9f2b5f21358ed2f9895ce786d2f7a1b2c4fd044d30f", "c41958560ec29c8bf91332b9f668793463904a2081c330c0d828bf2f91d4f04e", "901674bc941115c72f82c5def61d42f2bebee687aefd30a460905996f838e16c", @@ -77,17 +55,6 @@ ] llvm = [ - "1ff14b56d10c2c44d36c3c412b190d3d8cd1bb12cfc7cd58af004c16fd9987d1", - "8262aff88c1ff6c4deb4da5a4f8cda1bf90668950e2b911f93f73edaee53b370", - "aa1f80f429fded465e86bcfaef72255da1af1c5c52d58a4c979bc2f6c2da5a69", - "244e38d824fa7dfa8d0edf3c036b3c84e9c17a16791828e4b745a8d31eb374ae", - "751eca1d18595b565cfafa01c3cb43efb9107874865a60c80d6760ba83edb661", - "1567d349cd3bcd2c217b3ecec2f70abccd5e9248bd2c3c9f21d4cdb44897fc87", - "b53c6b13be7d77dc93a7c62e4adbb414701e4e601e1af2d1e98da4ee07c9837f", - "b71451bf26650ba06c0c5c4c7df70f13975151eaa673ef0cc77c1ab0000ccc97", - "36a4f7dd961cf373b743fc679bdf622089d2a905de2cfd6fd6c9e7ff8d8ad61f", - "bca2db4aaab71541cac588d6a708fde60f0ebe744809bde8a3847044a1a77413", - "99a14394b406263576ed3d8d10334de7c78d42b349109f375d178b11492eecaf", "db5d45c4a7842a908527c1b7b8d4a40c688225a41d23cfa382eab23edfffdd10", "d236a2064363c0278f7ba1bb2ff1545ee4c52278c50640e8bb2b9cfef8a2f128", "0f892174111b78a02d1a00f8f46d9f80b9abb95513a7af38ecf2a5a0882fe87f", @@ -108,17 +75,6 @@ ] flang = [ - "5d113f44fb173bd0d5704b282c5cebbb2aa642c7c29f188764bfa1daa58374c9", - "3990d39ff1c908b150f464f0653a123d94be30802f9cad6af18fbb560c4b412e", - "f3e19699ce4ac404f41ffe08ef4546e31e2e741d8deb403b5477659e054275d5", - "f41f661425534b5cfb20e2c0efd9d0800609dc3876ee9c3f76f026d36abbfa35", - "d6c3f3aaa289251a433d99d1cffe432812093089ae876a6863295a15066c1eaf", - "13d3525078fd1c569f7c8ea7fce439b04f6b03814bbe88600c08f95c788e7802", - "13d3525078fd1c569f7c8ea7fce439b04f6b03814bbe88600c08f95c788e7802", - "3d7277fd658e51e7e43272c4b319e733c18f5a6d11f739aaec0df758a720809e", - "54bc3e668577fc30ef77f0c95436e9f9327f256ac8c43eee35eb90000883c6d3", - "e8d7f828e10516666606bcf2459a25f69401f12f0ae4d3b4a0ca57616bbd9bb0", - "9b9a53150009ff58bd0ab665b970dbebc51be891343fd5dc8e77a2133ac44333", "d95e36f3b93097ab6fb319c744ddc71cd94af0c358accc1e5224c2bbd431266d", "d7847b5c6e1344dc0b4723dbe76a859257b4c242644dedb34e425f07738530d4", "20f48cac9b58496230fa2428eba4e15ec0a6e92d429569b154a328b7a8c5da17", @@ -139,17 +95,6 @@ ] extras = [ - "830a37cf1c6700f81fc00749206a37e7cda4d2867bbdf489e9e2d81f52d06b3d", - "5d98d34aff97416d8b5b9e16e7cf474580f8de8a73bd0e549c4440a3c5df4ef5", - "51cc8a7c5943e1d9bc657fc9b9797f45e3ce6a4e544d3d3a967c7cd0185a0510", - "91fdfadb94aa6afc1942124d0953ddc80c297fa75de1897fb42ac8e7dea51ab9", - "31bbe70b51c259a54370d021ae63528a1740b5477a22412685afd14150fff6f4", - "ec6cc4a9c24f098496de3206714dafe9a714f06afacfe21d53a4e6344f9cb4c9", - "ec6cc4a9c24f098496de3206714dafe9a714f06afacfe21d53a4e6344f9cb4c9", - "a9c32fb7659c0aabba5b1e76ec05037dda485bf893cef4144279b42ef8fae416", - "2b7ae80dda7ffee63210855bc2746c8a13063777c9b855a562eedca4e7ab6254", - "9dfaee1eeee2141d4873f7d71fcaeacabe91f1418cb3bed19653e847921944e4", - "a4affb77bebaafb6f8d22c51d66aa6fa05381ec54cc1e14a4b10e0f3dc00157f", "c3a2a83d8f586ee765df96a692ebe010631446f700273fa31738ea260dfc35f7", "2e3151a47d77166d071213af2a1691487691aae0abd5c1718d818a6d7d09cb2d", "817c2e8975e56a8875ff56f9d1ea34d5e7e50f1b541b7f1236e3e5c8d9eee47f", @@ -170,17 +115,6 @@ ] versions = [ - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -238,17 +172,6 @@ class RocmOpenmpExtras(Package): version("5.2.0", sha256=versions_dict["5.2.0"]["aomp"], deprecated=True) version("5.1.3", sha256=versions_dict["5.1.3"]["aomp"], deprecated=True) version("5.1.0", sha256=versions_dict["5.1.0"]["aomp"], deprecated=True) - version("5.0.2", sha256=versions_dict["5.0.2"]["aomp"], deprecated=True) - version("5.0.0", sha256=versions_dict["5.0.0"]["aomp"], deprecated=True) - version("4.5.2", sha256=versions_dict["4.5.2"]["aomp"], deprecated=True) - version("4.5.0", sha256=versions_dict["4.5.0"]["aomp"], deprecated=True) - version("4.3.1", sha256=versions_dict["4.3.1"]["aomp"], deprecated=True) - version("4.3.0", sha256=versions_dict["4.3.0"]["aomp"], deprecated=True) - version("4.2.0", sha256=versions_dict["4.2.0"]["aomp"], deprecated=True) - version("4.1.0", sha256=versions_dict["4.1.0"]["aomp"], deprecated=True) - version("4.0.0", sha256=versions_dict["4.0.0"]["aomp"], deprecated=True) - version("3.10.0", sha256=versions_dict["3.10.0"]["aomp"], deprecated=True) - version("3.9.0", sha256=versions_dict["3.9.0"]["aomp"], deprecated=True) depends_on("cmake@3:", type="build") depends_on("py-setuptools", type="build") @@ -261,17 +184,6 @@ class RocmOpenmpExtras(Package): depends_on("numactl", when="@5.7:6.0") for ver in [ - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -290,58 +202,54 @@ class RocmOpenmpExtras(Package): "6.0.0", "6.0.2", ]: - depends_on("hsakmt-roct@" + ver, when="@" + ver) - depends_on("comgr@" + ver, when="@" + ver) - depends_on("hsa-rocr-dev@" + ver, when="@" + ver) - depends_on("llvm-amdgpu@{0} ~openmp".format(ver), when="@" + ver) + depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}") + depends_on(f"comgr@{ver}", when=f"@{ver}") + depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") + depends_on(f"llvm-amdgpu@{ver} ~openmp", when=f"@{ver}") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") - # tag changed to 'rocm-' in 4.0.0 - if ver == "3.9.0" or ver == "3.10.0": - tag = "rocm-uc-" - else: - tag = "rocm-" + tag = "rocm-" resource( name="rocm-device-libs", - url=compute_url + "/ROCm-Device-Libs/archive/" + tag + ver + ".tar.gz", + url=f"{compute_url}/ROCm-Device-Libs/archive/rocm-{ver}.tar.gz", sha256=versions_dict[ver]["devlib"], expand=True, destination="rocm-openmp-extras", placement="rocm-device-libs", - when="@" + ver, + when=f"@{ver}", ) resource( name="flang", - url=tools_url + "/flang/archive/" + tag + ver + ".tar.gz", + url=f"{tools_url}/flang/archive/{ver}.tar.gz", sha256=versions_dict[ver]["flang"], expand=True, destination="rocm-openmp-extras", placement="flang", - when="@" + ver, + when=f"@{ver}", ) resource( name="aomp-extras", - url=tools_url + "/aomp-extras/archive/" + tag + ver + ".tar.gz", + url=f"{tools_url}/aomp-extras/archive/{ver}.tar.gz", sha256=versions_dict[ver]["extras"], expand=True, destination="rocm-openmp-extras", placement="aomp-extras", - when="@" + ver, + when=f"@{ver}", ) resource( name="llvm-project", - url=compute_url + "/llvm-project/archive/rocm-" + ver + ".tar.gz", + url=f"{compute_url}/llvm-project/archive/rocm-{ver}.tar.gz", sha256=versions_dict[ver]["llvm"], expand=True, destination="rocm-openmp-extras", placement="llvm-project", - when="@" + ver, + when=f"@{ver}", ) patch("0001-Linking-hsakmt-libdrm-and-numactl-libraries.patch", when="@5.7:6.0") @@ -357,10 +265,7 @@ def setup_run_environment(self, env): if self.spec.satisfies("@5.3.0:"): env.prepend_path("LD_LIBRARY_PATH", "{0}/lib".format(openmp_extras_prefix)) env.prepend_path("LD_LIBRARY_PATH", "{0}/lib".format(hsa_prefix)) - if self.spec.version < Version("4.1.0"): - env.set("AOMP_GPU", "`{0}/rocm-bin/mygpu`".format(openmp_extras_prefix)) - else: - env.set("AOMP_GPU", "`{0}/bin/mygpu`".format(openmp_extras_prefix)) + env.set("AOMP_GPU", "`{0}/bin/mygpu`".format(openmp_extras_prefix)) def setup_build_environment(self, env): openmp_extras_prefix = self.spec["rocm-openmp-extras"].prefix @@ -379,15 +284,7 @@ def patch(self): libomptarget = "{0}/rocm-openmp-extras/llvm-project/openmp/libomptarget" flang = "{0}/rocm-openmp-extras/flang/" - if self.spec.version >= Version("4.3.0") and self.spec.version < Version("5.0.0"): - filter_file( - "STRIP ${FLANG_SHA}", "STRIP 0", flang.format(src) + "CMakeLists.txt", string=True - ) - - if self.spec.version < Version("4.1.0"): - plugin = "/plugins/hsa/CMakeLists.txt" - else: - plugin = "/plugins/amdgpu/CMakeLists.txt" + plugin = "/plugins/amdgpu/CMakeLists.txt" if self.spec.version < Version("5.2.0"): filter_file( @@ -397,44 +294,27 @@ def patch(self): libomptarget.format(src) + "/deviceRTLs/amdgcn/CMakeLists.txt", ) - # Libm moved into llvm-project in 4.5.0 - if self.spec.version < Version("4.5.0"): - filter_file( - "{ROCM_DIR}/amdgcn/bitcode", - "{DEVICE_LIBS_DIR}", - aomp_extras.format(src) + "/libm/CMakeLists.txt", - ) - # Openmp adjustments # Fix relocation error with libffi by not using static lib. - if self.spec.version >= Version("5.1.0"): - filter_file( - "libffi.a", - "", - libomptarget.format(src) + "/cmake/Modules/LibomptargetGetDependencies.cmake", - ) + filter_file( + "libffi.a", + "", + libomptarget.format(src) + "/cmake/Modules/LibomptargetGetDependencies.cmake", + ) - if self.spec.version >= Version("5.0.0"): - filter_file( - "{OPENMP_INSTALL_LIBDIR}", - "{OPENMP_INSTALL_LIBDIR}/libdevice", - libomptarget.format(src) + "/deviceRTLs/amdgcn/CMakeLists.txt", - ) + filter_file( + r"{OPENMP_INSTALL_LIBDIR}", + "{OPENMP_INSTALL_LIBDIR}/libdevice", + libomptarget.format(src) + "/deviceRTLs/amdgcn/CMakeLists.txt", + ) if self.spec.version <= Version("5.1.3"): filter_file( - "{ROCM_DIR}/amdgcn/bitcode", + r"{ROCM_DIR}/amdgcn/bitcode", "{DEVICE_LIBS_DIR}", libomptarget.format(src) + "/deviceRTLs/libm/CMakeLists.txt", ) - if self.spec.version <= Version("4.5.0"): - filter_file( - "dl elf", - "dl ${LIBOMPTARGET_DEP_LIBELF_LIBRARIES}", - libomptarget.format(src) + "/plugins/amdgpu/CMakeLists.txt", - ) - filter_file( "-nogpulib", "-nogpulib -nogpuinc", @@ -591,6 +471,7 @@ def install(self, spec, prefix): "-DCMAKE_C_FLAGS=-isystem{0} -I{1}".format(elfutils_inc, ffi_inc), "-DCMAKE_CXX_FLAGS=-isystem{0} -I{1}".format(elfutils_inc, ffi_inc), "-DNEW_BC_PATH=1", + "-DHSA_INCLUDE={0}/include/hsa".format(hsa_prefix), ] if self.spec.satisfies("@5.7:6.0"): openmp_common_args += [ @@ -598,10 +479,6 @@ def install(self, spec, prefix): "-DHSAKMT_INC_PATH={0}/include".format(hsakmt_prefix), "-DNUMACTL_DIR={0}".format(numactl_prefix), ] - if self.spec.version < Version("4.1.0"): - openmp_common_args += ["-DHSA_INCLUDE={0}".format(hsa_prefix)] - else: - openmp_common_args += ["-DHSA_INCLUDE={0}/include/hsa".format(hsa_prefix)] if self.spec.satisfies("@5.3.0:"): openmp_common_args += ["-DLIBOMPTARGET_ENABLE_DEBUG=ON"] @@ -626,14 +503,11 @@ def install(self, spec, prefix): "-DCMAKE_C_COMPILER={0}/clang".format(bin_dir), "-DCMAKE_Fortran_COMPILER={0}/flang".format(bin_dir), "-DLLVM_TARGETS_TO_BUILD=AMDGPU;x86", - ] - if self.spec.version >= Version("4.2.0"): # Spack thinks some warnings from the flang build are errors. # Disable those warnings in C and CXX flags. - flang_common_args += [ - "-DCMAKE_CXX_FLAGS={0}".format(flang_warning) + " -I{0}{1}".format(src, libpgmath), - "-DCMAKE_C_FLAGS={0}".format(flang_warning) + " -I{0}{1}".format(src, libpgmath), - ] + "-DCMAKE_CXX_FLAGS={0}".format(flang_warning) + " -I{0}{1}".format(src, libpgmath), + "-DCMAKE_C_FLAGS={0}".format(flang_warning) + " -I{0}{1}".format(src, libpgmath), + ] components["pgmath"] = ["../rocm-openmp-extras/flang/runtime/libpgmath"] diff --git a/var/spack/repos/builtin/packages/rocm-smi-lib/package.py b/var/spack/repos/builtin/packages/rocm-smi-lib/package.py index 559c1b04a7..8b11e4c666 100644 --- a/var/spack/repos/builtin/packages/rocm-smi-lib/package.py +++ b/var/spack/repos/builtin/packages/rocm-smi-lib/package.py @@ -43,85 +43,15 @@ class RocmSmiLib(CMakePackage): version("5.2.0", sha256="7bce567ff4e087598eace2cae72d24c98b2bcc93af917eafa61ec9d1e8ef4477") version("5.1.3", sha256="8a19ce60dc9221545aa50e83e88d8c4be9bf7cde2425cefb13710131dc1d7b1b") version("5.1.0", sha256="21b31b43015b77a9119cf4c1d4ff3864f9ef1f34e2a52a38f985a3f710dc5f87") - version( - "5.0.2", - sha256="a169129e4ecd1cca134039dc1bf91e1b3721768781abfae4ae61fad60a633472", - deprecated=True, - ) - version( - "5.0.0", - sha256="9d0e560072f815b441528a5d6124e901570a5a04e9cff1f21329861609b37203", - deprecated=True, - ) - version( - "4.5.2", - sha256="d4a34db26852defb62817aa44f08ef96d678c63a6f33425bc9d48c18e5e37b7a", - deprecated=True, - ) - version( - "4.5.0", - sha256="43a2cc2ec548cc28698ca4fa01a947a4414febd433936a8d9770bf6f6ed55e4f", - deprecated=True, - ) - version( - "4.3.1", - sha256="ea2f9d8a9999e4aac1cb969e6bf2a9f0b6d02f29d0c319b36cce26412ab8a8b0", - deprecated=True, - ) - version( - "4.3.0", - sha256="c3ff56a14d334cb688a2e9a748dac46d9c2f7f576fe1f53416b1a0edbe842f8b", - deprecated=True, - ) - version( - "4.2.0", - sha256="c31bf91c492f00d0c5ab21e45afbd7baa990e4a8d7ce9b01e3b988e5fdd53f50", - deprecated=True, - ) - version( - "4.1.0", - sha256="0c1d2152e40e14bb385071ae16e7573290fb9f74afa5ab887c54f4dd75849a6b", - deprecated=True, - ) - version( - "4.0.0", - sha256="93d19229b5a511021bf836ddc2a9922e744bf8ee52ee0e2829645064301320f4", - deprecated=True, - ) - version( - "3.10.0", - sha256="8bb2142640d1c6bf141f19accf809e61377a6e0c0222e47ac4daa5da2c85ddac", - deprecated=True, - ) - version( - "3.9.0", - sha256="b2934b112542af56de2dc1d5bffff59957e21050db6e3e5abd4c99e46d4a0ffe", - deprecated=True, - ) - version( - "3.8.0", - sha256="86250c9ae9dfb18d4f7259a5f2f09b21574d4996fe5034a739ce63a27acd0082", - deprecated=True, - ) - version( - "3.7.0", - sha256="72d2a3deda0b55a2d92833cd648f50c7cb64f8341b254a0badac0152b26f1391", - deprecated=True, - ) - version( - "3.5.0", - sha256="a5d2ec3570d018b60524f0e589c4917f03d26578443f94bde27a170c7bb21e6e", - deprecated=True, - ) variant("shared", default=True, description="Build shared or static library") depends_on("cmake@3:", type="build") - depends_on("python@3:", type=("build", "run"), when="@3.9.0:") + depends_on("python@3:", type=("build", "run")) for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-core@" + ver, when="@" + ver) - patch("disable_pdf_generation_with_doxygen_and_latex.patch", when="@4.5.2:5.6") + depends_on(f"rocm-core@{ver}", when=f"@{ver}") + patch("disable_pdf_generation_with_doxygen_and_latex.patch", when="@:5.6") def cmake_args(self): args = [ @@ -134,12 +64,10 @@ def cmake_args(self): def determine_version(cls, lib): match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib) if match: - ver = "{0}.{1}.{2}".format( + return "{0}.{1}.{2}".format( int(match.group(1)), int(match.group(2)), int(match.group(3)) ) - else: - ver = None - return ver + return None @run_after("install") def post_install(self): diff --git a/var/spack/repos/builtin/packages/rocm-tensile/0001-fix-compile-error.patch b/var/spack/repos/builtin/packages/rocm-tensile/0001-fix-compile-error.patch deleted file mode 100644 index 18a99b0cf9..0000000000 --- a/var/spack/repos/builtin/packages/rocm-tensile/0001-fix-compile-error.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 3611b904b0f9816e722b8bca779f68ae96d45d27 Mon Sep 17 00:00:00 2001 -From: sreenivasaMurthy Kolam -Date: Thu, 22 Oct 2020 03:31:29 -0700 -Subject: [PATCH] fix compile error - ---- - Tensile/Source/lib/include/Tensile/llvm/YAML.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Tensile/Source/lib/include/Tensile/llvm/YAML.hpp b/Tensile/Source/lib/include/Tensile/llvm/YAML.hpp -index 16e64ff9..0d00f470 100644 ---- a/Tensile/Source/lib/include/Tensile/llvm/YAML.hpp -+++ b/Tensile/Source/lib/include/Tensile/llvm/YAML.hpp -@@ -261,7 +261,7 @@ namespace llvm - - static void inputOne(IO& io, StringRef key, Hide& value) - { -- Impl::inputOne(io, key, *value); -+ Impl::inputOne(io, key.str(), *value); - } - - static void output(IO& io, Hide& value) --- -2.22.0 - diff --git a/var/spack/repos/builtin/packages/rocm-tensile/0002-require-openmp-when-tensile-use-openmp-is-on.patch b/var/spack/repos/builtin/packages/rocm-tensile/0002-require-openmp-when-tensile-use-openmp-is-on.patch deleted file mode 100644 index 4c616d47f2..0000000000 --- a/var/spack/repos/builtin/packages/rocm-tensile/0002-require-openmp-when-tensile-use-openmp-is-on.patch +++ /dev/null @@ -1,90 +0,0 @@ -diff --git a/HostLibraryTests/CMakeLists.txt b/HostLibraryTests/CMakeLists.txt -index 79e1529..034f8bb 100644 ---- a/HostLibraryTests/CMakeLists.txt -+++ b/HostLibraryTests/CMakeLists.txt -@@ -19,7 +19,7 @@ - # CTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ################################################################################ - --cmake_minimum_required(VERSION 3.5) -+cmake_minimum_required(VERSION 3.9) - - project(TensileHostLibraryTest) - -@@ -78,21 +78,7 @@ if(TENSILE_USE_HIP) - endif() - - if(TENSILE_USE_OPENMP) -- #set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_OPENMP") -- find_package(OpenMP QUIET) -- if (OPENMP_FOUND) -- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") -- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") -- set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}") -- else() -- if(EXISTS /etc/redhat-release) -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp=libgomp") -- else() -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp") -- set(OPENMP_LIBRARY /usr/lib/x86_64-linux-gnu/libomp.so) -- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OPENMP_LIBRARY}") -- endif() -- endif() -+ find_package(OpenMP REQUIRED) - endif() - - add_subdirectory(configs) -@@ -187,6 +173,6 @@ if(TENSILE_USE_HIP) - endif() - - if(TENSILE_USE_OPENMP) -- target_link_libraries(TensileTests PRIVATE "${OpenMP_EXE_LINKER_FLAGS}") -+ target_link_libraries(TensileTests PRIVATE OpenMP::OpenMP_CXX) - endif() - -diff --git a/Tensile/Source/CMakeLists.txt b/Tensile/Source/CMakeLists.txt -index 821fd53..fe65c9e 100644 ---- a/Tensile/Source/CMakeLists.txt -+++ b/Tensile/Source/CMakeLists.txt -@@ -61,21 +61,7 @@ if(TENSILE_NEW_CLIENT) - endif() - - if(TENSILE_USE_OPENMP) -- #set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_OPENMP") -- find_package(OpenMP QUIET) -- if (OPENMP_FOUND) -- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") -- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") -- set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}") -- else () -- if(EXISTS /etc/redhat-release) -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp=libgomp") -- else() -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp") -- set(OPENMP_LIBRARY /usr/lib/x86_64-linux-gnu/libomp.so) -- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OPENMP_LIBRARY}") -- endif() -- endif() -+ find_package(OpenMP REQUIRED) - endif() - - #set(TENSILE_CXX_COMPILER "${CMAKE_CXX_COMPILER}") -diff --git a/Tensile/Source/client/CMakeLists.txt b/Tensile/Source/client/CMakeLists.txt -index 9ccba86..081280b 100644 ---- a/Tensile/Source/client/CMakeLists.txt -+++ b/Tensile/Source/client/CMakeLists.txt -@@ -52,12 +52,8 @@ target_link_libraries(TensileClient TensileHost ${Boost_LIBRARIES} rocm_smi) - add_executable(tensile_client main.cpp) - - target_link_libraries(tensile_client PRIVATE TensileHost TensileClient ${Boost_LIBRARIES}) --if(OpenMP_FOUND) -- target_link_libraries(tensile_client PRIVATE "${OpenMP_EXE_LINKER_FLAGS}") --else() -- set(OPENMP_LIBRARY /usr/lib/x86_64-linux-gnu/libomp.so) -- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OPENMP_LIBRARY}") -- target_link_libraries(tensile_client PRIVATE "${OpenMP_EXE_LINKER_FLAGS}") -+if(TENSILE_USE_OPENMP) -+ target_link_libraries(tensile_client PRIVATE OpenMP::OpenMP_CXX) - endif() - - foreach(arch IN LISTS TENSILE_GPU_ARCHS) diff --git a/var/spack/repos/builtin/packages/rocm-tensile/package.py b/var/spack/repos/builtin/packages/rocm-tensile/package.py index 6fd822649a..e841dea1ba 100644 --- a/var/spack/repos/builtin/packages/rocm-tensile/package.py +++ b/var/spack/repos/builtin/packages/rocm-tensile/package.py @@ -37,83 +37,9 @@ class RocmTensile(CMakePackage): version("5.2.0", sha256="aa6107944482ad278111d11d2e926393423fc70e7e1838574fe7ad9f553bdacf") version("5.1.3", sha256="87020ca268e3a1ed8853f629839d6497764d862bd70b8775e98de439f6c89f1d") version("5.1.0", sha256="0ac86a623597152c5b1d8bb5634aad3e55afa51959476aaa5e9869d259ddf375") - version( - "5.0.2", - sha256="c6130de3b02f4f10635d18f913b3b88ea754fce2842c680e9caf5a6781da8f37", - deprecated=True, - ) - version( - "5.0.0", - sha256="2a814ee8576ff1f06cc5ac4556300c8e7cbf77ef8c87b56992f3e66d8862f213", - deprecated=True, - ) - version( - "4.5.2", - sha256="da20256224749c0a8b44aaede25fbcd66cfeac483081af5d22f1d1fcf49dffc1", - deprecated=True, - ) - version( - "4.5.0", - sha256="26a27659c864b5372ca4407671c6e8d4be3bbc05c64fc18762ad570cd3b3af1f", - deprecated=True, - ) - version( - "4.3.1", - sha256="6fce0ac22051a454fe984283766eb473dc50752cd30bad05acb3dbde6ef4f8b1", - deprecated=True, - ) - version( - "4.3.0", - sha256="911c0cdb0146d43a2a59170e6a803f414a2b68df7d9ff369ab784d11a08d7264", - deprecated=True, - ) - version( - "4.2.0", - sha256="198e357a14a79366b27b1097856d4821996bc36163be0cd2668910b253721060", - deprecated=True, - ) - version( - "4.1.0", - sha256="92b8ee13dfc11a67d5136227ee985622685790fd3f0f0e1ec6db411d4e9a3419", - deprecated=True, - ) - version( - "4.0.0", - sha256="cf105ce8c3e352d19713b3bf8bda77f25c1a692c4f2ca82d631ba15523ecc1cd", - deprecated=True, - ) - version( - "3.10.0", - sha256="8d5b50aadfa56a9195e4c387b8eb351c9b9b7671b136b624e07fe28db24bd330", - deprecated=True, - ) - version( - "3.9.0", - sha256="17a011f8c3433d4f8c2dddabd5854cf96c406d24592b3942deb51672c570882e", - deprecated=True, - ) - version( - "3.8.0", - sha256="c78a11db85fdf54bfd26533ee6fa98f6a6e789fa423537993061497ac5f22ed6", - deprecated=True, - ) - version( - "3.7.0", - sha256="488a7f76ea42a7601d0557f53068ec4832a2c7c06bb1b511470a4e35599a5a4d", - deprecated=True, - ) - version( - "3.5.0", - sha256="71eb3eed6625b08a4cedb539dd9b596e3d4cc82a1a8063d37d94c0765b6f8257", - deprecated=True, - ) tensile_architecture = ( "all", - "gfx906", - "gfx908", - "gfx000", - "gfx900", "gfx906:xnack-", "gfx908:xnack-", "gfx90a:xnack-", @@ -131,29 +57,12 @@ class RocmTensile(CMakePackage): multi=True, ) variant("openmp", default=True, description="Enable OpenMP") - conflicts("tensile_architecture=gfx906", when="@4.0.1:") - conflicts("tensile_architecture=gfx908", when="@4.0.1:") depends_on("cmake@3:", type="build") - # This is the default library format since 3.7.0 - depends_on("msgpack-c@3:", when="@3.7:") + depends_on("msgpack-c@3:") depends_on("boost", type=("build", "link")) depends_on(Boost.with_default_variants) for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -172,69 +81,15 @@ class RocmTensile(CMakePackage): "6.0.0", "6.0.2", ]: - depends_on("rocm-cmake@" + ver, type="build", when="@" + ver) - depends_on("hip@" + ver, when="@" + ver) - depends_on("comgr@" + ver, when="@" + ver) - depends_on("rocminfo@" + ver, type="build", when="@" + ver) - for ver in [ - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", - "5.3.0", - "5.3.3", - "5.4.0", - "5.4.3", - "5.5.0", - "5.5.1", - "5.6.0", - "5.6.1", - "5.7.0", - "5.7.1", - "6.0.0", - "6.0.2", - ]: - depends_on("rocm-openmp-extras@" + ver, when="@" + ver) - - for ver in ["3.5.0", "3.7.0", "3.8.0", "3.9.0"]: - depends_on("rocm-smi@" + ver, type="build", when="@" + ver) - - for ver in [ - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", - "5.3.0", - "5.3.3", - "5.4.0", - "5.4.3", - "5.5.0", - "5.5.1", - "5.6.0", - "5.6.1", - "5.7.0", - "5.7.1", - "6.0.0", - "6.0.2", - ]: - depends_on("rocm-smi-lib@" + ver, type="build", when="@" + ver) + depends_on(f"rocm-cmake@{ver}", type="build", when=f"@{ver}") + depends_on(f"hip@{ver}", when=f"@{ver}") + depends_on(f"comgr@{ver}", when=f"@{ver}") + depends_on(f"rocminfo@{ver}", type="build", when=f"@{ver}") + depends_on(f"rocm-openmp-extras@{ver}", when=f"@{ver}") + depends_on(f"rocm-smi-lib@{ver}", type="build", when=f"@{ver}") root_cmakelists_dir = "Tensile/Source" - # Status: https://github.com/ROCm/Tensile/commit/a488f7dadba34f84b9658ba92ce9ec5a0615a087 - # Not yet landed in 3.7.0, nor 3.8.0. - patch("0001-fix-compile-error.patch", when="@3.7.0:3.8.0") - patch("0002-require-openmp-when-tensile-use-openmp-is-on.patch", when="@3.9.0:4.0.0") + patch("0003-require-openmp-extras-when-tensile-use-openmp.patch", when="@5.1.0:") def setup_build_environment(self, env): @@ -243,16 +98,7 @@ def setup_build_environment(self, env): def get_gpulist_for_tensile_support(self): arch = self.spec.variants["tensile_architecture"].value - if arch[0] == "all": - if self.spec.satisfies("@:4.0.0"): - arch_value = self.tensile_architecture[1:4] - elif self.spec.satisfies("@4.1.0:4.2.0"): - arch_value = self.tensile_architecture[3:6] - elif self.spec.satisfies("@4.3.0:"): - arch_value = self.tensile_architecture[3:] - return arch_value - else: - return arch + return self.tensile_architecture[1:] if arch[0] == "all" else arch def cmake_args(self): args = [ @@ -262,19 +108,12 @@ def cmake_args(self): self.define("Tensile_CODE_OBJECT_VERSION", "V3"), self.define("Boost_USE_STATIC_LIBS", "OFF"), self.define_from_variant("TENSILE_USE_OPENMP", "openmp"), - self.define("BUILD_WITH_TENSILE_HOST", "ON" if "@3.7.0:" in self.spec else "OFF"), + self.define("BUILD_WITH_TENSILE_HOST", True), + self.define("Tensile_LIBRARY_FORMAT", "msgpack"), + self.define("TENSILE_USE_OPENMP", True), + self.define("ROCM_OPENMP_EXTRAS_DIR", self.spec["rocm-openmp-extras"].prefix), ] - if "@3.7.0:" in self.spec: - args.append(self.define("Tensile_LIBRARY_FORMAT", "msgpack")) - if "@5.1.0:" in self.spec: - args.append(self.define("TENSILE_USE_OPENMP", "ON")), - args.append( - self.define("ROCM_OPENMP_EXTRAS_DIR", self.spec["rocm-openmp-extras"].prefix) - ), - else: - args.append(self.define("TENSILE_USE_OPENMP", "OFF")), - if self.spec.satisfies("^cmake@3.21.0:"): args.append( self.define("CMAKE_HIP_ARCHITECTURES", self.get_gpulist_for_tensile_support()) diff --git a/var/spack/repos/builtin/packages/rocm-validation-suite/001-fixes-for-rocblas-rocm-smi-install-prefix-path.patch b/var/spack/repos/builtin/packages/rocm-validation-suite/001-fixes-for-rocblas-rocm-smi-install-prefix-path.patch deleted file mode 100644 index cc47c5e9d2..0000000000 --- a/var/spack/repos/builtin/packages/rocm-validation-suite/001-fixes-for-rocblas-rocm-smi-install-prefix-path.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index fc4d98e..f1dea96 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -164,7 +164,7 @@ endif() - message (STATUS "CPACK_GENERATOR ${CPACK_GENERATOR}" ) - - if ( NOT DEFINED CMAKE_PACKAGING_INSTALL_PREFIX ) -- set (CMAKE_PACKAGING_INSTALL_PREFIX "/opt/rocm" ) -+ set (CMAKE_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ) - endif () - - ################################################################################ -@@ -369,16 +369,16 @@ if (RVS_ROCBLAS EQUAL 1) - set(ROCBLAS_INC_DIR "${CMAKE_BINARY_DIR}/rvs_rblas-src/build/release/rocblas-install") - set(ROCBLAS_LIB_DIR "${CMAKE_BINARY_DIR}/rvs_rblas-src/build/release/rocblas-install/lib/") - else() -- set(ROCBLAS_INC_DIR "${ROCM_PATH}/include") -- set(ROCBLAS_LIB_DIR "${ROCM_PATH}/lib") -+ set(ROCBLAS_INC_DIR "${ROCBLAS_DIR}/include") -+ set(ROCBLAS_LIB_DIR "${ROCBLAS_DIR}/lib") - endif() - - if (RVS_ROCMSMI EQUAL 1) - set(ROCM_SMI_INC_DIR "${CMAKE_BINARY_DIR}/rvs_smi-src/include") - set(ROCM_SMI_LIB_DIR "${CMAKE_BINARY_DIR}/rvs_smi-build") - else() -- set(ROCM_SMI_INC_DIR "${ROCM_PATH}/rocm_smi/include") -- set(ROCM_SMI_LIB_DIR "${ROCM_PATH}/rocm_smi/lib") -+ set(ROCM_SMI_INC_DIR "${ROCM_SMI_DIR}/include") -+ set(ROCM_SMI_LIB_DIR "${ROCM_SMI_DIR}/lib") - endif() - set(ROCM_SMI_LIB "rocm_smi64" CACHE STRING "rocm_smi library name") diff --git a/var/spack/repos/builtin/packages/rocm-validation-suite/002-remove-force-setting-hip-inc-path.patch b/var/spack/repos/builtin/packages/rocm-validation-suite/002-remove-force-setting-hip-inc-path.patch deleted file mode 100644 index e1a40ac16d..0000000000 --- a/var/spack/repos/builtin/packages/rocm-validation-suite/002-remove-force-setting-hip-inc-path.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 07048b8..2bfb6c2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -32,8 +32,7 @@ set(ROCM_PATH "/opt/rocm" CACHE PATH "ROCM install path") - set(CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE PATH "CMAKE installation directory") - set(ROCR_INC_DIR "${ROCM_PATH}/include" CACHE PATH "Contains header files exported by ROC Runtime" FORCE) - set(ROCR_LIB_DIR "${ROCM_PATH}/lib" CACHE PATH "Contains library files exported by ROC Runtime" FORCE) --set(HIP_INC_DIR "${ROCM_PATH}/hip" ) --set(HIP_INC_DIR "${ROCM_PATH}/hip" CACHE PATH "Contains header files exported by ROC Runtime" FORCE) -+set(HIP_INC_DIR "${ROCM_PATH}/hip" CACHE PATH "Contains header files exported by ROC Runtime") - set(ROCT_INC_DIR "${ROCM_PATH}/include" CACHE PATH "Contains header files exported by ROC Trunk" FORCE) - - execute_process(COMMAND ln -s /usr/bin/python3 /usr/bin/python) diff --git a/var/spack/repos/builtin/packages/rocm-validation-suite/003-cmake-change-to-remove-installs-and-sudo.patch b/var/spack/repos/builtin/packages/rocm-validation-suite/003-cmake-change-to-remove-installs-and-sudo.patch deleted file mode 100644 index edd9507673..0000000000 --- a/var/spack/repos/builtin/packages/rocm-validation-suite/003-cmake-change-to-remove-installs-and-sudo.patch +++ /dev/null @@ -1,88 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 780e1f17..35a2b391 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -24,10 +24,21 @@ - ################################################################################ - - cmake_minimum_required ( VERSION 3.5.0 ) -+project ("rocm-validation-suite") - if ( ${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) - message(FATAL "In-source build is not allowed") - endif () - -+enable_testing() -+ -+# Prerequisite - Check if rocblas was already installed -+find_package (rocblas) -+if(rocblas_FOUND) -+ message(STATUS "rocblas found") -+else() -+ message(FATAL_ERROR "rocblas not found !!! Install rocblas to proceed ...") -+endif(rocblas_FOUND) -+ - set(ROCM_PATH "/opt/rocm" CACHE PATH "ROCM install path") - set(CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE PATH "CMAKE installation directory") - set(ROCR_INC_DIR "${ROCM_PATH}/include" CACHE PATH "Contains header files exported by ROC Runtime" FORCE) -@@ -36,7 +47,6 @@ set(HIP_INC_DIR "${ROCM_PATH}/hip" ) - set(HIP_INC_DIR "${ROCM_PATH}/hip" CACHE PATH "Contains header files exported by ROC Runtime" FORCE) - set(ROCT_INC_DIR "${ROCM_PATH}/include" CACHE PATH "Contains header files exported by ROC Trunk" FORCE) - --execute_process(COMMAND ln -s /usr/bin/python3 /usr/bin/python) - - # - # If the user specifies -DCMAKE_BUILD_TYPE on the command line, take their -@@ -45,20 +55,17 @@ execute_process(COMMAND ln -s /usr/bin/python3 /usr/bin/python) - # - if(DEFINED CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "Choose the type of --build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug --Release RelWithDebInfo MinSizeRel.") -+ build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug -+ Release RelWithDebInfo MinSizeRel.") - else() - set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build, --options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release --RelWithDebInfo MinSizeRel.") -+ options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release -+ RelWithDebInfo MinSizeRel.") - endif() - --project ("rocm-validation-suite") --enable_testing() - #include ( CTest ) - --if (NOT CMAKE_CONFIGURATION_TYPES) --# message( "CMAKE_CONFIGURATION_TYPES not set") -+if(NOT CMAKE_CONFIGURATION_TYPES) - # Set the possible values of build type for cmake-gui - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - "Debug" "Release" "MinSizeRel" "RelWithDebInfo") -@@ -70,17 +77,15 @@ execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/rvs_os_helper.sh - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - OUTPUT_STRIP_TRAILING_WHITESPACE - ) --if(result) -+if (result) - message(FATAL_ERROR "Could not obtain OS type: ${result}") - endif() - message(STATUS "RVS_OS_TYPE: ${RVS_OS_TYPE}") - if (${RVS_OS_TYPE} STREQUAL "ubuntu") - set(RVS_OS_TYPE_NUM 1) -- execute_process(COMMAND sudo apt-get install rocblas --assume-yes) - elseif ((${RVS_OS_TYPE} STREQUAL "centos") OR (${RVS_OS_TYPE} STREQUAL "rhel") - OR (${RVS_OS_TYPE} STREQUAL "sles")) - set(RVS_OS_TYPE_NUM 2) -- execute_process(COMMAND sudo yum -y install rocblas ) - else() - set(RVS_OS_TYPE_NUM 0) - endif() -@@ -89,7 +94,7 @@ message(STATUS "RVS_OS_TYPE_NUM: ${RVS_OS_TYPE_NUM}") - ## Set default module path if not already set - if ( NOT DEFINED CMAKE_MODULE_PATH ) - set ( CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/" ) --endif () -+endif() - - ## Include common cmake modules - include ( utils ) diff --git a/var/spack/repos/builtin/packages/rocm-validation-suite/004-remove-git-download-yaml-cpp-use-yaml-cpp-recipe.patch b/var/spack/repos/builtin/packages/rocm-validation-suite/004-remove-git-download-yaml-cpp-use-yaml-cpp-recipe.patch deleted file mode 100644 index 6224329bab..0000000000 --- a/var/spack/repos/builtin/packages/rocm-validation-suite/004-remove-git-download-yaml-cpp-use-yaml-cpp-recipe.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ff77558..278a732 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -207,36 +207,7 @@ if ( NOT DEFINED CMAKE_PACKAGING_INSTALL_PREFIX ) - endif () - - ################################################################################ --# Download and unpack yaml-cpp at configure time --configure_file(CMakeYamlDownload.cmake yaml-download/CMakeLists.txt) --execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . -- RESULT_VARIABLE result -- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/yaml-download ) --if(result) -- message(FATAL_ERROR "CMake step for yaml-download failed: ${result}") --endif() --execute_process(COMMAND ${CMAKE_COMMAND} --build . -- RESULT_VARIABLE result -- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/yaml-download ) --if(result) -- message(FATAL_ERROR "Build step for yaml-download failed: ${result}") --endif() --execute_process(COMMAND ${CMAKE_COMMAND} ${CMAKE_BINARY_DIR}/yaml-src -B${CMAKE_BINARY_DIR}/yaml-build -- RESULT_VARIABLE result -- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/yaml-src ) --if(result) -- message(FATAL_ERROR "Config step for yaml-src failed: ${result}") --endif() - --add_custom_target(rvs_yaml_target -- DEPENDS ${CMAKE_BINARY_DIR}/yaml-build/libyaml-cpp.a --) -- --add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/yaml-build/libyaml-cpp.a -- COMMAND make -C ${CMAKE_BINARY_DIR}/yaml-build -- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/yaml-src -- COMMENT "Generating yaml-cpp targets" -- VERBATIM) - - ################################################################################ - ## GOOGLE TEST -@@ -446,7 +417,7 @@ if (RVS_BUILD_TESTS) - add_subdirectory(testif.so) - endif() - --add_dependencies(rvshelper rvs_bin_folder rvs_doc rvs_yaml_target) -+add_dependencies(rvshelper rvs_bin_folder rvs_doc) - - - add_dependencies(pesm rvslib rvslibrt) diff --git a/var/spack/repos/builtin/packages/rocm-validation-suite/package.py b/var/spack/repos/builtin/packages/rocm-validation-suite/package.py index 9ada5b30c1..af95d70c13 100644 --- a/var/spack/repos/builtin/packages/rocm-validation-suite/package.py +++ b/var/spack/repos/builtin/packages/rocm-validation-suite/package.py @@ -40,83 +40,9 @@ class RocmValidationSuite(CMakePackage): version("5.2.0", sha256="2dfef5d66f544230957ac9aaf647b2f1dccf3cc7592cc322cae9fbdcf3321365") version("5.1.3", sha256="0140a4128c31749c078d9e1dc863cbbd690efc65843c34a4b80f0056e5b8c7b6") version("5.1.0", sha256="d9b9771b885bd94e5d0352290d3fe0fa12f94ce3f384c3844002cd7614880010") - version( - "5.0.2", - sha256="f249fe700a5a96c6dabf12130a3e366ae6025fe1442a5d11d08801d6c0265af4", - deprecated=True, - ) - version( - "5.0.0", - sha256="d4ad31db0377096117714c9f4648cb37d6808ce618cd0bb5e4cc89cc9b4e37fd", - deprecated=True, - ) - version( - "4.5.2", - sha256="e2a128395367a60a17d4d0f62daee7d34358c75332ed582243b18da409589ab8", - deprecated=True, - ) - version( - "4.5.0", - sha256="54181dd5a132a7f4a34a9316d8c00d78343ec45c069c586134ce4e61e68747f5", - deprecated=True, - ) - version( - "4.3.1", - sha256="779a3b0afb53277e41cf863185e87f95d9b2bbb748fcb062cbb428d0b510fb69", - deprecated=True, - ) - version( - "4.3.0", - sha256="f7a918b513c51dd5eadce3f2e091679b2dfe6544a913960ac483567792a06a4c", - deprecated=True, - ) - version( - "4.2.0", - sha256="b25e58a842a8eb90bfd6c4ae426ca5cfdd5de2f8a091761f83597f7cfc2cd0f3", - deprecated=True, - ) - version( - "4.1.0", - sha256="f9618f89384daa0ae897b36638a3737bcfa47e98778e360338267cd1fe2bbc66", - deprecated=True, - ) - version( - "4.0.0", - sha256="04743ca8901b94a801759a3c13c8caf3e6ea950ffcda6408173e6f9ef7b86e74", - deprecated=True, - ) - version( - "3.10.0", - sha256="9f9a530f7850770663e0b0ec0c786367f2e22500a472ac6652c4fd9fb4df4f64", - deprecated=True, - ) - version( - "3.9.0", - sha256="17662028a4485b97e3ccaad5e94d20aaa2c3e9e3f741c7ebbf0f8b4cdebcc555", - deprecated=True, - ) - version( - "3.8.0", - sha256="68f1c5102e5cbed205a0ecf5a01efbdccf480f7e484ab1e58cbc6bc03e428122", - deprecated=True, - ) - version( - "3.7.0", - sha256="bb42d7fb7ee877b80ce53b0cd1f04b0c8301197b6777d2edddcb44732bf8c9e2", - deprecated=True, - ) - version( - "3.5.0", - sha256="273e67ecce7e32939341679362b649f3361a36a22fab5f64cefe94b49e6f1e46", - deprecated=True, - ) - patch("001-fixes-for-rocblas-rocm-smi-install-prefix-path.patch", when="@4.1.0:4.3.2") - patch("002-remove-force-setting-hip-inc-path.patch", when="@4.1.0:4.3.2") - patch("003-cmake-change-to-remove-installs-and-sudo.patch", when="@4.1.0:4.3.2") - patch("004-remove-git-download-yaml-cpp-use-yaml-cpp-recipe.patch", when="@4.3.0:4.3.2") - patch("005-cleanup-path-reference-donot-download-googletest-yaml.patch", when="@4.5.0:5.2") - patch("006-library-path.patch", when="@4.5.0:5.2") + patch("005-cleanup-path-reference-donot-download-googletest-yaml.patch", when="@:5.2") + patch("006-library-path.patch", when="@:5.2") patch( "007-cleanup-path-reference-donot-download-googletest-yaml-library-path_5.3.patch", when="@5.3.0:5.5", @@ -130,28 +56,14 @@ class RocmValidationSuite(CMakePackage): depends_on("cmake@3.5:", type="build") depends_on("zlib-api", type="link") depends_on("yaml-cpp~shared") - depends_on("googletest", when="@4.5.0:") - depends_on("doxygen", type="build", when="@4.5.0:") + depends_on("googletest") + depends_on("doxygen", type="build") def setup_build_environment(self, build_env): spec = self.spec build_env.set("HIPCC_PATH", spec["hip"].prefix) for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -170,37 +82,23 @@ def setup_build_environment(self, build_env): "6.0.0", "6.0.2", ]: - depends_on("hip@" + ver, when="@" + ver) - depends_on("rocminfo@" + ver, when="@" + ver) - depends_on("rocblas@" + ver, when="@" + ver) - depends_on("rocm-smi-lib@" + ver, when="@" + ver) - - for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - ]: - depends_on("hip-rocclr@" + ver, when="@" + ver) + depends_on(f"hip@{ver}", when=f"@{ver}") + depends_on(f"rocminfo@{ver}", when=f"@{ver}") + depends_on(f"rocblas@{ver}", when=f"@{ver}") + depends_on(f"rocm-smi-lib@{ver}", when=f"@{ver}") def patch(self): - if self.spec.satisfies("@4.5:5.1"): + if self.spec.satisfies("@:5.1"): filter_file( - "@ROCM_PATH@/rvs", self.spec.prefix.rvs, "rvs/conf/deviceid.sh.in", string=True + r"@ROCM_PATH@/rvs", self.spec.prefix.rvs, "rvs/conf/deviceid.sh.in", string=True ) elif self.spec.satisfies("@5.2:5.4"): filter_file( - "@ROCM_PATH@/bin", self.spec.prefix.bin, "rvs/conf/deviceid.sh.in", string=True + r"@ROCM_PATH@/bin", self.spec.prefix.bin, "rvs/conf/deviceid.sh.in", string=True ) elif self.spec.satisfies("@5.5:"): filter_file( - "@ROCM_PATH@/rvs", self.spec.prefix.rvs, "rvs/conf/deviceid.sh.in", string=True + r"@ROCM_PATH@/rvs", self.spec.prefix.rvs, "rvs/conf/deviceid.sh.in", string=True ) def cmake_args(self): @@ -212,15 +110,14 @@ def cmake_args(self): self.define("ROCBLAS_DIR", self.spec["rocblas"].prefix), self.define("YAML_INC_DIR", self.spec["yaml-cpp"].prefix.include), self.define("YAML_LIB_DIR", self.spec["yaml-cpp"].prefix.lib64), + self.define("UT_INC", self.spec["googletest"].prefix.include), ] - if self.spec.satisfies("@4.5.0:"): - args.append(self.define("UT_INC", self.spec["googletest"].prefix.include)) - libloc = self.spec["googletest"].prefix.lib64 - if not os.path.isdir(libloc): - libloc = self.spec["googletest"].prefix.lib - args.append(self.define("UT_LIB", libloc)) - libloc = self.spec["hsakmt-roct"].prefix.lib64 - if not os.path.isdir(libloc): - libloc = self.spec["hsakmt-roct"].prefix.lib - args.append(self.define("HSAKMT_LIB_DIR", libloc)) + libloc = self.spec["googletest"].prefix.lib64 + if not os.path.isdir(libloc): + libloc = self.spec["googletest"].prefix.lib + args.append(self.define("UT_LIB", libloc)) + libloc = self.spec["hsakmt-roct"].prefix.lib64 + if not os.path.isdir(libloc): + libloc = self.spec["hsakmt-roct"].prefix.lib + args.append(self.define("HSAKMT_LIB_DIR", libloc)) return args diff --git a/var/spack/repos/builtin/packages/rocminfo/package.py b/var/spack/repos/builtin/packages/rocminfo/package.py index 813c405dec..ecf57fffdb 100644 --- a/var/spack/repos/builtin/packages/rocminfo/package.py +++ b/var/spack/repos/builtin/packages/rocminfo/package.py @@ -36,94 +36,10 @@ class Rocminfo(CMakePackage): version("5.2.0", sha256="e721eb81efd384abd22ff01cdcbb6245b11084dc11a867c74c8ad6b028aa0404") version("5.1.3", sha256="7aecd7b189e129b77c8f2af70be2926a0f3a5ee89814879bc8477924a7e6f2ae") version("5.1.0", sha256="76f6cc9e69d9fc7e692e5c7db35e89079d3b1d2d47632e4742d612e743c396d3") - version( - "5.0.2", - sha256="5fd970f08c5d6591efe7379ece564ce5580cba87fb6237531dabbd5adcb6a899", - deprecated=True, - ) - version( - "5.0.0", - sha256="43e025de31bffa335d9cb682649add886afdd02c92090ee63e9bf77b3aaaa75b", - deprecated=True, - ) - version( - "4.5.2", - sha256="5ea839cd1f317cbc72ea1e3634a75f33a458ba0cb5bf48377f08bb329c29222d", - deprecated=True, - ) - version( - "4.5.0", - sha256="421ed55192780eb478f0341fd1ce47a0dd3ffafbec9d7a02109a411878a58ee5", - deprecated=True, - ) - version( - "4.3.1", - sha256="d042947d3f29e943a2e3294a2a2d759ca436cebe31151ce048e49bc4f02d6993", - deprecated=True, - ) - version( - "4.3.0", - sha256="2cc1f251c0ed9c3ea413cc15cb5ce11559e4497540eebbf5e8dcfd52b03e53d1", - deprecated=True, - ) - version( - "4.2.0", - sha256="6952b6e28128ab9f93641f5ccb66201339bb4177bb575b135b27b69e2e241996", - deprecated=True, - ) - version( - "4.1.0", - sha256="5b994ad02b6d250160770f6f7730835f3a52127193ac9a8dee40c53aec911f4f", - deprecated=True, - ) - version( - "4.0.0", - sha256="0b3d692959dd4bc2d1665ab3a838592fcd08d2b5e373593b9192ca369e2c4aa7", - deprecated=True, - ) - version( - "3.10.0", - sha256="ed02375be3be518b83aea7309ef5ca62dc9b6dbad0aae33e92995102d6d660be", - deprecated=True, - ) - version( - "3.9.0", - sha256="9592781e0c62b910c4adc5c7f4c27c7a0cddbed13111a19dd91a2ff43720e43d", - deprecated=True, - ) - version( - "3.8.0", - sha256="c135dc98ecb5f420e22a6efd2f461ba9ed90be3f42e2ac29356e05c6a0706f8f", - deprecated=True, - ) - version( - "3.7.0", - sha256="86a8e3ce7d91fb2d79688a22a2805757c83922d9f17ea7ea1cb41bf9516197ea", - deprecated=True, - ) - version( - "3.5.0", - sha256="1d113f06b7c9b60d0e92b2c12c0c704a565696867496fe7038e5dddd510567b7", - deprecated=True, - ) depends_on("cmake@3:", type="build") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -143,11 +59,11 @@ class Rocminfo(CMakePackage): "6.0.2", "master", ]: - depends_on("hsakmt-roct@" + ver, when="@" + ver) - depends_on("hsa-rocr-dev@" + ver, when="@" + ver) + depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}") + depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") def cmake_args(self): return [self.define("ROCM_DIR", self.spec["hsa-rocr-dev"].prefix)] diff --git a/var/spack/repos/builtin/packages/rocmlir/package.py b/var/spack/repos/builtin/packages/rocmlir/package.py index b69d7bbb75..f56a3650ce 100644 --- a/var/spack/repos/builtin/packages/rocmlir/package.py +++ b/var/spack/repos/builtin/packages/rocmlir/package.py @@ -49,11 +49,11 @@ def patch(self): depends_on("pkgconfig", type="build") for ver in ["5.3.0", "5.4.0", "5.4.3", "5.5.0", "5.5.1"]: - depends_on("hip@" + ver, when="@" + ver) - depends_on("llvm-amdgpu@" + ver, when="@" + ver) - depends_on("hsa-rocr-dev@" + ver, when="@" + ver) - depends_on("rocm-cmake@" + ver, type="build", when="@" + ver) - depends_on("rocminfo@" + ver, type="build", when="@" + ver) + depends_on(f"hip@{ver}", when=f"@{ver}") + depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") + depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") + depends_on(f"rocm-cmake@{ver}", type="build", when=f"@{ver}") + depends_on(f"rocminfo@{ver}", type="build", when=f"@{ver}") def cmake_args(self): spec = self.spec diff --git a/var/spack/repos/builtin/packages/rocprim/package.py b/var/spack/repos/builtin/packages/rocprim/package.py index cc5ffd952d..f1d37f12e2 100644 --- a/var/spack/repos/builtin/packages/rocprim/package.py +++ b/var/spack/repos/builtin/packages/rocprim/package.py @@ -35,76 +35,6 @@ class Rocprim(CMakePackage): version("5.2.0", sha256="f99eb7d2f6b1445742fba631a0dc8bb0d464a767a9c4fb79ac865d9570fe747b") version("5.1.3", sha256="b5a08d2e76388bd1ffa6c946009928fe95de846ab6b65a6475998070c0cf6dc1") version("5.1.0", sha256="dfe106c01155e00ed816f0231d1576ff8c08750cc8278fa453926f388dc6fe48") - version( - "5.0.2", - sha256="a4280f15d470699a1c6a5f86bdd951c1387e0af227c6bee6f81cee658406f4b0", - deprecated=True, - ) - version( - "5.0.0", - sha256="0e7e7bda6a09b70a07ddd926986882df0c8d8ff3e0a34e12cb6d44f7d0a5840e", - deprecated=True, - ) - version( - "4.5.2", - sha256="0dc673847e67db672f2e239f299206fe16c324005ddd2e92c7cb7725bb6f4fa6", - deprecated=True, - ) - version( - "4.5.0", - sha256="6f0ca1da9a93064af662d6c61fbdb56bb313f8edca85615ead0dd284eb481089", - deprecated=True, - ) - version( - "4.3.1", - sha256="d29ffcb5dd1c6155c586b9952fa4c11b717d90073feb083db6b03ea74746194b", - deprecated=True, - ) - version( - "4.3.0", - sha256="f6cf53b5fa07a0d6f508e39c7da5b11f562c0cac4b041ec5c41a8fc733f707c7", - deprecated=True, - ) - version( - "4.2.0", - sha256="3932cd3a532eea0d227186febc56747dd95841732734d9c751c656de9dd770c8", - deprecated=True, - ) - version( - "4.1.0", - sha256="c46d789f85d15f8ec97f90d67b9d49fb87239912fe8d5f60a7b4c59f9d0e3da8", - deprecated=True, - ) - version( - "4.0.0", - sha256="61abf4d51853ae71e54258f43936bbbb096bf06f5891d224d359bfe3104015d0", - deprecated=True, - ) - version( - "3.10.0", - sha256="b406956b27d1c06b749e991a250d4ad3eb26e20c6bebf121e2ca6051597b4fa4", - deprecated=True, - ) - version( - "3.9.0", - sha256="ace6b4ee4b641280807028375cb0e6fa7b296edba9e9fc09177a5d8d075a716e", - deprecated=True, - ) - version( - "3.8.0", - sha256="4d37320d174eaada99dd796d81fa97d5dcc65a6dff8e8ff1c21e8e68acb4ea74", - deprecated=True, - ) - version( - "3.7.0", - sha256="225209a0cbd003c241821c8a9192cec5c07c7f1a6ab7da296305fc69f5f6d365", - deprecated=True, - ) - version( - "3.5.0", - sha256="29302dbeb27ae88632aa1be43a721f03e7e597c329602f9ca9c9c530c1def40d", - deprecated=True, - ) amdgpu_targets = ROCmPackage.amdgpu_targets @@ -115,26 +45,11 @@ class Rocprim(CMakePackage): sticky=True, ) - depends_on("cmake@3.10.2:", type="build", when="@4.2.0:") - depends_on("cmake@3.5.1:", type="build") - depends_on("numactl", type="link", when="@3.7.0:") + depends_on("cmake@3.10.2:", type="build") + depends_on("numactl", type="link") depends_on("googletest@1.10.0:", type="test") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -153,11 +68,11 @@ class Rocprim(CMakePackage): "6.0.0", "6.0.2", ]: - depends_on("hip@" + ver, when="@" + ver) - depends_on("comgr@" + ver, when="@" + ver) - depends_on("hsa-rocr-dev@" + ver, when="@" + ver) - depends_on("llvm-amdgpu@" + ver, when="@" + ver) - depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) + depends_on(f"hip@{ver}", when=f"@{ver}") + depends_on(f"comgr@{ver}", when=f"@{ver}") + depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") + depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") + depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") # the patch is meant for 5.3.0 only.this is already in the 5.3.3+ releases patch("fix-device-merge-mismatched-param-5.3.0.patch", when="@5.3.0") @@ -179,9 +94,9 @@ def cmake_args(self): if self.spec.satisfies("^cmake@3.21.0:3.21.2"): args.append(self.define("__skip_rocmclang", "ON")) - if self.spec.satisfies("@:5.1.3"): - args.append("-DCMAKE_MODULE_PATH={0}".format(self.spec["hip"].prefix.cmake)) - elif self.spec.satisfies("@5.2.0:"): + if self.spec.satisfies("@:5.1"): + args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.cmake)) + elif self.spec.satisfies("@5.2:"): args.append(self.define("BUILD_FILE_REORG_BACKWARD_COMPATIBILITY", True)) return args diff --git a/var/spack/repos/builtin/packages/rocprofiler-dev/package.py b/var/spack/repos/builtin/packages/rocprofiler-dev/package.py index 08c3e9eca3..18150254dc 100644 --- a/var/spack/repos/builtin/packages/rocprofiler-dev/package.py +++ b/var/spack/repos/builtin/packages/rocprofiler-dev/package.py @@ -29,109 +29,14 @@ class RocprofilerDev(CMakePackage): version("5.2.0", sha256="1f4db27b56ef1863d4c9e1d96bac9117d66be45156d0637cfe4fd38cae61a23a") version("5.1.3", sha256="eca7be451c7bf000fd9c75683e7f5dfbed32dbb385b5ac685d2251ee8c3abc96") version("5.1.0", sha256="4a1c6ed887b0159392406af8796508df2794353a4c3aacc801116044fb4a10a5") - version( - "5.0.2", - sha256="48f58c3c16dd45fead2086f89a175f74636e81bc2437e30bb6e9361b1083e71d", - deprecated=True, - ) - version( - "5.0.0", - sha256="2ed521f400e4aafd17405c2f9ad2fb3b906a982d3767b233122d9c2964c3245f", - deprecated=True, - ) - version( - "4.5.2", - sha256="baa59826f8fb984993c03d05e2e3cdf0b830b08f8056b18ba206dfbaa367aca9", - deprecated=True, - ) - version( - "4.5.0", - sha256="9b47b086d28fc831dbe0f83ec7e4640057b97edc961f2f050a0968633f32a06b", - deprecated=True, - ) - version( - "4.3.1", - sha256="c6f5fa192c9cdb32553d24ed5c847107d312042e39fa3dd17c83e237c9542a2d", - deprecated=True, - ) - version( - "4.3.0", - sha256="3b876a0e601d2c6ae56ddf2a6027afe45b3533f4445b0c2da748d020b6b00cf2", - deprecated=True, - ) - version( - "4.2.0", - sha256="c5888eda1404010f88219055778cfeb00d9c21901e172709708720008b1af80f", - deprecated=True, - ) - version( - "4.1.0", - sha256="2eead5707016da606d636b97f3af1c98cb471da78659067d5a77d4a2aa43ef4c", - deprecated=True, - ) - version( - "4.0.0", - sha256="e9960940d1ec925814a0e55ee31f5fc2fb23fa839d1c6a909f72dd83f657fb25", - deprecated=True, - ) - version( - "3.10.0", - sha256="fbf5ce9fbc13ba2b3f9489838e00b54885aba92336f055e8b03fef3e3347071e", - deprecated=True, - ) - version( - "3.9.0", - sha256="f07ddd9bf2f86550c8d243f887e9bde9d4f2ceec81ecc6393012aaf2a45999e8", - deprecated=True, - ) - version( - "3.8.0", - sha256="38ad3ac20f60f3290ce750c34f0aad442354b1d0a56b81167a018e44ecdf7fff", - deprecated=True, - ) - version( - "3.7.0", - sha256="d3f03bf850cbd86ca9dfe6e6cc6f559d8083b0f3ea4711d8260b232cb6fdd1cc", - deprecated=True, - ) - version( - "3.5.0", - sha256="c42548dd467b7138be94ad68c715254eb56a9d3b670ccf993c43cd4d43659937", - deprecated=True, - ) depends_on("cmake@3:", type="build") - for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", - "5.3.0", - "5.3.3", - "5.4.0", - "5.4.3", - ]: - depends_on("hsakmt-roct@" + ver, when="@" + ver) - depends_on("hsa-rocr-dev@" + ver, when="@" + ver) - depends_on("rocminfo@" + ver, when="@" + ver) - depends_on("roctracer-dev-api@" + ver, when="@" + ver) + for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3", "5.3.0", "5.3.3", "5.4.0", "5.4.3"]: + depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}") + depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") + depends_on(f"rocminfo@{ver}", when=f"@{ver}") + depends_on(f"roctracer-dev-api@{ver}", when=f"@{ver}") - depends_on("numactl", type="link", when="@4.3.1") # See https://github.com/ROCm/rocprofiler/pull/50 patch("fix-includes.patch") patch("0001-Continue-build-in-absence-of-aql-profile-lib.patch", when="@5.3:") @@ -149,12 +54,10 @@ def patch(self): def determine_version(cls, lib): match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib) if match: - ver = "{0}.{1}.{2}".format( + return "{0}.{1}.{2}".format( int(match.group(1)), int(match.group(2)), int(match.group(3)) ) - else: - ver = None - return ver + return None def cmake_args(self): return [ diff --git a/var/spack/repos/builtin/packages/rocrand/package.py b/var/spack/repos/builtin/packages/rocrand/package.py index 2af91f9470..dac5ad8dcc 100644 --- a/var/spack/repos/builtin/packages/rocrand/package.py +++ b/var/spack/repos/builtin/packages/rocrand/package.py @@ -44,76 +44,6 @@ class Rocrand(CMakePackage): version("5.2.0", sha256="ab3057e7c17a9fbe584f89ef98ec92a74d638a98d333e7d0f64daf7bc9051e38") version("5.1.3", sha256="4a19e1bcb60955a02a73ad64594c23886d6749afe06b0104e2b877dbe02c8d1c") version("5.1.0", sha256="0c6f114a775d0b38be71f3f621a10bde2104a1f655d5d68c5fecb79b8b51a815") - version( - "5.0.2", - sha256="2dbce2a7fb273c2f9456c002adf3a510b9ec79f2ff32dfccdd59948f3ddb1505", - deprecated=True, - ) - version( - "5.0.0", - sha256="356a03a74d6d5df3ae2d38da07929f23d90bb4dee71f88792c25c25069e673bc", - deprecated=True, - ) - version( - "4.5.2", - sha256="1523997a21437c3b74d47a319d81f8cc44b8e96ec5174004944f2fb4629900db", - deprecated=True, - ) - version( - "4.5.0", - sha256="fd391f81b9ea0b57808d93e8b72d86eec1b4c3529180dfb99ed6d3e2aa1285c2", - deprecated=True, - ) - version( - "4.3.1", - sha256="b3d6ae0cdbbdfb56a73035690f8cb9e173fec1ccaaf9a4c5fdbe5e562e50c901", - deprecated=True, - ) - version( - "4.3.0", - sha256="a85ced6c155befb7df8d58365518f4d9afc4407ee4e01d4640b5fd94604ca3e0", - deprecated=True, - ) - version( - "4.2.0", - sha256="15725c89e9cc9cc76bd30415fd2c0c5b354078831394ab8b23fe6633497b92c8", - deprecated=True, - ) - version( - "4.1.0", - sha256="94327e38739030ab6719a257f5a928a35842694750c7f46d9e11ff2164c2baed", - deprecated=True, - ) - version( - "4.0.0", - sha256="1cafdbfa15cde635bd424d2a858dc5cc94d668f9a211ff39606ee01ed1715f41", - deprecated=True, - ) - version( - "3.10.0", - sha256="f55e2b49b4dfd887e46eea049f3359ae03c60bae366ffc979667d364205bc99c", - deprecated=True, - ) - version( - "3.9.0", - sha256="a500a3a83be36b6c91aa062dc6eef1f9fc1d9ee62422d541cc279513d98efa91", - deprecated=True, - ) - version( - "3.8.0", - sha256="79eb84d41363a46ed9bb18d9757cf6a419d2f48bb6a71b8e4db616a5007a6560", - deprecated=True, - ) - version( - "3.7.0", - sha256="5e43fe07afe2c7327a692b3b580875bae6e6ee790e044c053fffafbfcbc14860", - deprecated=True, - ) - version( - "3.5.0", - sha256="592865a45e7ef55ad9d7eddc8082df69eacfd2c1f3e9c57810eb336b15cd5732", - deprecated=True, - ) amdgpu_targets = ROCmPackage.amdgpu_targets @@ -125,8 +55,7 @@ class Rocrand(CMakePackage): ) variant("hiprand", default=True, when="@5.1.0:", description="Build the hiprand library") - depends_on("cmake@3.10.2:", type="build", when="@4.5.0:") - depends_on("cmake@3.5.1:", type="build") + depends_on("cmake@3.10.2:", type="build") depends_on("googletest@1.10.0:", type="test") @@ -156,7 +85,7 @@ class Rocrand(CMakePackage): commit=d_commit, destination="", placement="hiprand", - when="@{0} +hiprand".format(d_version), + when=f"@{d_version} +hiprand", ) resource( name="hipRAND", @@ -176,20 +105,6 @@ class Rocrand(CMakePackage): ) for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -208,8 +123,8 @@ class Rocrand(CMakePackage): "6.0.0", "6.0.2", ]: - depends_on("hip@" + ver, when="@" + ver) - depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) + depends_on(f"hip@{ver}", when=f"@{ver}") + depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") def patch(self): if self.spec.satisfies("@5.1.0:5.4 +hiprand"): @@ -227,38 +142,7 @@ def fix_library_locations(self): # rocRAND installs librocrand.so* and libhiprand.so* to rocrand/lib and # hiprand/lib, respectively. This confuses spack's RPATH management. We # fix it by adding a symlink to the libraries. - if self.spec.satisfies("@:5.0.2"): - hiprand_lib_path = join_path(self.prefix, "hiprand", "lib") - rocrand_lib_path = join_path(self.prefix, "rocrand", "lib") - mkdirp(self.prefix.lib) - with working_dir(hiprand_lib_path): - hiprand_libs = glob.glob("*.so*") - for lib in hiprand_libs: - os.symlink(join_path(hiprand_lib_path, lib), join_path(self.prefix.lib, lib)) - with working_dir(rocrand_lib_path): - rocrand_libs = glob.glob("*.so*") - for lib in rocrand_libs: - os.symlink(join_path(rocrand_lib_path, lib), join_path(self.prefix.lib, lib)) - """Fix the rocRAND and hipRAND include path""" - # rocRAND installs rocrand*.h* and hiprand*.h* rocrand/include and - # hiprand/include, respectively. This confuses spack's RPATH management. We - # fix it by adding a symlink to the header files. - hiprand_include_path = join_path(self.prefix, "hiprand", "include") - rocrand_include_path = join_path(self.prefix, "rocrand", "include") - - with working_dir(hiprand_include_path): - hiprand_includes = glob.glob("*.h*") - hiprand_path = join_path(self.prefix, "hiprand") - with working_dir(hiprand_path): - for header_file in hiprand_includes: - os.symlink(join_path("include", header_file), header_file) - with working_dir(rocrand_include_path): - rocrand_includes = glob.glob("*.h*") - rocrand_path = join_path(self.prefix, "rocrand") - with working_dir(rocrand_path): - for header_file in rocrand_includes: - os.symlink(join_path("include", header_file), header_file) - elif self.spec.satisfies("@5.1.0:5.1.3"): + if self.spec.satisfies("@5.1.0:5.1.3"): if not os.path.isdir(os.path.join(self.prefix, "hiprand")): os.mkdir(os.path.join(self.prefix, "hiprand")) os.mkdir(os.path.join(self.prefix, "hiprand", "include")) @@ -274,12 +158,10 @@ def fix_library_locations(self): def determine_version(cls, lib): match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib) if match: - ver = "{0}.{1}.{2}".format( + return "{0}.{1}.{2}".format( int(match.group(1)), int(match.group(2)), int(match.group(3)) ) - else: - ver = None - return ver + return None def cmake_args(self): args = [self.define("BUILD_BENCHMARK", "OFF"), self.define("BUILD_TEST", self.run_tests)] diff --git a/var/spack/repos/builtin/packages/rocsolver/link-clients-blas.patch b/var/spack/repos/builtin/packages/rocsolver/link-clients-blas.patch deleted file mode 100644 index 13dfd31976..0000000000 --- a/var/spack/repos/builtin/packages/rocsolver/link-clients-blas.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -r -u a/clients/benchmarks/CMakeLists.txt b/clients/benchmarks/CMakeLists.txt ---- a/clients/benchmarks/CMakeLists.txt 2021-08-14 18:54:53.356456513 -0600 -+++ b/clients/benchmarks/CMakeLists.txt 2021-08-14 18:55:25.125354419 -0600 -@@ -19,6 +19,7 @@ - target_link_libraries( rocsolver-bench PRIVATE - cblas - lapack -+ blas - Threads::Threads - hip::device - rocsolver-common -diff -r -u a/clients/gtest/CMakeLists.txt b/clients/gtest/CMakeLists.txt ---- a/clients/gtest/CMakeLists.txt 2021-08-14 18:54:53.356456513 -0600 -+++ b/clients/gtest/CMakeLists.txt 2021-08-14 18:55:16.581112850 -0600 -@@ -89,6 +89,7 @@ - target_link_libraries( rocsolver-test PRIVATE - cblas - lapack -+ blas - GTest::GTest - hip::device - rocsolver-common diff --git a/var/spack/repos/builtin/packages/rocsolver/package.py b/var/spack/repos/builtin/packages/rocsolver/package.py index 7871c3071d..93ae0e1e3a 100644 --- a/var/spack/repos/builtin/packages/rocsolver/package.py +++ b/var/spack/repos/builtin/packages/rocsolver/package.py @@ -59,115 +59,30 @@ class Rocsolver(CMakePackage): version("5.2.0", sha256="94d46ebe1266eaa05df50c1789dc27d3f2dbf3cb5af156e757777a82ed6ef356") version("5.1.3", sha256="5a8f3b95ac9a131c31538196e954ea53b863009c092cce0c0ef869a0cd5dd554") version("5.1.0", sha256="88de515a6e75eaa3c50c9c8ae1e7ae8e3b46e712e388f44f79b63fefa9fc0831") - version( - "5.0.2", - sha256="298e0903f1ba8074055ab072690f967062d6e06a9371574de23e4e38d2997688", - deprecated=True, - ) - version( - "5.0.0", - sha256="d444ad5348eb8a2c04646ceae6923467a0e775441f2c73150892e228e585b2e1", - deprecated=True, - ) - version( - "4.5.2", - sha256="4639322bd1e77fedfdeb9032633bde6211a0b1cc16a612db7754f873f18a492f", - deprecated=True, - ) - version( - "4.5.0", - sha256="0295862da941f31f4d43b19195b79331bd17f5968032f75c89d2791a6f8c1e8c", - deprecated=True, - ) - version( - "4.3.1", - sha256="c6e7468d7041718ce6e1c7f50ec80a552439ac9cfed2dc3f753ae417dda5724f", - deprecated=True, - ) - version( - "4.3.0", - sha256="63cc88dd285c0fe01ec2394321ec3b4e1e59bb98ce05b06e4b4d8fadcf1ff028", - deprecated=True, - ) - version( - "4.2.0", - sha256="e9ef72d7c29e7c36bf02be63a64ca23b444e1ca71751749f7d66647873d9fdea", - deprecated=True, - ) - version( - "4.1.0", - sha256="da5cc800dabf7367b02b73c93780b2967f112bb45232e4b06e5fd07b4d5b8d88", - deprecated=True, - ) - version( - "4.0.0", - sha256="be9a52644c276813f76d78f2c11eddaf8c2d7f9dd04f4570f23d328ad30d5880", - deprecated=True, - ) - version( - "3.10.0", - sha256="bc72483656b6b23a1e321913a580ca460da3bc5976404647536a01857f178dd2", - deprecated=True, - ) - version( - "3.9.0", - sha256="85fd77fe5acf5af518d11e90e2c03ee0c5abd61071cea86ef5df09f944879648", - deprecated=True, - ) - version( - "3.8.0", - sha256="72aa74284944d8b454088e8c8d74cf05464a4e2e46d33a57017ddd009113025e", - deprecated=True, - ) - version( - "3.7.0", - sha256="8c1c630595952806e658c539fd0f3056bd45bafc22b57f0dd10141abefbe4595", - deprecated=True, - ) - version( - "3.5.0", - sha256="d655e8c762fb9e123b9fd7200b4258512ceef69973de4d0588c815bc666cb358", - deprecated=True, - ) - depends_on("cmake@3.8:", type="build", when="@4.1.0:") - depends_on("cmake@3.5:", type="build") + depends_on("cmake@3.8:", type="build") depends_on("fmt@7:", type="build", when="@4.5.0:") depends_on("fmt@7:8.0.1", type="test", when="@5.6:") depends_on("googletest@1.10.0:", type="test") depends_on("netlib-lapack@3.7.1:", type="test") - patch("link-clients-blas.patch", when="@4.3.0:4.3.2") # Backport https://github.com/ROCm/rocSOLVER/commit/2bbfb8976f6e4d667499c77e41a6433850063e88 - patch("fmt-8.1-compatibility.patch", when="@4.5.0:5.1.3") + patch("fmt-8.1-compatibility.patch", when="@:5.1.3") # Maximize compatibility with other libraries that are using fmt. patch("fmt-9-compatibility.patch", when="@5.2.0:5.5") - depends_on("hip@4.1.0:", when="@4.1.0:") + depends_on("hip") depends_on("rocm-cmake@master", type="build", when="@master:") depends_on("rocm-cmake@4.5.0:", type="build", when="@4.5.0:") depends_on("rocm-cmake@4.3.0:", type="build", when="@4.3.0:") depends_on("rocm-cmake@3.5.0:", type="build") + depends_on("rocsparse@5.2:", when="@5.6:") for ver in ["master", "develop"]: - depends_on("rocblas@" + ver, when="@" + ver) + depends_on(f"rocblas@{ver}", when=f"@{ver}") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -186,55 +101,37 @@ class Rocsolver(CMakePackage): "6.0.0", "6.0.2", ]: - depends_on("hip@" + ver, when="@" + ver) - depends_on("rocblas@" + ver, when="@" + ver) - for ver in ["5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocsparse@5.2:", when="@5.6:") + depends_on(f"hip@{ver}", when=f"@{ver}") + depends_on(f"rocblas@{ver}", when=f"@{ver}") for tgt in itertools.chain(["auto"], amdgpu_targets): - depends_on("rocblas amdgpu_target={0}".format(tgt), when="amdgpu_target={0}".format(tgt)) + depends_on(f"rocblas amdgpu_target={tgt}", when=f"amdgpu_target={tgt}") @classmethod def determine_version(cls, lib): match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib) if match: - ver = "{0}.{1}.{2}".format( + return "{0}.{1}.{2}".format( int(match.group(1)), int(match.group(2)), int(match.group(3)) ) - else: - ver = None - return ver + return None def cmake_args(self): args = [ self.define("BUILD_CLIENTS_SAMPLES", "OFF"), self.define("BUILD_CLIENTS_TESTS", self.run_tests), self.define("BUILD_CLIENTS_BENCHMARKS", "OFF"), + self.define_from_variant("OPTIMAL", "optimal"), + self.define("ROCSOLVER_EMBED_FMT", "ON"), ] - if self.spec.satisfies("@4.1.0"): - incl = self.spec["rocblas"].prefix - args.append(self.define("CMAKE_CXX_FLAGS", "-I{0}/rocblas/include".format(incl))) - - if self.spec.satisfies("@3.7.0:"): - args.append(self.define_from_variant("OPTIMAL", "optimal")) tgt = self.spec.variants["amdgpu_target"] if "auto" not in tgt: - if "@:3.8.0" in self.spec: - args.append( - self.define( - "CMAKE_CXX_FLAGS", "--amdgpu-target={0}".format(",".join(tgt.value)) - ) - ) - else: - args.append(self.define_from_variant("AMDGPU_TARGETS", "amdgpu_target")) + args.append(self.define_from_variant("AMDGPU_TARGETS", "amdgpu_target")) if self.spec.satisfies("^cmake@3.21.0:3.21.2"): args.append(self.define("__skip_rocmclang", "ON")) - if self.spec.satisfies("@4.5.0:"): - args.append(self.define("ROCSOLVER_EMBED_FMT", "ON")) - if self.spec.satisfies("@5.2.0:"): args.append(self.define("BUILD_FILE_REORG_BACKWARD_COMPATIBILITY", True)) if self.spec.satisfies("@5.3.0:"): diff --git a/var/spack/repos/builtin/packages/rocsparse/package.py b/var/spack/repos/builtin/packages/rocsparse/package.py index 14be7f8d37..a37ea30468 100644 --- a/var/spack/repos/builtin/packages/rocsparse/package.py +++ b/var/spack/repos/builtin/packages/rocsparse/package.py @@ -52,94 +52,10 @@ class Rocsparse(CMakePackage): version("5.2.0", sha256="7ed929af16d2502135024a6463997d9a95f03899b8a33aa95db7029575c89572") version("5.1.3", sha256="ef9641045b36c9aacc87e4fe7717b41b1e29d97e21432678dce7aca633a8edc2") version("5.1.0", sha256="a2f0f8cb02b95993480bd7264fc65e8b11464a90b86f2dcd0dd82a2e6d4bd704") - version( - "5.0.2", - sha256="c9d9e1b7859e1c5aa5050f5dfdf86245cbd7c1296c0ce60d9ca5f3e22a9b748b", - deprecated=True, - ) - version( - "5.0.0", - sha256="6d352bf27dbed08e5115a58815aa76c59eb2008ec9dcc921aadf2efe20115d2a", - deprecated=True, - ) - version( - "4.5.2", - sha256="e37af2cd097e239a55a278df534183b5591ef4d985fe1a268a229bd11ada6599", - deprecated=True, - ) - version( - "4.5.0", - sha256="b120e9e17e7e141caee4c8c4288c9d1902bad0cec2ea76458d3ba11343376938", - deprecated=True, - ) - version( - "4.3.1", - sha256="fa5ea64f71e1cfbebe41618cc183f501b387824a6dc58486ab1214d7af5cbef2", - deprecated=True, - ) - version( - "4.3.0", - sha256="1a8109bdc8863b3acfe991449360c9361cae7cabdbe753c553bc57872cd0ad5e", - deprecated=True, - ) - version( - "4.2.0", - sha256="8a86ed49d278e234c82e406a1430dc28f50d416f8f1065cf5bdf25cc5721129c", - deprecated=True, - ) - version( - "4.1.0", - sha256="7514968ed2342dc274acce8b269c128a6aa96cce769a37fd3880b5269c2ed17f", - deprecated=True, - ) - version( - "4.0.0", - sha256="2b41bc6623d204ad7f351a902810f34cd32b762d1bf59081dbb00f83e689a794", - deprecated=True, - ) - version( - "3.10.0", - sha256="8325828c5d7818dfb45e03b5f1572a573cc21964d596aaaa33b7469817b03abd", - deprecated=True, - ) - version( - "3.9.0", - sha256="7b8f952d0c7f8ac2f3bb60879ab420fabbfafb0885a3d8464d5b4c191e97dec6", - deprecated=True, - ) - version( - "3.8.0", - sha256="a5d085fffe05a7ac7f5658075d9782b9b02d0c5c3e2c1807dad266c3a61141fd", - deprecated=True, - ) - version( - "3.7.0", - sha256="db561ae5e8ee117f7c539a9ef6ee49c13b82ba9f702b22c76e741cca245386a9", - deprecated=True, - ) - version( - "3.5.0", - sha256="9ca6bae7da78abbb47143c3d77ff4a8cd7d63979875fc7ebc46b400769fd9cb5", - deprecated=True, - ) depends_on("cmake@3.5:", type="build") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -158,16 +74,16 @@ class Rocsparse(CMakePackage): "6.0.0", "6.0.2", ]: - depends_on("hip@" + ver, when="@" + ver) - depends_on("rocprim@" + ver, when="@" + ver) - depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) + depends_on(f"hip@{ver}", when=f"@{ver}") + depends_on(f"rocprim@{ver}", when=f"@{ver}") + depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") # Add option so Spack can manage downloaded test matricies as resources. - patch("0001-set-mtx-directory.patch", when="@4.5.0:5.3 +test") + patch("0001-set-mtx-directory.patch", when="@:5.3 +test") # Enable use of Spack-provided Python. - patch("0002-fix-gentest-shebang.patch", when="@4.5.0:5.3 +test") + patch("0002-fix-gentest-shebang.patch", when="@:5.3 +test") # Fix build for most Radeon 5000 and Radeon 6000 series GPUs. - patch("0003-fix-navi-1x-rocm-4.5.patch", when="@4.5.0:5.1") + patch("0003-fix-navi-1x-rocm-4.5.patch", when="@:5.1") patch("0003-fix-navi-1x-rocm-5.2.patch", when="@5.2") depends_on("googletest@1.11.0:", when="@5.1.0: +test") @@ -336,12 +252,10 @@ def setup_build_environment(self, env): def determine_version(cls, lib): match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib) if match: - ver = "{0}.{1}.{2}".format( + return "{0}.{1}.{2}".format( int(match.group(1)), int(match.group(2)), int(match.group(3)) ) - else: - ver = None - return ver + return None def cmake_args(self): args = [ diff --git a/var/spack/repos/builtin/packages/rocthrust/package.py b/var/spack/repos/builtin/packages/rocthrust/package.py index d0c7ac0ac8..229724dc88 100644 --- a/var/spack/repos/builtin/packages/rocthrust/package.py +++ b/var/spack/repos/builtin/packages/rocthrust/package.py @@ -36,76 +36,6 @@ class Rocthrust(CMakePackage): version("5.2.0", sha256="afa126218485586682c78e97df8025ae4efd32f3751c340e84c436e08868c326") version("5.1.3", sha256="8d92de1e69815d92a423b7657f2f37c90f1d427f5bc92915c202d4c266254dad") version("5.1.0", sha256="fee779ae3d55b97327d87beca784fc090fa02bc95238d9c3bf3021e266e73979") - version( - "5.0.2", - sha256="60f0cf1848cc7cd8663f15307bd695eee3c5b20d3ad3baa4bc696189ffdcfd53", - deprecated=True, - ) - version( - "5.0.0", - sha256="10b7b1be919881904d64f8084c2afe22aa00c560f8493a75dbf5df8386443ab4", - deprecated=True, - ) - version( - "4.5.2", - sha256="9171a05dd7438aebd4f6a939b1b33b7e87be1a0bd52d90a171b74539885cf591", - deprecated=True, - ) - version( - "4.5.0", - sha256="86cf897b01a6f5df668d978ce42d44a6ae9df9f8adc92d0a1a49a7c3bbead259", - deprecated=True, - ) - version( - "4.3.1", - sha256="86fcd3bc275efe9a485aed48afdc6d3351804c076caee43e3fb8bd69752865e9", - deprecated=True, - ) - version( - "4.3.0", - sha256="a50eb6500687b4ea9e0b3affb1daff8bbc56199d39fbed3ee61d2d5bfc1a0271", - deprecated=True, - ) - version( - "4.2.0", - sha256="da2b6c831c26c26058218b0c5b7b2e43fd7f0dac3b2e3a8e39a839145592c727", - deprecated=True, - ) - version( - "4.1.0", - sha256="e3d06c0387a2a6880776c7423b1acf0808fb8833bc822be75793da8c2f521efd", - deprecated=True, - ) - version( - "4.0.0", - sha256="120c87316f44ce8e8975e57c9b9bf1246b1ffc00879d31d744289ba9438a976c", - deprecated=True, - ) - version( - "3.10.0", - sha256="31bea6cd19a0ffa15e4ab50ecde2402ea5aaa182149cfab98242357e41f1805b", - deprecated=True, - ) - version( - "3.9.0", - sha256="65f5e74d72c5aaee90459468d693b212af7d56e31098ee8237b18d1b4d620eb0", - deprecated=True, - ) - version( - "3.8.0", - sha256="39350aeb8bfbcd09e387717b2a05c7e3a19e0fa85ff4284b967bb8fae12f9013", - deprecated=True, - ) - version( - "3.7.0", - sha256="4cb923dde5eec150a566cb10d23ee5c7ce3aa892c4dea94886a89d95b90f3bdd", - deprecated=True, - ) - version( - "3.5.0", - sha256="0d1bac1129d17bb1259fd06f5c9cb4c1620d1790b5c295b866fb3442d18923cb", - deprecated=True, - ) amdgpu_targets = ROCmPackage.amdgpu_targets @@ -117,26 +47,11 @@ class Rocthrust(CMakePackage): values=auto_or_any_combination_of(*amdgpu_targets), sticky=True, ) - depends_on("cmake@3.10.2:", type="build", when="@4.2.0:") - depends_on("cmake@3.5.1:", type="build") + depends_on("cmake@3.10.2:", type="build") depends_on("googletest@1.10.0:", type="test") for ver in [ - "3.5.0", - "3.7.0", - "3.8.0", - "3.9.0", - "3.10.0", - "4.0.0", - "4.1.0", - "4.2.0", - "4.3.0", - "4.3.1", - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -155,9 +70,9 @@ class Rocthrust(CMakePackage): "6.0.0", "6.0.2", ]: - depends_on("hip@" + ver, when="@" + ver) - depends_on("rocprim@" + ver, when="@" + ver) - depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) + depends_on(f"hip@{ver}", when=f"@{ver}") + depends_on(f"rocprim@{ver}", when=f"@{ver}") + depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") def setup_build_environment(self, env): env.set("CXX", self.spec["hip"].hipcc) diff --git a/var/spack/repos/builtin/packages/roctracer-dev-api/package.py b/var/spack/repos/builtin/packages/roctracer-dev-api/package.py index dd0f6de93b..3f0a4a6197 100644 --- a/var/spack/repos/builtin/packages/roctracer-dev-api/package.py +++ b/var/spack/repos/builtin/packages/roctracer-dev-api/package.py @@ -37,76 +37,6 @@ class RoctracerDevApi(Package): version("5.2.0", sha256="9747356ce61c57d22c2e0a6c90b66a055e435d235ba3459dc3e3f62aabae6a03") version("5.1.3", sha256="45f19875c15eb609b993788b47fd9c773b4216074749d7744f3a671be17ef33c") version("5.1.0", sha256="58b535f5d6772258190e4adcc23f37c916f775057a91b960e1f2ee1f40ed5aac") - version( - "5.0.2", - sha256="5ee46f079e57dfe491678ffa4cdaf5f3b3d179cb3137948e4bcafca99ded47cc", - deprecated=True, - ) - version( - "5.0.0", - sha256="a21f4fb093cee4a806d53cbc0645d615d89db12fbde305e9eceee7e4150acdf2", - deprecated=True, - ) - version( - "4.5.2", - sha256="7012d18b79736dbe119161aab86f4976b78553ce0b2f4753a9386752d75d5074", - deprecated=True, - ) - version( - "4.5.0", - sha256="83dcd8987e129b14da0fe74e24ce8d027333f8fedc9247a402d3683765983296", - deprecated=True, - ) - version( - "4.3.1", - sha256="88ada5f256a570792d1326a305663e94cf2c3b0cbd99f7e745326923882dafd2", - deprecated=True, - ) - version( - "4.3.0", - sha256="c3d9f408df8d4dc0e9c0026217b8c684f68e775da80b215fecb3cd24419ee6d3", - deprecated=True, - ) - version( - "4.2.0", - sha256="62a9c0cb1ba50b1c39a0636c886ac86e75a1a71cbf5fec05801517ceb0e67a37", - deprecated=True, - ) - version( - "4.1.0", - sha256="5d93de4e92895b6eb5f9d098f5dbd182d33923bd9b2ab69cf5a1abbf91d70695", - deprecated=True, - ) - version( - "4.0.0", - sha256="f47859a46173228b597c463eda850b870e810534af5efd5f2a746067ef04edee", - deprecated=True, - ) - version( - "3.10.0", - sha256="ac4a1d059fc34377e906071fd0e56f5434a7e0e4ded9db8faf9217a115239dec", - deprecated=True, - ) - version( - "3.9.0", - sha256="0678f9faf45058b16923948c66d77ba2c072283c975d167899caef969169b292", - deprecated=True, - ) - version( - "3.8.0", - sha256="5154a84ce7568cd5dba756e9508c34ae9fc62f4b0b5731f93c2ad68b21537ed1", - deprecated=True, - ) - version( - "3.7.0", - sha256="6fa5b771e990f09c242237ab334b9f01039ec7d54ccde993e719c5d6577d1518", - deprecated=True, - ) - version( - "3.5.0", - sha256="7af5326c9ca695642b4265232ec12864a61fd6b6056aa7c4ecd9e19c817f209e", - deprecated=True, - ) def install(self, spec, prefix): source_directory = self.stage.source_path diff --git a/var/spack/repos/builtin/packages/roctracer-dev/package.py b/var/spack/repos/builtin/packages/roctracer-dev/package.py index 13e2b2738e..c745c78c3d 100644 --- a/var/spack/repos/builtin/packages/roctracer-dev/package.py +++ b/var/spack/repos/builtin/packages/roctracer-dev/package.py @@ -40,36 +40,12 @@ class RoctracerDev(CMakePackage, ROCmPackage): version("5.2.0", sha256="9747356ce61c57d22c2e0a6c90b66a055e435d235ba3459dc3e3f62aabae6a03") version("5.1.3", sha256="45f19875c15eb609b993788b47fd9c773b4216074749d7744f3a671be17ef33c") version("5.1.0", sha256="58b535f5d6772258190e4adcc23f37c916f775057a91b960e1f2ee1f40ed5aac") - version( - "5.0.2", - sha256="5ee46f079e57dfe491678ffa4cdaf5f3b3d179cb3137948e4bcafca99ded47cc", - deprecated=True, - ) - version( - "5.0.0", - sha256="a21f4fb093cee4a806d53cbc0645d615d89db12fbde305e9eceee7e4150acdf2", - deprecated=True, - ) - version( - "4.5.2", - sha256="7012d18b79736dbe119161aab86f4976b78553ce0b2f4753a9386752d75d5074", - deprecated=True, - ) - version( - "4.5.0", - sha256="83dcd8987e129b14da0fe74e24ce8d027333f8fedc9247a402d3683765983296", - deprecated=True, - ) depends_on("cmake@3:", type="build") depends_on("python@3:", type="build") depends_on("py-cppheaderparser", type="build") for ver in [ - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", "5.1.0", "5.1.3", "5.2.0", @@ -88,29 +64,15 @@ class RoctracerDev(CMakePackage, ROCmPackage): "6.0.0", "6.0.2", ]: - depends_on("hsakmt-roct@" + ver, when="@" + ver) - depends_on("hsa-rocr-dev@" + ver, when="@" + ver) - depends_on("rocminfo@" + ver, when="@" + ver) - depends_on("hip@" + ver, when="@" + ver) - for ver in [ - "4.5.0", - "4.5.2", - "5.0.0", - "5.0.2", - "5.1.0", - "5.1.3", - "5.2.0", - "5.2.1", - "5.2.3", - "5.3.0", - "5.3.3", - "5.4.0", - "5.4.3", - ]: - depends_on("rocprofiler-dev@" + ver, when="@" + ver) + depends_on(f"hsakmt-roct@{ver}", when=f"@{ver}") + depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") + depends_on(f"rocminfo@{ver}", when=f"@{ver}") + depends_on(f"hip@{ver}", when=f"@{ver}") + for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3", "5.3.0", "5.3.3", "5.4.0", "5.4.3"]: + depends_on(f"rocprofiler-dev@{ver}", when=f"@{ver}") for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: - depends_on("rocm-core@" + ver, when="@" + ver) + depends_on(f"rocm-core@{ver}", when=f"@{ver}") patch("0001-include-rocprofiler-dev-path.patch", when="@5.3:5.4") @@ -118,35 +80,34 @@ class RoctracerDev(CMakePackage, ROCmPackage): def determine_version(cls, lib): match = re.search(r"rocm-(\d+)\.(\d+)\.(\d)/lib/lib\S*\.so\.\d+\.\d+\.\d+", lib) if match: - ver = "{0}.{1}.{2}".format( + return "{0}.{1}.{2}".format( int(match.group(1)), int(match.group(2)), int(match.group(3)) ) - else: - ver = None - return ver + return None def patch(self): filter_file( - "${CMAKE_PREFIX_PATH}/hsa", + r"${CMAKE_PREFIX_PATH}/hsa", "${HSA_RUNTIME_INC_PATH}", "src/CMakeLists.txt", string=True, ) - kwargs = {"ignore_absent": False, "backup": False, "string": False} with working_dir("script"): - match = "^#!/usr/bin/python[23]" - python = self.spec["python"].command.path - substitute = "#!{python}".format(python=python) - files = ["check_trace.py", "gen_ostream_ops.py", "hsaap.py"] - filter_file(match, substitute, *files, **kwargs) + filter_file( + "^#!/usr/bin/python[23]", + f"#!{self.spec['python'].command.path}", + "check_trace.py", + "gen_ostream_ops.py", + "hsaap.py", + ) def cmake_args(self): args = [ - "-DHIP_VDI=1", - "-DCMAKE_MODULE_PATH={0}/cmake_modules".format(self.stage.source_path), - "-DHSA_RUNTIME_HSA_INC_PATH={0}/include".format(self.spec["hsa-rocr-dev"].prefix), - "-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON", + self.define("HIP_VDI", "1"), + self.define("CMAKE_MODULE_PATH", f"{self.stage.source_path}/cmake_modules"), + self.define("HSA_RUNTIME_HSA_INC_PATH", self.spec["hsa-rocr-dev"].prefix.include), + self.define("CMAKE_POSITION_INDEPENDENT_CODE", True), ] if self.spec.satisfies("@:5.4.0"): - "-DROCPROFILER_PATH={0}".format(self.spec["rocprofiler-dev"].prefix) + args.append(self.define("ROCPROFILER_PATH", self.spec["rocprofiler-dev"].prefix)) return args diff --git a/var/spack/repos/builtin/packages/sirius/package.py b/var/spack/repos/builtin/packages/sirius/package.py index a8b4b01e69..c57daf47a3 100644 --- a/var/spack/repos/builtin/packages/sirius/package.py +++ b/var/spack/repos/builtin/packages/sirius/package.py @@ -165,9 +165,6 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage): depends_on("rocblas", when="+rocm") depends_on("rocsolver", when="@7.5.0: +rocm") - # FindHIP cmake script only works for < 4.1 - depends_on("hip@:4.0", when="@:7.2.0 +rocm") - conflicts("^libxc@5.0.0") # known to produce incorrect results conflicts("+single_precision", when="@:7.2.4") conflicts("+scalapack", when="^cray-libsci") diff --git a/var/spack/repos/builtin/packages/spfft/package.py b/var/spack/repos/builtin/packages/spfft/package.py index 7ccd6fe67a..79e283f533 100644 --- a/var/spack/repos/builtin/packages/spfft/package.py +++ b/var/spack/repos/builtin/packages/spfft/package.py @@ -53,14 +53,12 @@ class Spfft(CMakePackage, CudaPackage, ROCmPackage): depends_on("cuda@:10", when="@:0.9.11 +cuda") + # Workaround for compiler bug in ROCm 4.5+ added in SpFFT 1.0.6 + conflicts("+rocm", when="@:1.0.5") + with when("+rocm"): - # FindHIP cmake script only works for < 4.1 - depends_on("hip@:4.0", when="@:1.0.1") - # Workaround for compiler bug in ROCm 4.5 added in SpFFT 1.0.6 - depends_on("hip@:4.3.1", when="@:1.0.5") depends_on("rocfft") - # rocFFT and hipFFT have split with latest versions - depends_on("hipfft", when="^rocfft@4.1.0:") + depends_on("hipfft") # Fix compilation error in some cases due to missing include statement # before version 1.0.3