From 5351382501e280838d148f15dfd485f2a78667f2 Mon Sep 17 00:00:00 2001 From: Sreenivasa Murthy Kolam Date: Tue, 12 Dec 2023 04:19:19 +0530 Subject: Bump up the version for ROCm-5.7.0 and ROCm-5.7.1 releases. (#40724) * initial commit for rocm-5.7.0 and 5.7.1 releases * bump up ther version for 5.7.0 and 5.7.1 releases * update recipes to support 5.7.0 and 5.7.1 releases * bump up the version for ROCm 5.7.0 and ROCm-5.7.1 releases * bump up the version for composable-kernel amd miopen-hip * fix style errors * fix style errors in hip etc * renaming composable-kernel recipe * changes for composable_kernel * Revert "renaming composable-kernel recipe" This reverts commit 0cf6c6debfc7b12014f514af26144132ae187e71. * Revert "changes for composable_kernel" This reverts commit 05272a10a79cc14dc9c1afbda8fa4de87ea672ad. * bump up the version for hiprand * using the checksum for hiprand-5.7.1 * bump up the version for 5.7.0 and 5.7.1 releases * fix style errors * fix merge conflicts with the develop. * temp workaround for the error seen with rocm-5.7.0 when trying to generate the dependency file for runtime/legion/legion_redop.cu * fix build issue(work around) with legion * add patch for migraphx package to turn off ck * update to hip recipe * fix hip-path detection inside llvm clang driver * update llvm-amdgpu and rocm-validation-suite recipes * fix style errors * bump up the version for amdsmi for rocm-5.7.0 release * add support for gfx941,gfx942 for rocm-5.7.0 release onwards * revert changes to rocm.py file * added gfx941 and gfx942 to rocm.py and add the gfx942 to kokkos and new checksum the new version seem to support gfx942 * bump up the version for rccl for 5.7.1 * update the patch for rocm-openmp-extras for 5.7.0 * update mivisionx recipe for 5.7.0 release * add new dependencies for rocfft tests * port the fix for avx build, the start address of values_ buffer in KernelParameters is not correct as it is computed based on 16-byte alignment * set HIP_PATH=ROCM_PATH for 5.7.0 onwards * address review comments * revert adding xnack- and xnack+ to gfx940,gfx941,gfx942 as the prechecks were failing --- var/spack/repos/builtin/packages/amdsmi/package.py | 15 +- var/spack/repos/builtin/packages/comgr/package.py | 6 +- .../builtin/packages/composable-kernel/package.py | 6 +- ...ve-compiler-rt-linkage-for-host-for-5.7.0.patch | 74 +++ ...ERS_MIN_ALIGNMENT-to-the-native-alignment.patch | 63 ++ var/spack/repos/builtin/packages/hip/package.py | 41 +- .../repos/builtin/packages/hipblas/package.py | 4 + var/spack/repos/builtin/packages/hipcub/package.py | 4 + var/spack/repos/builtin/packages/hipfft/package.py | 4 + .../repos/builtin/packages/hipfort/package.py | 4 + .../repos/builtin/packages/hipify-clang/package.py | 6 +- .../repos/builtin/packages/hiprand/package.py | 6 +- .../repos/builtin/packages/hipsolver/package.py | 4 + .../repos/builtin/packages/hipsparse/package.py | 5 + .../repos/builtin/packages/hsa-rocr-dev/package.py | 8 +- .../repos/builtin/packages/hsakmt-roct/package.py | 8 +- var/spack/repos/builtin/packages/kokkos/package.py | 1 + .../0001-update-HIP_PATH-deduction-for-5.7.0.patch | 56 ++ .../llvm-amdgpu/001-Add-i1-mul-patterns-5.7.patch | 671 +++++++++++++++++++++ .../repos/builtin/packages/llvm-amdgpu/package.py | 17 +- var/spack/repos/builtin/packages/llvm/package.py | 1 + var/spack/repos/builtin/packages/mesa/package.py | 10 +- .../migraphx/0006-add-option-to-turn-off-ck.patch | 68 +++ .../repos/builtin/packages/migraphx/package.py | 10 + .../repos/builtin/packages/miopen-hip/package.py | 13 +- .../repos/builtin/packages/mivisionx/package.py | 19 +- var/spack/repos/builtin/packages/rccl/package.py | 12 +- var/spack/repos/builtin/packages/rdc/package.py | 8 +- .../repos/builtin/packages/rocalution/package.py | 4 + .../repos/builtin/packages/rocblas/package.py | 6 + var/spack/repos/builtin/packages/rocfft/package.py | 7 +- .../packages/rocm-bandwidth-test/package.py | 6 +- .../builtin/packages/rocm-clang-ocl/package.py | 6 +- .../repos/builtin/packages/rocm-cmake/package.py | 4 +- .../repos/builtin/packages/rocm-core/package.py | 2 + .../repos/builtin/packages/rocm-dbgapi/package.py | 6 +- .../builtin/packages/rocm-debug-agent/package.py | 8 +- .../builtin/packages/rocm-device-libs/package.py | 6 +- .../repos/builtin/packages/rocm-gdb/package.py | 6 +- ...nking-hsakmt-libdrm-and-numactl-libraries.patch | 41 ++ .../builtin/packages/rocm-openmp-extras/package.py | 31 +- .../repos/builtin/packages/rocm-smi-lib/package.py | 6 +- .../repos/builtin/packages/rocm-tensile/package.py | 9 +- ...-and-include-path-WITHOUT-RVS-BUILD-TESTS.patch | 606 +++++++++++++++++++ .../packages/rocm-validation-suite/package.py | 14 +- .../repos/builtin/packages/rocminfo/package.py | 6 +- .../repos/builtin/packages/rocprim/package.py | 5 +- .../repos/builtin/packages/rocrand/package.py | 5 +- .../repos/builtin/packages/rocsolver/package.py | 6 +- .../repos/builtin/packages/rocsparse/package.py | 5 +- .../repos/builtin/packages/rocthrust/package.py | 5 +- .../builtin/packages/roctracer-dev-api/package.py | 2 + .../builtin/packages/roctracer-dev/package.py | 6 +- .../repos/builtin/packages/rocwmma/package.py | 6 +- var/spack/repos/builtin/packages/rpp/package.py | 13 +- 55 files changed, 1911 insertions(+), 60 deletions(-) create mode 100644 var/spack/repos/builtin/packages/hip/0014-Remove-compiler-rt-linkage-for-host-for-5.7.0.patch create mode 100644 var/spack/repos/builtin/packages/hip/0017-Set-PARAMETERS_MIN_ALIGNMENT-to-the-native-alignment.patch create mode 100644 var/spack/repos/builtin/packages/llvm-amdgpu/0001-update-HIP_PATH-deduction-for-5.7.0.patch create mode 100644 var/spack/repos/builtin/packages/llvm-amdgpu/001-Add-i1-mul-patterns-5.7.patch create mode 100644 var/spack/repos/builtin/packages/migraphx/0006-add-option-to-turn-off-ck.patch create mode 100644 var/spack/repos/builtin/packages/rocm-openmp-extras/0001-Linking-hsakmt-libdrm-and-numactl-libraries.patch create mode 100644 var/spack/repos/builtin/packages/rocm-validation-suite/008-correcting-library-and-include-path-WITHOUT-RVS-BUILD-TESTS.patch (limited to 'var') diff --git a/var/spack/repos/builtin/packages/amdsmi/package.py b/var/spack/repos/builtin/packages/amdsmi/package.py index 5c293799b8..6921d97000 100644 --- a/var/spack/repos/builtin/packages/amdsmi/package.py +++ b/var/spack/repos/builtin/packages/amdsmi/package.py @@ -19,17 +19,18 @@ class Amdsmi(CMakePackage): maintainers("srekolam", "renjithravindrankannath") libraries = ["libamd_smi"] + version("5.7.0", sha256="144391d537710dafa9ef69571dd76203e56db6142ab61a1375346b5733137e23") version("5.6.0", sha256="595c9d6d79d9071290b2f19ab4ef9222c8d2983b4322b3143fcd9d0b1ce0f6d8") version("5.5.1", sha256="b794c7fd562fd92f2c9f2bbdc2d5dded7486101fcd4598f2e8c3484c9a939281") version("5.5.0", sha256="dcfbd96e93afcf86b1261464e008e9ef7e521670871a1885e6eaffc7cdc8f555") - depends_on("cmake@3.11:", type="build") - depends_on("python@3.6:", type="run") - depends_on("py-virtualenv", type="build") - depends_on("llvm@14:", type="build") - depends_on("pkgconfig", type="build") - depends_on("libdrm", type="build") - depends_on("py-pyyaml", type="build") + depends_on("cmake@3.11:") + depends_on("python@3.6:") + depends_on("py-virtualenv") + depends_on("llvm@14:") + depends_on("pkgconfig") + depends_on("libdrm") + depends_on("py-pyyaml") @classmethod def determine_version(cls, lib): diff --git a/var/spack/repos/builtin/packages/comgr/package.py b/var/spack/repos/builtin/packages/comgr/package.py index a17bcc7e94..2cb21f6941 100644 --- a/var/spack/repos/builtin/packages/comgr/package.py +++ b/var/spack/repos/builtin/packages/comgr/package.py @@ -21,6 +21,8 @@ class Comgr(CMakePackage): libraries = ["libamd_comgr"] version("master", branch="amd-stg-open") + version("5.7.1", sha256="3b9433b4a0527167c3e9dfc37a3c54e0550744b8d4a8e1be298c8d4bcedfee7c") + version("5.7.0", sha256="e234bcb93d602377cfaaacb59aeac5796edcd842a618162867b7e670c3a2c42c") version("5.6.1", sha256="0a85d84619f98be26ca7a32c71f94ed3c4e9866133789eabb451be64ce739300") version("5.6.0", sha256="9396a7238b547ee68146c669b10b9d5de8f1d76527c649133c75d8076a185a72") version("5.5.1", sha256="0fbb15fe5a95c2e141ccd360bc413e1feda283334781540a6e5095ab27fd8019") @@ -146,6 +148,8 @@ class Comgr(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", "master", ]: # llvm libs are linked statically, so this *could* be a build dep @@ -157,7 +161,7 @@ class Comgr(CMakePackage): "rocm-device-libs@" + ver, when="@{0} ^llvm-amdgpu ~rocm-device-libs".format(ver) ) - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + ver) root_cmakelists_dir = join_path("lib", "comgr") diff --git a/var/spack/repos/builtin/packages/composable-kernel/package.py b/var/spack/repos/builtin/packages/composable-kernel/package.py index fc986f5fc6..d0d8568e40 100644 --- a/var/spack/repos/builtin/packages/composable-kernel/package.py +++ b/var/spack/repos/builtin/packages/composable-kernel/package.py @@ -13,10 +13,12 @@ class ComposableKernel(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/composable_kernel" git = "https://github.com/ROCmSoftwarePlatform/composable_kernel.git" - + url = "https://github.com/ROCmSoftwarePlatform/composable_kernel/archive/refs/tags/rocm-5.7.1.tar.gz" maintainers("srekolam", "afzpatel") version("master", branch="develop") + version("5.7.1", sha256="75f66e023c2e31948e91fa26366eaeac72d871fc2e5188361d4465179f13876e") + version("5.7.0", sha256="d9624dbaef04e0138f9f73596c49b4fe9ded69974bae7236354baa32649bf21a") version("5.6.1", commit="f5ec04f091fa5c48c67d7bacec36a414d0be06a5") version("5.6.0", commit="f5ec04f091fa5c48c67d7bacec36a414d0be06a5") version("5.5.1", commit="ac9e01e2cc3721be24619807adc444e1f59a9d25") @@ -42,7 +44,7 @@ class ComposableKernel(CMakePackage): depends_on("pkgconfig", type="build") depends_on("cmake@3.16:", type="build") - for ver in ["master", "5.6.1", "5.6.0", "5.5.1", "5.5.0", "5.4.3", "5.4.0"]: + for ver in ["master", "5.7.1", "5.7.0", "5.6.1", "5.6.0", "5.5.1", "5.5.0", "5.4.3", "5.4.0"]: depends_on("hip@" + ver, when="@" + ver) depends_on("llvm-amdgpu@" + ver, when="@" + ver) depends_on("rocm-cmake@" + ver, when="@" + ver, type="build") diff --git a/var/spack/repos/builtin/packages/hip/0014-Remove-compiler-rt-linkage-for-host-for-5.7.0.patch b/var/spack/repos/builtin/packages/hip/0014-Remove-compiler-rt-linkage-for-host-for-5.7.0.patch new file mode 100644 index 0000000000..3f1bf4974b --- /dev/null +++ b/var/spack/repos/builtin/packages/hip/0014-Remove-compiler-rt-linkage-for-host-for-5.7.0.patch @@ -0,0 +1,74 @@ +From 9be86942bfd8fd9a1c9436a7f87de5a52aa4cb7e Mon Sep 17 00:00:00 2001 +From: sreenivasa murthy kolam +Date: Wed, 25 Oct 2023 07:33:45 +0000 +Subject: [PATCH] Remove-compiler-rt-linkage-for-host-for-5.7.0 + +--- + clr/hipamd/CMakeLists.txt | 6 ++++-- + clr/hipamd/hip-config-amd.cmake | 1 - + hipcc/bin/hipcc.pl | 10 +++++++--- + 3 files changed, 11 insertions(+), 6 deletions(-) + +diff --git a/clr/hipamd/CMakeLists.txt b/clr/hipamd/CMakeLists.txt +index 272ebca..48f7686 100755 +--- a/clr/hipamd/CMakeLists.txt ++++ b/clr/hipamd/CMakeLists.txt +@@ -402,8 +402,10 @@ if (NOT ${HIPCC_BIN_DIR} STREQUAL "") + install(PROGRAMS ${HIPCC_BIN_DIR}/hipcc.pl DESTINATION bin) + install(PROGRAMS ${HIPCC_BIN_DIR}/hipconfig.pl DESTINATION bin) + install(PROGRAMS ${HIPCC_BIN_DIR}/hipvars.pm DESTINATION bin) +- install(PROGRAMS ${HIPCC_BIN_DIR}/hipcc.bat DESTINATION bin) +- install(PROGRAMS ${HIPCC_BIN_DIR}/hipconfig.bat DESTINATION bin) ++ if(WIN32) ++ install(PROGRAMS ${HIPCC_BIN_DIR}/hipcc.bat DESTINATION bin) ++ install(PROGRAMS ${HIPCC_BIN_DIR}/hipconfig.bat DESTINATION bin) ++ endif() + endif() + + ############################# +diff --git a/clr/hipamd/hip-config-amd.cmake b/clr/hipamd/hip-config-amd.cmake +index 229bb0f..d685172 100755 +--- a/clr/hipamd/hip-config-amd.cmake ++++ b/clr/hipamd/hip-config-amd.cmake +@@ -153,7 +153,6 @@ else() + # Add support for __fp16 and _Float16, explicitly link with compiler-rt + if( "${CLANGRT_BUILTINS_FETCH_EXIT_CODE}" STREQUAL "0" ) + # CLANG_RT Builtins found Successfully Set interface link libraries property +- set_property(TARGET hip::host APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}") + set_property(TARGET hip::device APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}") + else() + message(STATUS "clangrt builtins lib not found: ${CLANGRT_BUILTINS_FETCH_EXIT_CODE}") +diff --git a/hipcc/bin/hipcc.pl b/hipcc/bin/hipcc.pl +index 56dcda2..c2e0cc9 100755 +--- a/hipcc/bin/hipcc.pl ++++ b/hipcc/bin/hipcc.pl +@@ -155,11 +155,14 @@ if ($HIP_PLATFORM eq "amd") { + if($isWindows) { + $execExtension = ".exe"; + } +- $HIPCC="$HIP_CLANG_PATH/clang++" . $execExtension; ++ # llvm_path is set inside the hip recipe ++ $LLVM_PATH= $ENV{'LLVM_PATH'}; ++ $HIPCC="${LLVM_PATH}/bin/clang++" . $execExtension; + + # If $HIPCC clang++ is not compiled, use clang instead + if ( ! -e $HIPCC ) { +- $HIPCC="$HIP_CLANG_PATH/clang" . $execExtension; ++ $LLVM_PATH= $ENV{'LLVM_PATH'}; ++ $HIPCC="${LLVM_PATH}/bin/clang" . $execExtension; + $HIPLDFLAGS = "--driver-mode=g++"; + } + # to avoid using dk linker or MSVC linker +@@ -483,7 +486,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'} // $ROCMINFO_PATH; ++ $ROCM_AGENT_ENUM = "${ROCMINFO_PATH}/bin/rocm_agent_enumerator"; + $targetsStr = `${ROCM_AGENT_ENUM} -t GPU`; + $targetsStr =~ s/\n/,/g; + } +-- +2.39.3 + diff --git a/var/spack/repos/builtin/packages/hip/0017-Set-PARAMETERS_MIN_ALIGNMENT-to-the-native-alignment.patch b/var/spack/repos/builtin/packages/hip/0017-Set-PARAMETERS_MIN_ALIGNMENT-to-the-native-alignment.patch new file mode 100644 index 0000000000..cabc64fd2a --- /dev/null +++ b/var/spack/repos/builtin/packages/hip/0017-Set-PARAMETERS_MIN_ALIGNMENT-to-the-native-alignment.patch @@ -0,0 +1,63 @@ +diff --git a/clr/rocclr/platform/kernel.hpp b/clr/rocclr/platform/kernel.hpp +index 8cb3b7f..d441b18 100644 +--- a/clr/rocclr/platform/kernel.hpp ++++ b/clr/rocclr/platform/kernel.hpp +@@ -159,7 +159,7 @@ class KernelParameters : protected HeapObject { + deviceKernelArgs_(false) { + totalSize_ = signature.paramsSize() + (signature.numMemories() + + signature.numSamplers() + signature.numQueues()) * sizeof(void*); +- values_ = reinterpret_cast
(this) + alignUp(sizeof(KernelParameters), 16); ++ values_ = reinterpret_cast
(this) + alignUp(sizeof(KernelParameters), PARAMETERS_MIN_ALIGNMENT); + memoryObjOffset_ = signature_.paramsSize(); + memoryObjects_ = reinterpret_cast(values_ + memoryObjOffset_); + samplerObjOffset_ = memoryObjOffset_ + signature_.numMemories() * sizeof(amd::Memory*); +@@ -183,7 +183,7 @@ class KernelParameters : protected HeapObject { + execNewVcop_(rhs.execNewVcop_), + execPfpaVcop_(rhs.execPfpaVcop_), + deviceKernelArgs_(false) { +- values_ = reinterpret_cast
(this) + alignUp(sizeof(KernelParameters), 16); ++ values_ = reinterpret_cast
(this) + alignUp(sizeof(KernelParameters), PARAMETERS_MIN_ALIGNMENT); + memoryObjOffset_ = signature_.paramsSize(); + memoryObjects_ = reinterpret_cast(values_ + memoryObjOffset_); + samplerObjOffset_ = memoryObjOffset_ + signature_.numMemories() * sizeof(amd::Memory*); +@@ -220,7 +220,7 @@ class KernelParameters : protected HeapObject { + //! Allocate memory for this instance as well as the required storage for + // the values_, defined_, and rawPointer_ arrays. + void* operator new(size_t size, const KernelSignature& signature) { +- size_t requiredSize = alignUp(size, 16) + signature.paramsSize() + ++ size_t requiredSize = alignUp(size, PARAMETERS_MIN_ALIGNMENT) + signature.paramsSize() + + (signature.numMemories() + signature.numSamplers() + signature.numQueues()) * + sizeof(void*); + return AlignedMemory::allocate(requiredSize, PARAMETERS_MIN_ALIGNMENT); +diff --git a/clr/rocclr/utils/flags.hpp b/clr/rocclr/utils/flags.hpp +index df12fe6..88848e5 100644 +--- a/clr/rocclr/utils/flags.hpp ++++ b/clr/rocclr/utils/flags.hpp +@@ -52,7 +52,7 @@ debug(size_t, CPU_MEMORY_GUARD_PAGE_SIZE, 64, \ + "Size in KB of CPU memory guard page") \ + debug(size_t, CPU_MEMORY_ALIGNMENT_SIZE, 256, \ + "Size in bytes for the default alignment for guarded memory on CPU") \ +-debug(size_t, PARAMETERS_MIN_ALIGNMENT, 16, \ ++debug(size_t, PARAMETERS_MIN_ALIGNMENT, NATIVE_ALIGNMENT_SIZE, \ + "Minimum alignment required for the abstract parameters stack") \ + debug(size_t, MEMOBJ_BASE_ADDR_ALIGN, 4*Ki, \ + "Alignment of the base address of any allocate memory object") \ +diff --git a/clr/rocclr/utils/macros.hpp b/clr/rocclr/utils/macros.hpp +index 02fef75..e2110eb 100644 +--- a/clr/rocclr/utils/macros.hpp ++++ b/clr/rocclr/utils/macros.hpp +@@ -126,6 +126,14 @@ + #define IS_WINDOWS false + #endif + ++#if defined(__AVX512F__) ++#define NATIVE_ALIGNMENT_SIZE 64 ++#elif defined(__AVX__) ++#define NATIVE_ALIGNMENT_SIZE 32 ++#else ++#define NATIVE_ALIGNMENT_SIZE 16 ++#endif ++ + #define IF_LEFT_true(x) x + #define IF_LEFT_false(x) + #define IF_RIGHT_true(x) diff --git a/var/spack/repos/builtin/packages/hip/package.py b/var/spack/repos/builtin/packages/hip/package.py index a34805eb67..05d24d92bf 100644 --- a/var/spack/repos/builtin/packages/hip/package.py +++ b/var/spack/repos/builtin/packages/hip/package.py @@ -25,6 +25,8 @@ class Hip(CMakePackage): libraries = ["libamdhip64"] version("master", branch="master") + version("5.7.1", sha256="eaa0e14a9ae45c58ed37863797b683a7778b3cbbf92f5b6529ec65fd61d61f3e") + version("5.7.0", sha256="cb61234eec7879fb7e20937659ad535b93a6e66fc8de0a543da8b7702474f2fc") version("5.6.1", sha256="4b3c4dfcf8595da0e1b8c3e8067b1ccebeaac337762ff098db14375fa8dd4487") version("5.6.0", sha256="a8237768c1ae70029d972376f8d279f4de18a1e6106fff6215d1e16847bc375e") version("5.5.1", sha256="1f5f6bb72d8d64335ccc8242ef2e2ea8efeb380cce2997f475b1ee77528d9fb4") @@ -166,6 +168,8 @@ class Hip(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("hsakmt-roct@" + ver, when="@" + ver) depends_on("hsa-rocr-dev@" + ver, when="@" + ver) @@ -174,10 +178,9 @@ class Hip(CMakePackage): depends_on("rocminfo@" + ver, when="@" + ver) depends_on("roctracer-dev-api@" + ver, when="@" + ver) - for ver in ["5.4.0", "5.4.3", "5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.4.0", "5.4.3", "5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("hipify-clang", when="@" + ver) - - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + ver) # hipcc likes to add `-lnuma` by default :( # ref https://github.com/ROCm-Developer-Tools/HIP/pull/2202 @@ -275,6 +278,8 @@ class Hip(CMakePackage): ) # Add hip-clr sources thru the below for d_version, d_shasum in [ + ("5.7.1", "c78490335233a11b4d8a5426ace7417c555f5e2325de10422df06c0f0f00f7eb"), + ("5.7.0", "bc2447cb6fd86dff6a333b04e77ce85755104d9011a14a044af53caf02449573"), ("5.6.1", "0b88af1e99643899d11b1c8cf8a3c46601051b328a5e0ffbd44ee88b7eb0db33"), ("5.6.0", "8dcd99110737a294f67a805639cf372890c8ca16c7603caaa793e71e84478fe4"), ]: @@ -292,6 +297,8 @@ class Hip(CMakePackage): # Add hipcc sources thru the below for d_version, d_shasum in [ + ("5.7.1", "d47d27ef2b5de7f49cdfd8547832ac9b437a32e6fc6f0e9c1646f4b704c90aee"), + ("5.7.0", "9f839bf7226e5e26f3150f8ba6eca507ab9a668e68b207736301b3bb9040c973"), ("5.6.1", "5800fac92b841ef6f52acda78d9bf86f83970bec0fb848a6265d239bdb7eb51a"), ("5.6.0", "fdb7fdc9e4648376120330f034ee8353038d34c8a015f9eb0c208c56eeddd097"), ]: @@ -308,6 +315,8 @@ class Hip(CMakePackage): ) # Add hiptests sources thru the below for d_version, d_shasum in [ + ("5.7.1", "28fbdf49f405adfee903bc0f05a43ac392c55b34c514c3582dfb7d6d67e79985"), + ("5.7.0", "b1dae3cfc715e71dce92ac1da94265a9398944c76cee85ffab8f0c93665a48d6"), ("5.6.1", "5b3002ddfafda162329e4d9e6ac1200eeb48ff08e666b342aa8aeca30750f48b"), ("5.6.0", "8cf4509bf9c0747dab8ed8fec1365a9156792034b517207a0b2d63270429fd2e"), ]: @@ -387,8 +396,11 @@ class Hip(CMakePackage): 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") - patch("0014-remove-compiler-rt-linkage-for-host.5.6.0.patch", when="@5.6:") + patch("0014-remove-compiler-rt-linkage-for-host.5.6.0.patch", when="@5.6.0:5.6") + patch("0014-Remove-compiler-rt-linkage-for-host-for-5.7.0.patch", when="@5.7.0:5.7") patch("0015-reverting-operator-mixup-fix-for-slate.patch", when="@5.6:") + patch("0017-Set-PARAMETERS_MIN_ALIGNMENT-to-the-native-alignment.patch", when="@5.7") + # See https://github.com/ROCm-Developer-Tools/HIP/pull/3206 patch( "https://github.com/ROCm-Developer-Tools/HIP/commit/50ee82f6bc4aad10908ce09198c9f7ebfb2a3561.patch?full_index=1", @@ -455,6 +467,9 @@ class Hip(CMakePackage): if self.spec.satisfies("@5.4:"): paths["hipify-clang"] = rocm_prefix + + if self.spec.satisfies("@5.7:"): + paths["hip-path"] = rocm_prefix else: paths = { "hip-path": self.spec.prefix, @@ -468,7 +483,6 @@ class Hip(CMakePackage): if self.spec.satisfies("@5.4:"): paths["hipify-clang"] = self.spec["hipify-clang"].prefix - if "@:3.8.0" in self.spec: paths["bitcode"] = paths["rocm-device-libs"].lib else: @@ -591,14 +605,26 @@ class Hip(CMakePackage): "hipamd/hip-config.cmake.in", string=True, ) - if self.spec.satisfies("@5.6: +rocm"): + if self.spec.satisfies("@5.6.0:5.6 +rocm"): filter_file( '"${ROCM_PATH}/llvm"', self.spec["llvm-amdgpu"].prefix, "clr/hipamd/hip-config.cmake.in", string=True, ) - + if self.spec.satisfies("@5.7: +rocm"): + filter_file( + '"${ROCM_PATH}/llvm"', + self.spec["llvm-amdgpu"].prefix, + "clr/hipamd/hip-config-amd.cmake", + string=True, + ) + filter_file( + '"${ROCM_PATH}/llvm"', + self.spec["llvm-amdgpu"].prefix, + "clr/hipamd/src/hiprtc/CMakeLists.txt", + string=True, + ) perl = self.spec["perl"].command kwargs = {"ignore_absent": False, "backup": False, "string": False} @@ -707,6 +733,7 @@ class Hip(CMakePackage): args.append(self.define("HIPCC_BIN_DIR", self.stage.source_path + "/hipcc/bin")), args.append(self.define("CLR_BUILD_HIP", True)), args.append(self.define("CLR_BUILD_OCL", False)), + args.append(self.define("HIP_LLVM_ROOT", self.spec["llvm-amdgpu"].prefix)) return args test_src_dir_old = "samples" diff --git a/var/spack/repos/builtin/packages/hipblas/package.py b/var/spack/repos/builtin/packages/hipblas/package.py index 973a8c34b3..04fcff450f 100644 --- a/var/spack/repos/builtin/packages/hipblas/package.py +++ b/var/spack/repos/builtin/packages/hipblas/package.py @@ -22,6 +22,8 @@ class Hipblas(CMakePackage, CudaPackage, ROCmPackage): version("develop", branch="develop") version("master", branch="master") + version("5.7.1", sha256="794e9298f48ffbe3bd1c1ab87a5c2c2b953713500155fdec9ef8cbb11f81fc8a") + version("5.7.0", sha256="8c6cd2ffa4ce6ab03e05feffe074685b5525610870aebe9d78f817b3037f33a4") version("5.6.1", sha256="f9da82fbefc68b84081ea0ed0139b91d2a540357fcf505c7f1d57eab01eb327c") version("5.6.0", sha256="9453a31324e10ba528f8f4755d2c270d0ed9baa33e980d8f8383204d8e28a563") version("5.5.1", sha256="5920c9a9c83cf7e2b42d1f99f5d5091cac7f6c0a040a737e869e57b92d7045a9") @@ -168,6 +170,8 @@ class Hipblas(CMakePackage, CudaPackage, ROCmPackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", "master", "develop", ]: diff --git a/var/spack/repos/builtin/packages/hipcub/package.py b/var/spack/repos/builtin/packages/hipcub/package.py index cb878d1823..3df7539747 100644 --- a/var/spack/repos/builtin/packages/hipcub/package.py +++ b/var/spack/repos/builtin/packages/hipcub/package.py @@ -15,6 +15,8 @@ class Hipcub(CMakePackage, CudaPackage, ROCmPackage): tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") + version("5.7.1", sha256="9b23a58408bc4c549d3c754196cb3e2c1a50e177ab0a286101cbea2f7f173945") + version("5.7.0", sha256="899356867f662d9a6f3870bb4a496f605a3143c6ad4d1fa9e9faead68fa8d13b") version("5.6.1", sha256="4b9479daa40424c9ddbc14ce967aa170680f8ca1ed01a514e6e30ccfa22552ce") version("5.6.0", sha256="5e74ddbf833f39836bf9ec6c6750348c7386a85ca67aaf9bb54d16c9e1959031") version("5.5.1", sha256="ad83f3f1ed85ead9e3012906957c125a896168be913f6fb6af298228fc571480") @@ -151,6 +153,8 @@ class Hipcub(CMakePackage, CudaPackage, ROCmPackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("rocprim@" + ver, when="+rocm @" + ver) depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) diff --git a/var/spack/repos/builtin/packages/hipfft/package.py b/var/spack/repos/builtin/packages/hipfft/package.py index 046d908e3e..efb4f53116 100644 --- a/var/spack/repos/builtin/packages/hipfft/package.py +++ b/var/spack/repos/builtin/packages/hipfft/package.py @@ -22,6 +22,8 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage): maintainers("renjithravindrankannath", "srekolam") version("master", branch="master") + version("5.7.1", sha256="33452576649df479f084076c47d0b30f6f1da34864094bce767dd9bf609f04aa") + version("5.7.0", sha256="daa5dc44580145e85ff8ffa7eb40a3d1ef41f3217549c01281715ff696a31588") version("5.6.1", sha256="d2ae36b8eacd39b865e8a7972b8eb86bcea2de4ac90711bba7e29b39b01eaa74") version("5.6.0", sha256="c7f425b693caf9371b42226d86392335d993a117d23219b6ba1fd13523cb8261") version("5.5.1", sha256="3addd15a459752ad657e84c2a7b6b6289600d1d0a5f90d6e0946ba11e8148fc0") @@ -119,6 +121,8 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) depends_on("rocfft@" + ver, when="+rocm @" + ver) diff --git a/var/spack/repos/builtin/packages/hipfort/package.py b/var/spack/repos/builtin/packages/hipfort/package.py index da688d9c1f..2ab822ac0d 100644 --- a/var/spack/repos/builtin/packages/hipfort/package.py +++ b/var/spack/repos/builtin/packages/hipfort/package.py @@ -15,6 +15,8 @@ class Hipfort(CMakePackage): tags = ["rocm"] maintainers("cgmb", "srekolam", "renjithravindrankannath") + version("5.7.1", sha256="859fac509e195f3ab97c555b5f63afea325a61aae0f281cb19a970a1b533dead") + version("5.7.0", sha256="57b04d59f61683a1b141d6d831d10c9fdecea483991ec02d14c14e441e935c05") version("5.6.1", sha256="a55345cc9ccaf0cd69d306b8eb9ec2a02c220a57e9c396443cc7273aa3377adc") version("5.6.0", sha256="03176a099bc81e212ad1bf9d86f35561f8f2d21a2f126732d7620e1ea59888d5") version("5.5.1", sha256="abc59f7b81cbefbe3555cbf1bf0d80e8aa65901c70799748c40870fe6f3fea60") @@ -121,6 +123,8 @@ class Hipfort(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("hip@" + ver, type="build", when="@" + ver) diff --git a/var/spack/repos/builtin/packages/hipify-clang/package.py b/var/spack/repos/builtin/packages/hipify-clang/package.py index dd6b99ee71..d707569bf9 100644 --- a/var/spack/repos/builtin/packages/hipify-clang/package.py +++ b/var/spack/repos/builtin/packages/hipify-clang/package.py @@ -18,6 +18,8 @@ class HipifyClang(CMakePackage): maintainers("srekolam", "renjithravindrankannath") version("master", branch="master") + version("5.7.1", sha256="43121e62233dab010ab686d6805bc2d3163f0dc5e89cc503d50c4bcd59eeb394") + version("5.7.0", sha256="10e4386727e102fba166f012147120a6ec776e8d95fbcac3af93e243205d80a6") version("5.6.1", sha256="ec3a4f276556f9fd924ea3c89be11b6c6ddf999cdd4387f669e38e41ee0042e8") version("5.6.0", sha256="a2572037a7d3bd0813bd6819a5e6c0e911678db5fd3ab15a65370601df91891b") version("5.5.1", sha256="35b9c07a7afaf9cf6f3bbe9dd147fa81b1b297af3e5e26e60c55629e83feaa48") @@ -137,11 +139,13 @@ class HipifyClang(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", "master", ]: depends_on("llvm-amdgpu@" + ver, when="@" + ver) - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + ver) def setup_run_environment(self, env): diff --git a/var/spack/repos/builtin/packages/hiprand/package.py b/var/spack/repos/builtin/packages/hiprand/package.py index 5f85c46cb9..c3dcedf891 100644 --- a/var/spack/repos/builtin/packages/hiprand/package.py +++ b/var/spack/repos/builtin/packages/hiprand/package.py @@ -14,7 +14,7 @@ class Hiprand(CMakePackage, CudaPackage, ROCmPackage): homepage = "https://github.com/ROCmSoftwarePlatform/hipRAND" git = "https://github.com/ROCmSoftwarePlatform/hipRAND.git" - url = "https://github.com/ROCmSoftwarePlatform/hipRAND/archive/rocm-5.5.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/hipRAND/archive/rocm-5.7.1.tar.gz" tags = ["rocm"] maintainers("cgmb", "srekolam", "renjithravindrankannath") @@ -22,6 +22,8 @@ class Hiprand(CMakePackage, CudaPackage, ROCmPackage): version("develop", branch="develop") version("master", branch="master") + version("5.7.1", sha256="81a9f5f0960dce125ce1ab1c7eb58bb07c8756346f9e46a1cc65aa61d5a114f8") + version("5.7.0", sha256="4dee76719839503b02ce7d38e1c61bbdb2da18da7f63a7ef7012c84c71aa0a9d") version("5.6.1", sha256="a73d5578bc7f8dff0b8960e4bff97bc4fc28f508a19ed6acd1cfd4d3e76b47ee") version("5.6.0", sha256="8c214e2f90337a5317a69950026bf337b1e567d43bb9ae64f2a802af2228c313") version("5.5.1", sha256="5df9d78eae0991be5ec9f60e8d3530fabc23793d9f9cf274b075d689675db04e") @@ -82,6 +84,8 @@ class Hiprand(CMakePackage, CudaPackage, ROCmPackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", "master", "develop", ]: diff --git a/var/spack/repos/builtin/packages/hipsolver/package.py b/var/spack/repos/builtin/packages/hipsolver/package.py index 1ef38160a6..f9c361708c 100644 --- a/var/spack/repos/builtin/packages/hipsolver/package.py +++ b/var/spack/repos/builtin/packages/hipsolver/package.py @@ -26,6 +26,8 @@ class Hipsolver(CMakePackage, CudaPackage, ROCmPackage): version("develop", branch="develop") version("master", branch="master") + version("5.7.1", sha256="5592e965c0dc5722931302289643d1ece370220af2c7afc58af97b3395295658") + version("5.7.0", sha256="0e35795bfbcb57ed8e8437471209fb7d230babcc31d9a4a0b3640c3ee639f4a7") version("5.6.1", sha256="2e546bc7771f7bf0aa7892b69cded725941573e8b70614759c3d03c21eb78dde") version("5.6.0", sha256="11fa51d210853d93d24d55b20367738e49711793412f58e8d7689710b92ae16c") version("5.5.1", sha256="826bd64a4887176595bb7319d9a3612e7327602efe1f42aa3f2ad0e783d1a180") @@ -109,6 +111,8 @@ class Hipsolver(CMakePackage, CudaPackage, ROCmPackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", "master", "develop", ]: diff --git a/var/spack/repos/builtin/packages/hipsparse/package.py b/var/spack/repos/builtin/packages/hipsparse/package.py index 696094cb5a..de33633f98 100644 --- a/var/spack/repos/builtin/packages/hipsparse/package.py +++ b/var/spack/repos/builtin/packages/hipsparse/package.py @@ -19,6 +19,9 @@ class Hipsparse(CMakePackage, CudaPackage, ROCmPackage): maintainers("cgmb", "srekolam", "renjithravindrankannath", "haampie") libraries = ["libhipsparse"] + + version("5.7.1", sha256="16c3818260611226c3576d8d55ad8f51e0890d2473503edf2c9313250ae65ca7") + version("5.7.0", sha256="729b749b5340034639873a99e6091963374f6f0456c8f36d076c96f03fe43888") version("5.6.1", sha256="d636d0c5d1e38cc0c09b1e95380199ec82bd465b94bd6661f0c8d9374d9b565d") version("5.6.0", sha256="3a6931b744ebaa4469a4c50d059a008403e4dc2a4f04dd69c3c6d20916b4a491") version("5.5.1", sha256="3d291e4fe2c611d555e54de66149b204fe7ac59f5dd00a9ad93bc6dca0528880") @@ -153,6 +156,8 @@ class Hipsparse(CMakePackage, CudaPackage, ROCmPackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) depends_on("rocsparse@" + ver, when="+rocm @" + ver) 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 d6e42a83fc..b63b27eced 100644 --- a/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py +++ b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py @@ -24,6 +24,8 @@ class HsaRocrDev(CMakePackage): libraries = ["libhsa-runtime64"] version("master", branch="master") + version("5.7.1", sha256="655e9bfef4b0b6ad3f9b89c934dc0a8377273bb0bccbda6c399ac5d5d2c1c04c") + version("5.7.0", sha256="2c56ec5c78a36f2b847afd4632cb25dbf6ecc58661eb2ae038c2552342e6ce23") version("5.6.1", sha256="4de9a57c2092edf9398d671c8a2c60626eb7daf358caf710da70d9c105490221") version("5.6.0", sha256="30875d440df9d8481ffb24d87755eae20a0efc1114849a72619ea954f1e9206c") version("5.5.1", sha256="53d84ad5ba5086ed4ad67ad892c52c0e4eba8ddfa85c2dd341bf825f4d5fe4ee") @@ -110,6 +112,7 @@ class HsaRocrDev(CMakePackage): variant("shared", default=True, description="Build shared or static library") variant("image", default=True, description="build with or without image support") + variant("asan", default=False, description="Build with address-sanitizer enabled or disabled") depends_on("cmake@3:", type="build") depends_on("pkgconfig", type="build", when="@5.3.0:") @@ -149,6 +152,8 @@ class HsaRocrDev(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", "master", ]: depends_on("hsakmt-roct@" + ver, when="@" + ver) @@ -157,7 +162,8 @@ class HsaRocrDev(CMakePackage): depends_on( "rocm-device-libs@" + ver, when="@{0} ^llvm-amdgpu ~rocm-device-libs".format(ver) ) - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + ver) # Both 3.5.0 and 3.7.0 force INSTALL_RPATH in different ways diff --git a/var/spack/repos/builtin/packages/hsakmt-roct/package.py b/var/spack/repos/builtin/packages/hsakmt-roct/package.py index 444f7adcc1..1ac23a423b 100644 --- a/var/spack/repos/builtin/packages/hsakmt-roct/package.py +++ b/var/spack/repos/builtin/packages/hsakmt-roct/package.py @@ -22,6 +22,8 @@ class HsakmtRoct(CMakePackage): maintainers("srekolam", "renjithravindrankannath") version("master", branch="master") + version("5.7.1", sha256="38bc3732886a52ca9cd477ec6fcde3ab17a0ba5dc8e2f7ac34c4de597bd00e8b") + version("5.7.0", sha256="52293e40c4ba0c653d796e2f6109f5fb4c79f5fb82310ecbfd9a5432acf9da43") version("5.6.1", sha256="d60b355bfd21a08e0e36270fd56f98d052c3c6edca47da887fa32bf32759c29b") version("5.6.0", sha256="cd009c5c09f664f046c428ba9843582ab468f7b88d560747eb949d8d7f8c5567") version("5.5.1", sha256="4ffde3fc1f91f24cdbf09263fd8e012a3995ad10854f4c1d866beab7b9f36bf4") @@ -107,6 +109,7 @@ class HsakmtRoct(CMakePackage): ) variant("shared", default=True, description="Build shared or static library") + variant("asan", default=False, description="Build with address-sanitizer enabled or disabled") depends_on("pkgconfig", type="build", when="@4.5.0:") depends_on("cmake@3:", type="build") @@ -116,7 +119,7 @@ class HsakmtRoct(CMakePackage): for ver in ["5.3.0", "5.4.0", "5.4.3"]: depends_on("llvm-amdgpu@" + ver, type="test", when="@" + ver) - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + ver) depends_on("llvm-amdgpu@" + ver, type="test", when="@" + ver) @@ -140,6 +143,9 @@ class HsakmtRoct(CMakePackage): args.append(self.define("BUILD_SHARED_LIBS", False)) if self.spec.satisfies("@5.4.3:"): args.append("-DCMAKE_INSTALL_LIBDIR=lib") + if self.spec.satisfies("@5.7.0:"): + args.append(self.define_from_variant("ADDRESS_SANITIZER", "asan")) + return args @run_after("install") diff --git a/var/spack/repos/builtin/packages/kokkos/package.py b/var/spack/repos/builtin/packages/kokkos/package.py index 174e059c85..de82620c2c 100644 --- a/var/spack/repos/builtin/packages/kokkos/package.py +++ b/var/spack/repos/builtin/packages/kokkos/package.py @@ -159,6 +159,7 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage): "gfx942": "amd_gfx942", "gfx1030": "navi1030", "gfx1100": "navi1100", + "gfx942": "amd_gfx942", } amd_support_conflict_msg = ( "{0} is not supported; " diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/0001-update-HIP_PATH-deduction-for-5.7.0.patch b/var/spack/repos/builtin/packages/llvm-amdgpu/0001-update-HIP_PATH-deduction-for-5.7.0.patch new file mode 100644 index 0000000000..98a3e38387 --- /dev/null +++ b/var/spack/repos/builtin/packages/llvm-amdgpu/0001-update-HIP_PATH-deduction-for-5.7.0.patch @@ -0,0 +1,56 @@ +From 520d86b859bd6640fbd7f22b6a326a3b040c3671 Mon Sep 17 00:00:00 2001 +From: sreenivasa murthy kolam +Date: Thu, 23 Nov 2023 09:31:49 +0000 +Subject: [PATCH] update HIP_PATH deduction for 5.7.0 + +--- + clang/lib/Driver/ToolChains/AMDGPU.cpp | 20 ++++++++++++++++---- + 1 file changed, 16 insertions(+), 4 deletions(-) + +diff --git a/clang/lib/Driver/ToolChains/AMDGPU.cpp b/clang/lib/Driver/ToolChains/AMDGPU.cpp +index fe36646..8706f08 100644 +--- a/clang/lib/Driver/ToolChains/AMDGPU.cpp ++++ b/clang/lib/Driver/ToolChains/AMDGPU.cpp +@@ -437,12 +437,13 @@ void RocmInstallationDetector::detectDeviceLibrary() { + void RocmInstallationDetector::detectHIPRuntime() { + SmallVector HIPSearchDirs; + if (!HIPPathArg.empty()) +- HIPSearchDirs.emplace_back(HIPPathArg.str(), /*StrictChecking=*/true); ++ HIPSearchDirs.emplace_back(HIPPathArg.str()); + else if (std::optional HIPPathEnv = + llvm::sys::Process::GetEnv("HIP_PATH")) { + if (!HIPPathEnv->empty()) + HIPSearchDirs.emplace_back(std::move(*HIPPathEnv)); +- } else ++ } ++ if (HIPSearchDirs.empty()) + HIPSearchDirs.append(getInstallationPathCandidates()); + auto &FS = D.getVFS(); + +@@ -464,10 +465,21 @@ void RocmInstallationDetector::detectHIPRuntime() { + SharePath = InstallPath; + llvm::sys::path::append(SharePath, "share"); + ++ // Get parent of InstallPath and append "share" ++ SmallString<0> ParentSharePath = llvm::sys::path::parent_path(InstallPath); ++ llvm::sys::path::append(ParentSharePath, "share"); ++ ++ auto Append = [](SmallString<0> &path, const Twine &a, const Twine &b = "", ++ const Twine &c = "", const Twine &d = "") { ++ SmallString<0> newpath = path; ++ llvm::sys::path::append(newpath, a, b, c, d); ++ return newpath; ++ }; + // If HIP version file can be found and parsed, use HIP version from there. + for (const auto &VersionFilePath : +- {std::string(SharePath) + "/hip/version", +- std::string(BinPath) + "/.hipVersion"}) { ++ {Append(SharePath, "hip", "version"), ++ Append(ParentSharePath, "hip", "version"), ++ Append(BinPath, ".hipVersion")}) { + llvm::ErrorOr> VersionFile = + FS.getBufferForFile(VersionFilePath); + if (!VersionFile) +-- +2.39.3 + diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/001-Add-i1-mul-patterns-5.7.patch b/var/spack/repos/builtin/packages/llvm-amdgpu/001-Add-i1-mul-patterns-5.7.patch new file mode 100644 index 0000000000..52ee52cc59 --- /dev/null +++ b/var/spack/repos/builtin/packages/llvm-amdgpu/001-Add-i1-mul-patterns-5.7.patch @@ -0,0 +1,671 @@ +From 92c7d307a51fc0e6c7cbd2b760014ae77bdc0a3f Mon Sep 17 00:00:00 2001 +From: Renjith Ravindran +Date: Fri, 3 Nov 2023 02:58:08 +0000 +Subject: [PATCH] Upcoming fix from PR 67291 + +--- + llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 2 + + llvm/test/CodeGen/AMDGPU/mul.ll | 400 ++++++++++++++++++---- + 2 files changed, 326 insertions(+), 76 deletions(-) + +diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp +index 3f816c01a..30129fb4a 100644 +--- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp ++++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp +@@ -743,6 +743,8 @@ SITargetLowering::SITargetLowering(const TargetMachine &TM, + MVT::i8}, + Custom); + ++ setOperationAction(ISD::MUL, MVT::i1, Promote); ++ + setTargetDAGCombine({ISD::ADD, + ISD::ADDCARRY, + ISD::SUB, +diff --git a/llvm/test/CodeGen/AMDGPU/mul.ll b/llvm/test/CodeGen/AMDGPU/mul.ll +index 68c8f7d58..ed930e429 100644 +--- a/llvm/test/CodeGen/AMDGPU/mul.ll ++++ b/llvm/test/CodeGen/AMDGPU/mul.ll +@@ -1058,6 +1058,254 @@ entry: + store i32 %result, ptr addrspace(1) %out + ret void + } ++define amdgpu_kernel void @s_mul_i1(ptr addrspace(1) %out, [8 x i32], i1 %a, [8 x i32], i1 %b) nounwind { ++; SI-LABEL: s_mul_i1: ++; SI: ; %bb.0: ; %entry ++; SI-NEXT: s_load_dword s4, s[0:1], 0x13 ++; SI-NEXT: s_load_dword s5, s[0:1], 0x1c ++; SI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x9 ++; SI-NEXT: s_mov_b32 s3, 0xf000 ++; SI-NEXT: s_mov_b32 s2, -1 ++; SI-NEXT: s_waitcnt lgkmcnt(0) ++; SI-NEXT: s_mul_i32 s4, s4, s5 ++; SI-NEXT: s_and_b32 s4, s4, 1 ++; SI-NEXT: v_mov_b32_e32 v0, s4 ++; SI-NEXT: buffer_store_byte v0, off, s[0:3], 0 ++; SI-NEXT: s_endpgm ++; ++; VI-LABEL: s_mul_i1: ++; VI: ; %bb.0: ; %entry ++; VI-NEXT: s_load_dword s4, s[0:1], 0x70 ++; VI-NEXT: s_load_dword s5, s[0:1], 0x4c ++; VI-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24 ++; VI-NEXT: s_mov_b32 s3, 0xf000 ++; VI-NEXT: s_mov_b32 s2, -1 ++; VI-NEXT: s_waitcnt lgkmcnt(0) ++; VI-NEXT: v_mov_b32_e32 v0, s4 ++; VI-NEXT: v_mul_lo_u16_e32 v0, s5, v0 ++; VI-NEXT: v_and_b32_e32 v0, 1, v0 ++; VI-NEXT: buffer_store_byte v0, off, s[0:3], 0 ++; VI-NEXT: s_endpgm ++; ++; GFX9-LABEL: s_mul_i1: ++; GFX9: ; %bb.0: ; %entry ++; GFX9-NEXT: s_load_dword s2, s[0:1], 0x70 ++; GFX9-NEXT: s_load_dword s3, s[0:1], 0x4c ++; GFX9-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x24 ++; GFX9-NEXT: s_mov_b32 s7, 0xf000 ++; GFX9-NEXT: s_mov_b32 s6, -1 ++; GFX9-NEXT: s_waitcnt lgkmcnt(0) ++; GFX9-NEXT: v_mov_b32_e32 v0, s2 ++; GFX9-NEXT: v_mul_lo_u16_e32 v0, s3, v0 ++; GFX9-NEXT: v_and_b32_e32 v0, 1, v0 ++; GFX9-NEXT: buffer_store_byte v0, off, s[4:7], 0 ++; GFX9-NEXT: s_endpgm ++; ++; GFX10-LABEL: s_mul_i1: ++; GFX10: ; %bb.0: ; %entry ++; GFX10-NEXT: s_clause 0x2 ++; GFX10-NEXT: s_load_dword s2, s[0:1], 0x4c ++; GFX10-NEXT: s_load_dword s3, s[0:1], 0x70 ++; GFX10-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x24 ++; GFX10-NEXT: s_mov_b32 s7, 0x31016000 ++; GFX10-NEXT: s_mov_b32 s6, -1 ++; GFX10-NEXT: s_waitcnt lgkmcnt(0) ++; GFX10-NEXT: v_mul_lo_u16 v0, s2, s3 ++; GFX10-NEXT: v_and_b32_e32 v0, 1, v0 ++; GFX10-NEXT: buffer_store_byte v0, off, s[4:7], 0 ++; GFX10-NEXT: s_endpgm ++; ++; GFX11-LABEL: s_mul_i1: ++; GFX11: ; %bb.0: ; %entry ++; GFX11-NEXT: s_clause 0x2 ++; GFX11-NEXT: s_load_b32 s2, s[0:1], 0x4c ++; GFX11-NEXT: s_load_b32 s3, s[0:1], 0x70 ++; GFX11-NEXT: s_load_b64 s[0:1], s[0:1], 0x24 ++; GFX11-NEXT: s_waitcnt lgkmcnt(0) ++; GFX11-NEXT: v_mul_lo_u16 v0, s2, s3 ++; GFX11-NEXT: s_mov_b32 s3, 0x31016000 ++; GFX11-NEXT: s_mov_b32 s2, -1 ++; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) ++; GFX11-NEXT: v_and_b32_e32 v0, 1, v0 ++; GFX11-NEXT: buffer_store_b8 v0, off, s[0:3], 0 ++; GFX11-NEXT: s_nop 0 ++; GFX11-NEXT: s_sendmsg sendmsg(MSG_DEALLOC_VGPRS) ++; GFX11-NEXT: s_endpgm ++; ++; EG-LABEL: s_mul_i1: ++; EG: ; %bb.0: ; %entry ++; EG-NEXT: ALU 0, @10, KC0[], KC1[] ++; EG-NEXT: TEX 1 @6 ++; EG-NEXT: ALU 12, @11, KC0[CB0:0-32], KC1[] ++; EG-NEXT: MEM_RAT MSKOR T0.XW, T1.X ++; EG-NEXT: CF_END ++; EG-NEXT: PAD ++; EG-NEXT: Fetch clause starting at 6: ++; EG-NEXT: VTX_READ_8 T1.X, T0.X, 72, #3 ++; EG-NEXT: VTX_READ_8 T0.X, T0.X, 108, #3 ++; EG-NEXT: ALU clause starting at 10: ++; EG-NEXT: MOV * T0.X, 0.0, ++; EG-NEXT: ALU clause starting at 11: ++; EG-NEXT: AND_INT T0.W, KC0[2].Y, literal.x, ++; EG-NEXT: MULLO_INT * T0.X, T1.X, T0.X, ++; EG-NEXT: 3(4.203895e-45), 0(0.000000e+00) ++; EG-NEXT: AND_INT T1.W, PS, 1, ++; EG-NEXT: LSHL * T0.W, PV.W, literal.x, ++; EG-NEXT: 3(4.203895e-45), 0(0.000000e+00) ++; EG-NEXT: LSHL T0.X, PV.W, PS, ++; EG-NEXT: LSHL * T0.W, literal.x, PS, ++; EG-NEXT: 255(3.573311e-43), 0(0.000000e+00) ++; EG-NEXT: MOV T0.Y, 0.0, ++; EG-NEXT: MOV * T0.Z, 0.0, ++; EG-NEXT: LSHR * T1.X, KC0[2].Y, literal.x, ++; EG-NEXT: 2(2.802597e-45), 0(0.000000e+00) ++entry: ++ %mul = mul i1 %a, %b ++ store i1 %mul, ptr addrspace(1) %out, align 4 ++ ret void ++} ++ ++define amdgpu_kernel void @v_mul_i1(ptr addrspace(1) %out, ptr addrspace(1) %in) { ++; SI-LABEL: v_mul_i1: ++; SI: ; %bb.0: ; %entry ++; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9 ++; SI-NEXT: s_mov_b32 s7, 0xf000 ++; SI-NEXT: s_mov_b32 s6, -1 ++; SI-NEXT: s_mov_b32 s10, s6 ++; SI-NEXT: s_mov_b32 s11, s7 ++; SI-NEXT: s_waitcnt lgkmcnt(0) ++; SI-NEXT: s_mov_b32 s8, s2 ++; SI-NEXT: s_mov_b32 s9, s3 ++; SI-NEXT: buffer_load_ubyte v0, off, s[8:11], 0 ++; SI-NEXT: buffer_load_ubyte v1, off, s[8:11], 0 offset:4 ++; SI-NEXT: s_mov_b32 s4, s0 ++; SI-NEXT: s_mov_b32 s5, s1 ++; SI-NEXT: s_waitcnt vmcnt(0) ++; SI-NEXT: v_mul_lo_u32 v0, v0, v1 ++; SI-NEXT: v_and_b32_e32 v0, 1, v0 ++; SI-NEXT: buffer_store_byte v0, off, s[4:7], 0 ++; SI-NEXT: s_endpgm ++; ++; VI-LABEL: v_mul_i1: ++; VI: ; %bb.0: ; %entry ++; VI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x24 ++; VI-NEXT: s_mov_b32 s7, 0xf000 ++; VI-NEXT: s_mov_b32 s6, -1 ++; VI-NEXT: s_mov_b32 s10, s6 ++; VI-NEXT: s_mov_b32 s11, s7 ++; VI-NEXT: s_waitcnt lgkmcnt(0) ++; VI-NEXT: s_mov_b32 s8, s2 ++; VI-NEXT: s_mov_b32 s9, s3 ++; VI-NEXT: buffer_load_ubyte v0, off, s[8:11], 0 ++; VI-NEXT: buffer_load_ubyte v1, off, s[8:11], 0 offset:4 ++; VI-NEXT: s_mov_b32 s4, s0 ++; VI-NEXT: s_mov_b32 s5, s1 ++; VI-NEXT: s_waitcnt vmcnt(0) ++; VI-NEXT: v_mul_lo_u16_e32 v0, v0, v1 ++; VI-NEXT: v_and_b32_e32 v0, 1, v0 ++; VI-NEXT: buffer_store_byte v0, off, s[4:7], 0 ++; VI-NEXT: s_endpgm ++; ++; GFX9-LABEL: v_mul_i1: ++; GFX9: ; %bb.0: ; %entry ++; GFX9-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x24 ++; GFX9-NEXT: s_mov_b32 s7, 0xf000 ++; GFX9-NEXT: s_mov_b32 s6, -1 ++; GFX9-NEXT: s_mov_b32 s10, s6 ++; GFX9-NEXT: s_mov_b32 s11, s7 ++; GFX9-NEXT: s_waitcnt lgkmcnt(0) ++; GFX9-NEXT: s_mov_b32 s8, s2 ++; GFX9-NEXT: s_mov_b32 s9, s3 ++; GFX9-NEXT: buffer_load_ubyte v0, off, s[8:11], 0 ++; GFX9-NEXT: buffer_load_ubyte v1, off, s[8:11], 0 offset:4 ++; GFX9-NEXT: s_mov_b32 s4, s0 ++; GFX9-NEXT: s_mov_b32 s5, s1 ++; GFX9-NEXT: s_waitcnt vmcnt(0) ++; GFX9-NEXT: v_mul_lo_u16_e32 v0, v0, v1 ++; GFX9-NEXT: v_and_b32_e32 v0, 1, v0 ++; GFX9-NEXT: buffer_store_byte v0, off, s[4:7], 0 ++; GFX9-NEXT: s_endpgm ++; ++; GFX10-LABEL: v_mul_i1: ++; GFX10: ; %bb.0: ; %entry ++; GFX10-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x24 ++; GFX10-NEXT: s_mov_b32 s6, -1 ++; GFX10-NEXT: s_mov_b32 s7, 0x31016000 ++; GFX10-NEXT: s_mov_b32 s10, s6 ++; GFX10-NEXT: s_mov_b32 s11, s7 ++; GFX10-NEXT: s_waitcnt lgkmcnt(0) ++; GFX10-NEXT: s_mov_b32 s8, s2 ++; GFX10-NEXT: s_mov_b32 s9, s3 ++; GFX10-NEXT: s_clause 0x1 ++; GFX10-NEXT: buffer_load_ubyte v0, off, s[8:11], 0 ++; GFX10-NEXT: buffer_load_ubyte v1, off, s[8:11], 0 offset:4 ++; GFX10-NEXT: s_mov_b32 s4, s0 ++; GFX10-NEXT: s_mov_b32 s5, s1 ++; GFX10-NEXT: s_waitcnt vmcnt(0) ++; GFX10-NEXT: v_mul_lo_u16 v0, v0, v1 ++; GFX10-NEXT: v_and_b32_e32 v0, 1, v0 ++; GFX10-NEXT: buffer_store_byte v0, off, s[4:7], 0 ++; GFX10-NEXT: s_endpgm ++; ++; GFX11-LABEL: v_mul_i1: ++; GFX11: ; %bb.0: ; %entry ++; GFX11-NEXT: s_load_b128 s[0:3], s[0:1], 0x24 ++; GFX11-NEXT: s_mov_b32 s6, -1 ++; GFX11-NEXT: s_mov_b32 s7, 0x31016000 ++; GFX11-NEXT: s_mov_b32 s10, s6 ++; GFX11-NEXT: s_mov_b32 s11, s7 ++; GFX11-NEXT: s_waitcnt lgkmcnt(0) ++; GFX11-NEXT: s_mov_b32 s8, s2 ++; GFX11-NEXT: s_mov_b32 s9, s3 ++; GFX11-NEXT: s_clause 0x1 ++; GFX11-NEXT: buffer_load_u8 v0, off, s[8:11], 0 ++; GFX11-NEXT: buffer_load_u8 v1, off, s[8:11], 0 offset:4 ++; GFX11-NEXT: s_mov_b32 s4, s0 ++; GFX11-NEXT: s_mov_b32 s5, s1 ++; GFX11-NEXT: s_waitcnt vmcnt(0) ++; GFX11-NEXT: v_mul_lo_u16 v0, v0, v1 ++; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) ++; GFX11-NEXT: v_and_b32_e32 v0, 1, v0 ++; GFX11-NEXT: buffer_store_b8 v0, off, s[4:7], 0 ++; GFX11-NEXT: s_nop 0 ++; GFX11-NEXT: s_sendmsg sendmsg(MSG_DEALLOC_VGPRS) ++; GFX11-NEXT: s_endpgm ++; ++; EG-LABEL: v_mul_i1: ++; EG: ; %bb.0: ; %entry ++; EG-NEXT: ALU 0, @10, KC0[CB0:0-32], KC1[] ++; EG-NEXT: TEX 1 @6 ++; EG-NEXT: ALU 12, @11, KC0[CB0:0-32], KC1[] ++; EG-NEXT: MEM_RAT MSKOR T0.XW, T1.X ++; EG-NEXT: CF_END ++; EG-NEXT: PAD ++; EG-NEXT: Fetch clause starting at 6: ++; EG-NEXT: VTX_READ_8 T1.X, T0.X, 4, #1 ++; EG-NEXT: VTX_READ_8 T0.X, T0.X, 0, #1 ++; EG-NEXT: ALU clause starting at 10: ++; EG-NEXT: MOV * T0.X, KC0[2].Z, ++; EG-NEXT: ALU clause starting at 11: ++; EG-NEXT: AND_INT T0.W, KC0[2].Y, literal.x, ++; EG-NEXT: MULLO_INT * T0.X, T0.X, T1.X, ++; EG-NEXT: 3(4.203895e-45), 0(0.000000e+00) ++; EG-NEXT: AND_INT T1.W, PS, 1, ++; EG-NEXT: LSHL * T0.W, PV.W, literal.x, ++; EG-NEXT: 3(4.203895e-45), 0(0.000000e+00) ++; EG-NEXT: LSHL T0.X, PV.W, PS, ++; EG-NEXT: LSHL * T0.W, literal.x, PS, ++; EG-NEXT: 255(3.573311e-43), 0(0.000000e+00) ++; EG-NEXT: MOV T0.Y, 0.0, ++; EG-NEXT: MOV * T0.Z, 0.0, ++; EG-NEXT: LSHR * T1.X, KC0[2].Y, literal.x, ++; EG-NEXT: 2(2.802597e-45), 0(0.000000e+00) ++entry: ++ %b_ptr = getelementptr i32, ptr addrspace(1) %in, i32 1 ++ %a = load i1, ptr addrspace(1) %in ++ %b = load i1, ptr addrspace(1) %b_ptr ++ %result = mul i1 %a, %b ++ store i1 %result, ptr addrspace(1) %out ++ ret void ++} + + ; A standard 64-bit multiply. The expansion should be around 6 instructions. + ; It would be difficult to match the expansion correctly without writing +@@ -1213,7 +1461,7 @@ define amdgpu_kernel void @v_mul_i64(ptr addrspace(1) %out, ptr addrspace(1) %ap + ; SI-NEXT: v_mul_hi_u32 v4, v2, v0 + ; SI-NEXT: v_mul_lo_u32 v3, v3, v0 + ; SI-NEXT: v_mul_lo_u32 v0, v2, v0 +-; SI-NEXT: v_add_i32_e32 v1, vcc, v4, v1 ++; SI-NEXT: v_add_i32_e32 v1, vcc, v1, v4 + ; SI-NEXT: v_add_i32_e32 v1, vcc, v3, v1 + ; SI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0 + ; SI-NEXT: s_endpgm +@@ -1367,30 +1615,30 @@ define amdgpu_kernel void @mul32_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; SI-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0xd + ; SI-NEXT: s_waitcnt lgkmcnt(0) + ; SI-NEXT: s_cmp_lg_u32 s2, 0 +-; SI-NEXT: s_cbranch_scc0 .LBB11_2 ++; SI-NEXT: s_cbranch_scc0 .LBB13_2 + ; SI-NEXT: ; %bb.1: ; %else + ; SI-NEXT: s_mul_i32 s6, s2, s3 + ; SI-NEXT: s_mov_b64 s[4:5], 0 +-; SI-NEXT: s_branch .LBB11_3 +-; SI-NEXT: .LBB11_2: ++; SI-NEXT: s_branch .LBB13_3 ++; SI-NEXT: .LBB13_2: + ; SI-NEXT: s_mov_b64 s[4:5], -1 + ; SI-NEXT: ; implicit-def: $sgpr6 +-; SI-NEXT: .LBB11_3: ; %Flow ++; SI-NEXT: .LBB13_3: ; %Flow + ; SI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9 + ; SI-NEXT: s_andn2_b64 vcc, exec, s[4:5] + ; SI-NEXT: s_waitcnt lgkmcnt(0) + ; SI-NEXT: s_mov_b64 vcc, vcc +-; SI-NEXT: s_cbranch_vccnz .LBB11_5 ++; SI-NEXT: s_cbranch_vccnz .LBB13_5 + ; SI-NEXT: ; %bb.4: ; %if + ; SI-NEXT: s_mov_b32 s7, 0xf000 + ; SI-NEXT: s_mov_b32 s6, -1 + ; SI-NEXT: s_mov_b32 s4, s2 + ; SI-NEXT: s_mov_b32 s5, s3 + ; SI-NEXT: buffer_load_dword v0, off, s[4:7], 0 +-; SI-NEXT: s_branch .LBB11_6 +-; SI-NEXT: .LBB11_5: ++; SI-NEXT: s_branch .LBB13_6 ++; SI-NEXT: .LBB13_5: + ; SI-NEXT: v_mov_b32_e32 v0, s6 +-; SI-NEXT: .LBB11_6: ; %endif ++; SI-NEXT: .LBB13_6: ; %endif + ; SI-NEXT: s_mov_b32 s3, 0xf000 + ; SI-NEXT: s_mov_b32 s2, -1 + ; SI-NEXT: s_waitcnt vmcnt(0) +@@ -1402,18 +1650,18 @@ define amdgpu_kernel void @mul32_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; VI-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x34 + ; VI-NEXT: s_waitcnt lgkmcnt(0) + ; VI-NEXT: s_cmp_lg_u32 s2, 0 +-; VI-NEXT: s_cbranch_scc0 .LBB11_2 ++; VI-NEXT: s_cbranch_scc0 .LBB13_2 + ; VI-NEXT: ; %bb.1: ; %else + ; VI-NEXT: s_mul_i32 s6, s2, s3 + ; VI-NEXT: s_mov_b64 s[4:5], 0 +-; VI-NEXT: s_branch .LBB11_3 +-; VI-NEXT: .LBB11_2: ++; VI-NEXT: s_branch .LBB13_3 ++; VI-NEXT: .LBB13_2: + ; VI-NEXT: s_mov_b64 s[4:5], -1 + ; VI-NEXT: ; implicit-def: $sgpr6 +-; VI-NEXT: .LBB11_3: ; %Flow ++; VI-NEXT: .LBB13_3: ; %Flow + ; VI-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x24 + ; VI-NEXT: s_andn2_b64 vcc, exec, s[4:5] +-; VI-NEXT: s_cbranch_vccnz .LBB11_5 ++; VI-NEXT: s_cbranch_vccnz .LBB13_5 + ; VI-NEXT: ; %bb.4: ; %if + ; VI-NEXT: s_mov_b32 s7, 0xf000 + ; VI-NEXT: s_mov_b32 s6, -1 +@@ -1421,10 +1669,10 @@ define amdgpu_kernel void @mul32_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; VI-NEXT: s_mov_b32 s4, s2 + ; VI-NEXT: s_mov_b32 s5, s3 + ; VI-NEXT: buffer_load_dword v0, off, s[4:7], 0 +-; VI-NEXT: s_branch .LBB11_6 +-; VI-NEXT: .LBB11_5: ++; VI-NEXT: s_branch .LBB13_6 ++; VI-NEXT: .LBB13_5: + ; VI-NEXT: v_mov_b32_e32 v0, s6 +-; VI-NEXT: .LBB11_6: ; %endif ++; VI-NEXT: .LBB13_6: ; %endif + ; VI-NEXT: s_waitcnt lgkmcnt(0) + ; VI-NEXT: s_mov_b32 s3, 0xf000 + ; VI-NEXT: s_mov_b32 s2, -1 +@@ -1437,18 +1685,18 @@ define amdgpu_kernel void @mul32_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; GFX9-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x34 + ; GFX9-NEXT: s_waitcnt lgkmcnt(0) + ; GFX9-NEXT: s_cmp_lg_u32 s2, 0 +-; GFX9-NEXT: s_cbranch_scc0 .LBB11_2 ++; GFX9-NEXT: s_cbranch_scc0 .LBB13_2 + ; GFX9-NEXT: ; %bb.1: ; %else + ; GFX9-NEXT: s_mul_i32 s6, s2, s3 + ; GFX9-NEXT: s_mov_b64 s[4:5], 0 +-; GFX9-NEXT: s_branch .LBB11_3 +-; GFX9-NEXT: .LBB11_2: ++; GFX9-NEXT: s_branch .LBB13_3 ++; GFX9-NEXT: .LBB13_2: + ; GFX9-NEXT: s_mov_b64 s[4:5], -1 + ; GFX9-NEXT: ; implicit-def: $sgpr6 +-; GFX9-NEXT: .LBB11_3: ; %Flow ++; GFX9-NEXT: .LBB13_3: ; %Flow + ; GFX9-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x24 + ; GFX9-NEXT: s_andn2_b64 vcc, exec, s[4:5] +-; GFX9-NEXT: s_cbranch_vccnz .LBB11_5 ++; GFX9-NEXT: s_cbranch_vccnz .LBB13_5 + ; GFX9-NEXT: ; %bb.4: ; %if + ; GFX9-NEXT: s_mov_b32 s7, 0xf000 + ; GFX9-NEXT: s_mov_b32 s6, -1 +@@ -1456,10 +1704,10 @@ define amdgpu_kernel void @mul32_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; GFX9-NEXT: s_mov_b32 s4, s2 + ; GFX9-NEXT: s_mov_b32 s5, s3 + ; GFX9-NEXT: buffer_load_dword v0, off, s[4:7], 0 +-; GFX9-NEXT: s_branch .LBB11_6 +-; GFX9-NEXT: .LBB11_5: ++; GFX9-NEXT: s_branch .LBB13_6 ++; GFX9-NEXT: .LBB13_5: + ; GFX9-NEXT: v_mov_b32_e32 v0, s6 +-; GFX9-NEXT: .LBB11_6: ; %endif ++; GFX9-NEXT: .LBB13_6: ; %endif + ; GFX9-NEXT: s_waitcnt lgkmcnt(0) + ; GFX9-NEXT: s_mov_b32 s3, 0xf000 + ; GFX9-NEXT: s_mov_b32 s2, -1 +@@ -1473,17 +1721,17 @@ define amdgpu_kernel void @mul32_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; GFX10-NEXT: s_mov_b32 s4, 0 + ; GFX10-NEXT: s_waitcnt lgkmcnt(0) + ; GFX10-NEXT: s_cmp_lg_u32 s2, 0 +-; GFX10-NEXT: s_cbranch_scc0 .LBB11_2 ++; GFX10-NEXT: s_cbranch_scc0 .LBB13_2 + ; GFX10-NEXT: ; %bb.1: ; %else + ; GFX10-NEXT: s_mul_i32 s5, s2, s3 +-; GFX10-NEXT: s_branch .LBB11_3 +-; GFX10-NEXT: .LBB11_2: ++; GFX10-NEXT: s_branch .LBB13_3 ++; GFX10-NEXT: .LBB13_2: + ; GFX10-NEXT: s_mov_b32 s4, -1 + ; GFX10-NEXT: ; implicit-def: $sgpr5 + ; GFX10-NEXT: .LBB11_3: ; %Flow + ; GFX10-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x24 + ; GFX10-NEXT: s_andn2_b32 vcc_lo, exec_lo, s4 +-; GFX10-NEXT: s_cbranch_vccnz .LBB11_5 ++; GFX10-NEXT: s_cbranch_vccnz .LBB13_5 + ; GFX10-NEXT: ; %bb.4: ; %if + ; GFX10-NEXT: s_mov_b32 s7, 0x31016000 + ; GFX10-NEXT: s_mov_b32 s6, -1 +@@ -1491,10 +1739,10 @@ define amdgpu_kernel void @mul32_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; GFX10-NEXT: s_mov_b32 s4, s2 + ; GFX10-NEXT: s_mov_b32 s5, s3 + ; GFX10-NEXT: buffer_load_dword v0, off, s[4:7], 0 +-; GFX10-NEXT: s_branch .LBB11_6 +-; GFX10-NEXT: .LBB11_5: ++; GFX10-NEXT: s_branch .LBB13_6 ++; GFX10-NEXT: .LBB13_5: + ; GFX10-NEXT: v_mov_b32_e32 v0, s5 +-; GFX10-NEXT: .LBB11_6: ; %endif ++; GFX10-NEXT: .LBB13_6: ; %endif + ; GFX10-NEXT: s_waitcnt lgkmcnt(0) + ; GFX10-NEXT: s_mov_b32 s3, 0x31016000 + ; GFX10-NEXT: s_mov_b32 s2, -1 +@@ -1508,17 +1756,17 @@ define amdgpu_kernel void @mul32_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; GFX11-NEXT: s_mov_b32 s4, 0 + ; GFX11-NEXT: s_waitcnt lgkmcnt(0) + ; GFX11-NEXT: s_cmp_lg_u32 s2, 0 +-; GFX11-NEXT: s_cbranch_scc0 .LBB11_2 ++; GFX11-NEXT: s_cbranch_scc0 .LBB13_2 + ; GFX11-NEXT: ; %bb.1: ; %else + ; GFX11-NEXT: s_mul_i32 s5, s2, s3 +-; GFX11-NEXT: s_branch .LBB11_3 +-; GFX11-NEXT: .LBB11_2: ++; GFX11-NEXT: s_branch .LBB13_3 ++; GFX11-NEXT: .LBB13_2: + ; GFX11-NEXT: s_mov_b32 s4, -1 + ; GFX11-NEXT: ; implicit-def: $sgpr5 +-; GFX11-NEXT: .LBB11_3: ; %Flow ++; GFX11-NEXT: .LBB13_3: ; %Flow + ; GFX11-NEXT: s_load_b128 s[0:3], s[0:1], 0x24 + ; GFX11-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s4 +-; GFX11-NEXT: s_cbranch_vccnz .LBB11_5 ++; GFX11-NEXT: s_cbranch_vccnz .LBB13_5 + ; GFX11-NEXT: ; %bb.4: ; %if + ; GFX11-NEXT: s_mov_b32 s7, 0x31016000 + ; GFX11-NEXT: s_mov_b32 s6, -1 +@@ -1526,10 +1774,10 @@ define amdgpu_kernel void @mul32_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; GFX11-NEXT: s_mov_b32 s4, s2 + ; GFX11-NEXT: s_mov_b32 s5, s3 + ; GFX11-NEXT: buffer_load_b32 v0, off, s[4:7], 0 +-; GFX11-NEXT: s_branch .LBB11_6 +-; GFX11-NEXT: .LBB11_5: ++; GFX11-NEXT: s_branch .LBB13_6 ++; GFX11-NEXT: .LBB13_5: + ; GFX11-NEXT: v_mov_b32_e32 v0, s5 +-; GFX11-NEXT: .LBB11_6: ; %endif ++; GFX11-NEXT: .LBB13_6: ; %endif + ; GFX11-NEXT: s_waitcnt lgkmcnt(0) + ; GFX11-NEXT: s_mov_b32 s3, 0x31016000 + ; GFX11-NEXT: s_mov_b32 s2, -1 +@@ -1601,7 +1849,7 @@ define amdgpu_kernel void @mul64_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; SI-NEXT: s_waitcnt lgkmcnt(0) + ; SI-NEXT: v_cmp_ne_u64_e64 s[10:11], s[4:5], 0 + ; SI-NEXT: s_and_b64 vcc, exec, s[10:11] +-; SI-NEXT: s_cbranch_vccz .LBB12_4 ++; SI-NEXT: s_cbranch_vccz .LBB14_4 + ; SI-NEXT: ; %bb.1: ; %else + ; SI-NEXT: v_mov_b32_e32 v0, s6 + ; SI-NEXT: v_mul_hi_u32 v0, s4, v0 +@@ -1612,22 +1860,22 @@ define amdgpu_kernel void @mul64_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; SI-NEXT: v_add_i32_e32 v1, vcc, s5, v0 + ; SI-NEXT: v_mov_b32_e32 v0, s4 + ; SI-NEXT: s_andn2_b64 vcc, exec, s[8:9] +-; SI-NEXT: s_cbranch_vccnz .LBB12_3 +-; SI-NEXT: .LBB12_2: ; %if ++; SI-NEXT: s_cbranch_vccnz .LBB14_3 ++; SI-NEXT: .LBB14_2: ; %if + ; SI-NEXT: s_mov_b32 s7, 0xf000 + ; SI-NEXT: s_mov_b32 s6, -1 + ; SI-NEXT: s_mov_b32 s4, s2 + ; SI-NEXT: s_mov_b32 s5, s3 + ; SI-NEXT: buffer_load_dwordx2 v[0:1], off, s[4:7], 0 +-; SI-NEXT: .LBB12_3: ; %endif ++; SI-NEXT: .LBB14_3: ; %endif + ; SI-NEXT: s_mov_b32 s3, 0xf000 + ; SI-NEXT: s_mov_b32 s2, -1 + ; SI-NEXT: s_waitcnt vmcnt(0) + ; SI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0 + ; SI-NEXT: s_endpgm +-; SI-NEXT: .LBB12_4: ++; SI-NEXT: .LBB14_4: + ; SI-NEXT: ; implicit-def: $vgpr0_vgpr1 +-; SI-NEXT: s_branch .LBB12_2 ++; SI-NEXT: s_branch .LBB14_2 + ; + ; VI-LABEL: mul64_in_branch: + ; VI: ; %bb.0: ; %entry +@@ -1635,7 +1883,7 @@ define amdgpu_kernel void @mul64_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; VI-NEXT: s_mov_b64 s[8:9], 0 + ; VI-NEXT: s_waitcnt lgkmcnt(0) + ; VI-NEXT: s_cmp_lg_u64 s[4:5], 0 +-; VI-NEXT: s_cbranch_scc0 .LBB12_4 ++; VI-NEXT: s_cbranch_scc0 .LBB14_4 + ; VI-NEXT: ; %bb.1: ; %else + ; VI-NEXT: v_mov_b32_e32 v0, s6 + ; VI-NEXT: v_mad_u64_u32 v[0:1], s[10:11], s4, v0, 0 +@@ -1644,22 +1892,22 @@ define amdgpu_kernel void @mul64_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; VI-NEXT: s_mul_i32 s4, s5, s6 + ; VI-NEXT: v_add_u32_e32 v1, vcc, s4, v1 + ; VI-NEXT: s_andn2_b64 vcc, exec, s[8:9] +-; VI-NEXT: s_cbranch_vccnz .LBB12_3 +-; VI-NEXT: .LBB12_2: ; %if ++; VI-NEXT: s_cbranch_vccnz .LBB14_3 ++; VI-NEXT: .LBB14_2: ; %if + ; VI-NEXT: s_mov_b32 s7, 0xf000 + ; VI-NEXT: s_mov_b32 s6, -1 + ; VI-NEXT: s_mov_b32 s4, s2 + ; VI-NEXT: s_mov_b32 s5, s3 + ; VI-NEXT: buffer_load_dwordx2 v[0:1], off, s[4:7], 0 +-; VI-NEXT: .LBB12_3: ; %endif ++; VI-NEXT: .LBB14_3: ; %endif + ; VI-NEXT: s_mov_b32 s3, 0xf000 + ; VI-NEXT: s_mov_b32 s2, -1 + ; VI-NEXT: s_waitcnt vmcnt(0) + ; VI-NEXT: buffer_store_dwordx2 v[0:1], off, s[0:3], 0 + ; VI-NEXT: s_endpgm +-; VI-NEXT: .LBB12_4: ++; VI-NEXT: .LBB14_4: + ; VI-NEXT: ; implicit-def: $vgpr0_vgpr1 +-; VI-NEXT: s_branch .LBB12_2 ++; VI-NEXT: s_branch .LBB14_2 + ; + ; GFX9-LABEL: mul64_in_branch: + ; GFX9: ; %bb.0: ; %entry +@@ -1667,7 +1915,7 @@ define amdgpu_kernel void @mul64_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; GFX9-NEXT: s_mov_b64 s[8:9], 0 + ; GFX9-NEXT: s_waitcnt lgkmcnt(0) + ; GFX9-NEXT: s_cmp_lg_u64 s[4:5], 0 +-; GFX9-NEXT: s_cbranch_scc0 .LBB12_3 ++; GFX9-NEXT: s_cbranch_scc0 .LBB14_3 + ; GFX9-NEXT: ; %bb.1: ; %else + ; GFX9-NEXT: s_mul_i32 s7, s4, s7 + ; GFX9-NEXT: s_mul_hi_u32 s10, s4, s6 +@@ -1676,21 +1924,21 @@ define amdgpu_kernel void @mul64_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; GFX9-NEXT: s_add_i32 s5, s7, s5 + ; GFX9-NEXT: s_mul_i32 s4, s4, s6 + ; GFX9-NEXT: s_andn2_b64 vcc, exec, s[8:9] +-; GFX9-NEXT: s_cbranch_vccnz .LBB12_4 +-; GFX9-NEXT: .LBB12_2: ; %if ++; GFX9-NEXT: s_cbranch_vccnz .LBB14_4 ++; GFX9-NEXT: .LBB14_2: ; %if + ; GFX9-NEXT: s_mov_b32 s7, 0xf000 + ; GFX9-NEXT: s_mov_b32 s6, -1 + ; GFX9-NEXT: s_mov_b32 s4, s2 + ; GFX9-NEXT: s_mov_b32 s5, s3 + ; GFX9-NEXT: buffer_load_dwordx2 v[0:1], off, s[4:7], 0 +-; GFX9-NEXT: s_branch .LBB12_5 +-; GFX9-NEXT: .LBB12_3: ++; GFX9-NEXT: s_branch .LBB14_5 ++; GFX9-NEXT: .LBB14_3: + ; GFX9-NEXT: ; implicit-def: $sgpr4_sgpr5 +-; GFX9-NEXT: s_branch .LBB12_2 +-; GFX9-NEXT: .LBB12_4: ++; GFX9-NEXT: s_branch .LBB14_2 ++; GFX9-NEXT: .LBB14_4: + ; GFX9-NEXT: v_mov_b32_e32 v0, s4 + ; GFX9-NEXT: v_mov_b32_e32 v1, s5 +-; GFX9-NEXT: .LBB12_5: ; %endif ++; GFX9-NEXT: .LBB14_5: ; %endif + ; GFX9-NEXT: s_mov_b32 s3, 0xf000 + ; GFX9-NEXT: s_mov_b32 s2, -1 + ; GFX9-NEXT: s_waitcnt vmcnt(0) +@@ -1702,7 +1950,7 @@ define amdgpu_kernel void @mul64_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; GFX10-NEXT: s_load_dwordx8 s[0:7], s[0:1], 0x24 + ; GFX10-NEXT: s_waitcnt lgkmcnt(0) + ; GFX10-NEXT: s_cmp_lg_u64 s[4:5], 0 +-; GFX10-NEXT: s_cbranch_scc0 .LBB12_3 ++; GFX10-NEXT: s_cbranch_scc0 .LBB14_3 + ; GFX10-NEXT: ; %bb.1: ; %else + ; GFX10-NEXT: s_mul_i32 s7, s4, s7 + ; GFX10-NEXT: s_mul_hi_u32 s8, s4, s6 +@@ -1711,22 +1959,22 @@ define amdgpu_kernel void @mul64_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; GFX10-NEXT: s_mul_i32 s4, s4, s6 + ; GFX10-NEXT: s_add_i32 s5, s7, s5 + ; GFX10-NEXT: s_mov_b32 s6, 0 +-; GFX10-NEXT: s_cbranch_execnz .LBB12_4 +-; GFX10-NEXT: .LBB12_2: ; %if ++; GFX10-NEXT: s_cbranch_execnz .LBB14_4 ++; GFX10-NEXT: .LBB14_2: ; %if + ; GFX10-NEXT: s_mov_b32 s7, 0x31016000 + ; GFX10-NEXT: s_mov_b32 s6, -1 + ; GFX10-NEXT: s_mov_b32 s4, s2 + ; GFX10-NEXT: s_mov_b32 s5, s3 + ; GFX10-NEXT: buffer_load_dwordx2 v[0:1], off, s[4:7], 0 +-; GFX10-NEXT: s_branch .LBB12_5 +-; GFX10-NEXT: .LBB12_3: ++; GFX10-NEXT: s_branch .LBB14_5 ++; GFX10-NEXT: .LBB14_3: + ; GFX10-NEXT: s_mov_b32 s6, -1 + ; GFX10-NEXT: ; implicit-def: $sgpr4_sgpr5 +-; GFX10-NEXT: s_branch .LBB12_2 +-; GFX10-NEXT: .LBB12_4: ++; GFX10-NEXT: s_branch .LBB14_2 ++; GFX10-NEXT: .LBB14_4: + ; GFX10-NEXT: v_mov_b32_e32 v0, s4 + ; GFX10-NEXT: v_mov_b32_e32 v1, s5 +-; GFX10-NEXT: .LBB12_5: ; %endif ++; GFX10-NEXT: .LBB14_5: ; %endif + ; GFX10-NEXT: s_mov_b32 s3, 0x31016000 + ; GFX10-NEXT: s_mov_b32 s2, -1 + ; GFX10-NEXT: s_waitcnt vmcnt(0) +@@ -1738,7 +1986,7 @@ define amdgpu_kernel void @mul64_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; GFX11-NEXT: s_load_b256 s[0:7], s[0:1], 0x24 + ; GFX11-NEXT: s_waitcnt lgkmcnt(0) + ; GFX11-NEXT: s_cmp_lg_u64 s[4:5], 0 +-; GFX11-NEXT: s_cbranch_scc0 .LBB12_3 ++; GFX11-NEXT: s_cbranch_scc0 .LBB14_3 + ; GFX11-NEXT: ; %bb.1: ; %else + ; GFX11-NEXT: s_mul_i32 s7, s4, s7 + ; GFX11-NEXT: s_mul_hi_u32 s8, s4, s6 +@@ -1747,21 +1995,21 @@ define amdgpu_kernel void @mul64_in_branch(ptr addrspace(1) %out, ptr addrspace( + ; GFX11-NEXT: s_mul_i32 s4, s4, s6 + ; GFX11-NEXT: s_add_i32 s5, s7, s5 + ; GFX11-NEXT: s_mov_b32 s6, 0 +-; GFX11-NEXT: s_cbranch_execnz .LBB12_4 +-; GFX11-NEXT: .LBB12_2: ; %if ++; GFX11-NEXT: s_cbranch_execnz .LBB14_4 ++; GFX11-NEXT: .LBB14_2: ; %if + ; GFX11-NEXT: s_mov_b32 s7, 0x31016000 + ; GFX11-NEXT: s_mov_b32 s6, -1 + ; GFX11-NEXT: s_mov_b32 s4, s2 + ; GFX11-NEXT: s_mov_b32 s5, s3 + ; GFX11-NEXT: buffer_load_b64 v[0:1], off, s[4:7], 0 +-; GFX11-NEXT: s_branch .LBB12_5 +-; GFX11-NEXT: .LBB12_3: ++; GFX11-NEXT: s_branch .LBB14_5 ++; GFX11-NEXT: .LBB14_3: + ; GFX11-NEXT: s_mov_b32 s6, -1 + ; GFX11-NEXT: ; implicit-def: $sgpr4_sgpr5 +-; GFX11-NEXT: s_branch .LBB12_2 +-; GFX11-NEXT: .LBB12_4: ++; GFX11-NEXT: s_branch .LBB14_2 ++; GFX11-NEXT: .LBB14_4: + ; GFX11-NEXT: v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v1, s5 +-; GFX11-NEXT: .LBB12_5: ; %endif ++; GFX11-NEXT: .LBB14_5: ; %endif + ; GFX11-NEXT: s_mov_b32 s3, 0x31016000 + ; GFX11-NEXT: s_mov_b32 s2, -1 + ; GFX11-NEXT: s_waitcnt vmcnt(0) +-- +2.31.1 + diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py index 8f975b7072..aa904f3035 100644 --- a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py +++ b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py @@ -24,6 +24,8 @@ class LlvmAmdgpu(CMakePackage): maintainers("srekolam", "renjithravindrankannath", "haampie") version("master", branch="amd-stg-open") + version("5.7.1", sha256="6b54c422e45ad19c9bf5ab090ec21753e7f7d854ca78132c30eb146657b168eb") + version("5.7.0", sha256="4abdf00b297a77c5886cedb37e63acda2ba11cb9f4c0a64e133b05800aadfcf0") version("5.6.1", sha256="045e43c0c4a3f4f2f1db9fb603a4f1ea3d56e128147e19ba17909eb57d7f08e5") version("5.6.0", sha256="e922bd492b54d99e56ed88c81e2009ed6472059a180b10cc56ce1f9bd2d7b6ed") version("5.5.1", sha256="7d7181f20f89cb0715191aa32914186c67a34258c13457055570d47e15296553") @@ -134,7 +136,8 @@ class LlvmAmdgpu(CMakePackage): 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:") + 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:") @@ -162,6 +165,7 @@ class LlvmAmdgpu(CMakePackage): # as per 5.2.0 llvm code. It used to be llvm/bin/../lib/libdevice. # Below patch is to look in the old path. patch("adjust-openmp-bitcode-directory-for-llvm-link.patch", when="@5.2.0:5.6") + patch("0001-update-HIP_PATH-deduction-for-5.7.0.patch", when="@5.7.0:5.7") # Below patch is to set the flag -mcode-object-version=none until # the below fix is available in device-libs release code. @@ -173,6 +177,7 @@ class LlvmAmdgpu(CMakePackage): # This fix is targeting 6.1 rocm release. # Need patch until https://github.com/llvm/llvm-project/pull/67291 is merged. patch("001-Add-i1-mul-patterns.patch", when="@5.6") + patch("001-Add-i1-mul-patterns-5.7.patch", when="@5.7") conflicts("^cmake@3.19.0") @@ -181,6 +186,8 @@ class LlvmAmdgpu(CMakePackage): # Add device libs sources so they can be an external LLVM project for d_version, d_shasum in [ + ("5.7.1", "703de8403c0bd0d80f37c970a698f10f148daf144d34f982e4484d04f7c7bbef"), + ("5.7.0", "0f8780b9098573f1c456bdc84358de924dcf00604330770a383983e1775bf61e"), ("5.6.1", "f0dfab272ff936225bfa1e9dabeb3c5d12ce08b812bf53ffbddd2ddfac49761c"), ("5.6.0", "efb5dcdca9b3a9fbe408d494fb4a23e0b78417eb5fa8eebd4a5d226088f28921"), ("5.5.1", "3b5f6dd85f0e3371f6078da7b59bf77d5b210e30f1cc66ef1e2de6bbcb775833"), @@ -226,8 +233,9 @@ class LlvmAmdgpu(CMakePackage): branch="amd-stg-open", when="@master +rocm-device-libs", ) - for d_version, d_shasum in [ + ("5.7.1", "655e9bfef4b0b6ad3f9b89c934dc0a8377273bb0bccbda6c399ac5d5d2c1c04c"), + ("5.7.0", "2c56ec5c78a36f2b847afd4632cb25dbf6ecc58661eb2ae038c2552342e6ce23"), ("5.6.1", "4de9a57c2092edf9398d671c8a2c60626eb7daf358caf710da70d9c105490221"), ("5.6.0", "30875d440df9d8481ffb24d87755eae20a0efc1114849a72619ea954f1e9206c"), ]: @@ -247,6 +255,8 @@ class LlvmAmdgpu(CMakePackage): ) for d_version, d_shasum in [ + ("5.7.1", "3b9433b4a0527167c3e9dfc37a3c54e0550744b8d4a8e1be298c8d4bcedfee7c"), + ("5.7.0", "e234bcb93d602377cfaaacb59aeac5796edcd842a618162867b7e670c3a2c42c"), ("5.6.1", "0a85d84619f98be26ca7a32c71f94ed3c4e9866133789eabb451be64ce739300"), ("5.6.0", "9396a7238b547ee68146c669b10b9d5de8f1d76527c649133c75d8076a185a72"), ]: @@ -330,6 +340,9 @@ class LlvmAmdgpu(CMakePackage): if self.spec.satisfies("@5.5.0:"): args.append("-DCLANG_DEFAULT_RTLIB=compiler-rt") args.append("-DCLANG_DEFAULT_UNWINDLIB=libgcc") + if self.spec.satisfies("@5.5.0:"): + args.append("-DCLANG_DEFAULT_RTLIB=compiler-rt") + args.append("-DCLANG_DEFAULT_UNWINDLIB=libgcc") if self.spec.satisfies("@5.6.0:"): hsainc_path = os.path.join(self.stage.source_path, "hsa-runtime/src/inc") comgrinc_path = os.path.join(self.stage.source_path, "comgr/lib/comgr/include") diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py index 7e38b04e09..b85e5be19d 100644 --- a/var/spack/repos/builtin/packages/llvm/package.py +++ b/var/spack/repos/builtin/packages/llvm/package.py @@ -246,6 +246,7 @@ class Llvm(CMakePackage, CudaPackage): description="Enable zstd support for static analyzer / lld", ) + provides("libllvm@17", when="@17.0.0:17") provides("libllvm@16", when="@16.0.0:16") provides("libllvm@15", when="@15.0.0:15") provides("libllvm@14", when="@14.0.0:14") diff --git a/var/spack/repos/builtin/packages/mesa/package.py b/var/spack/repos/builtin/packages/mesa/package.py index e1e666a6bc..954ab3baa5 100644 --- a/var/spack/repos/builtin/packages/mesa/package.py +++ b/var/spack/repos/builtin/packages/mesa/package.py @@ -19,12 +19,13 @@ class Mesa(MesonPackage): url = "https://archive.mesa3d.org/mesa-20.2.1.tar.xz" version("main", branch="main") - version( - "23.0.3", - sha256="386362a5d80df3b096636b67f340e1ce67b705b44767d5bdd11d2ed1037192d5", + "23.2.1", + sha256="64de0616fc2d801f929ab1ac2a4f16b3e2783c4309a724c8a259b20df8bbc1cc", preferred=True, ) + version("23.1.9", sha256="295ba27c28146ed09214e8ce79afa1659edf9d142decc3c91f804552d64f7510") + version("23.0.3", sha256="386362a5d80df3b096636b67f340e1ce67b705b44767d5bdd11d2ed1037192d5") version("23.0.2", sha256="1b7d3399fc6f16f030361f925d33ebc7600cbf98094582f54775b6a1180529e7") version("22.3.2", sha256="c15df758a8795f53e57f2a228eb4593c22b16dffd9b38f83901f76cd9533140b") version("22.2.5", sha256="850f063146f8ebb262aec04f666c2c1e5623f2a1987dda24e4361b17b912c73b") @@ -297,6 +298,7 @@ class MesonBuilder(spack.build_systems.meson.MesonBuilder): # Add the remaining list args args.append("-Dplatforms=" + ",".join(args_platforms)) args.append("-Dgallium-drivers=" + ",".join(args_gallium_drivers)) - args.append("-Ddri-drivers=" + ",".join(args_dri_drivers)) + if args_dri_drivers: + args.append("-Ddri-drivers=" + ",".join(args_dri_drivers)) return args diff --git a/var/spack/repos/builtin/packages/migraphx/0006-add-option-to-turn-off-ck.patch b/var/spack/repos/builtin/packages/migraphx/0006-add-option-to-turn-off-ck.patch new file mode 100644 index 0000000000..b4082565af --- /dev/null +++ b/var/spack/repos/builtin/packages/migraphx/0006-add-option-to-turn-off-ck.patch @@ -0,0 +1,68 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c0a83ca..00c5dd0 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -90,6 +90,13 @@ set(MIGRAPHX_ENABLE_CPU Off CACHE BOOL "") + # Disable fpga backend by default + set(MIGRAPHX_ENABLE_FPGA Off CACHE BOOL "") + ++if(WIN32) # CK is not yet ported to Windows ++option(MIGRAPHX_USE_COMPOSABLEKERNEL "Enable MIGraphX to use composable kernel JIT library" OFF) ++else() ++option(MIGRAPHX_USE_COMPOSABLEKERNEL "Enable MIGraphX to use composable kernel JIT library" ON) ++endif() ++ ++ + set(CMAKE_CXX_STANDARD_DEFAULT "") + add_compile_options($<$:-std=c++17>) + +diff --git a/src/targets/gpu/CMakeLists.txt b/src/targets/gpu/CMakeLists.txt +index ddb3c1b..e36117a 100644 +--- a/src/targets/gpu/CMakeLists.txt ++++ b/src/targets/gpu/CMakeLists.txt +@@ -42,8 +42,7 @@ if(NOT TARGET MIOpen) + message(SEND_ERROR "Cant find miopen") + endif() + +-if(NOT WIN32) +- # TODO: re-enable when CK is ported to Windows ++if(MIGRAPHX_USE_COMPOSABLEKERNEL) + find_package(composable_kernel 1.0.0 REQUIRED COMPONENTS jit_library) + endif() + +@@ -98,8 +97,7 @@ rocm_clang_tidy_check(kernel_file_check) + + file(GLOB JIT_GPU_SRCS CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/jit/*.cpp) + +-if(WIN32) +- # TODO: re-enable when CK is ported to Windows ++if(NOT MIGRAPHX_USE_COMPOSABLEKERNEL) + list(REMOVE_ITEM JIT_GPU_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/jit/ck_gemm.cpp) + endif() + +@@ -275,8 +273,7 @@ endif() + + target_link_libraries(migraphx_gpu PUBLIC migraphx MIOpen roc::rocblas) + target_link_libraries(migraphx_gpu PRIVATE migraphx_device migraphx_kernels) +-if(NOT WIN32) +- # TODO: re-enable when CK is ported to Windows ++if(MIGRAPHX_USE_COMPOSABLEKERNEL) + target_link_libraries(migraphx_gpu PRIVATE composable_kernel::jit_library) + endif() + +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index 71fe513..441d3bf 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -222,7 +222,10 @@ endfunction() + + function(test_headers PREFIX) + file(GLOB HEADERS CONFIGURE_DEPENDS ${ARGN}) +- ++ if(NOT MIGRAPHX_USE_COMPOSABLEKERNEL) ++ list(REMOVE_ITEM HEADERS ++ ${CMAKE_SOURCE_DIR}/src/targets/gpu/include/migraphx/gpu/ck.hpp) ++ endif() + foreach(HEADER ${HEADERS}) + file(RELATIVE_PATH HEADER_REL ${CMAKE_SOURCE_DIR} ${HEADER}) + string(MAKE_C_IDENTIFIER ${HEADER_REL} TEST_NAME) \ No newline at end of file diff --git a/var/spack/repos/builtin/packages/migraphx/package.py b/var/spack/repos/builtin/packages/migraphx/package.py index 5373703807..8216ebe424 100644 --- a/var/spack/repos/builtin/packages/migraphx/package.py +++ b/var/spack/repos/builtin/packages/migraphx/package.py @@ -19,6 +19,8 @@ class Migraphx(CMakePackage): maintainers("srekolam", "renjithravindrankannath") libraries = ["libmigraphx"] + version("5.7.1", sha256="3e58c043a5a7d1357ee05725fd6cd41e190b070f1ba57f61300128429902089c") + version("5.7.0", sha256="14f13554367d2d6490d66f8b5b739203225e7acce25085559e7c4acf29e2a4d5") version("5.6.1", sha256="b108c33f07572ffd880b20f6de06f1934ab2a1b41ae69095612322ac412fa91c") version("5.6.0", sha256="eaec90535d62002fd5bb264677ad4a7e30c55f18d2a287680d0495c7e60432b2") version("5.5.1", sha256="e71c4744f8ef6a1a99c179bbad94b8fe9bd7686eaa9397f376b70988c3341f0c") @@ -119,6 +121,7 @@ class Migraphx(CMakePackage): 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:") + patch("0006-add-option-to-turn-off-ck.patch", when="@5.7") depends_on("cmake@3.5:", type="build") depends_on("protobuf", type="link") @@ -161,6 +164,8 @@ class Migraphx(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) depends_on("hip@" + ver, when="@" + ver) @@ -168,6 +173,9 @@ class Migraphx(CMakePackage): depends_on("rocblas@" + ver, when="@" + ver) depends_on("miopen-hip@" + ver, when="@" + ver) + for ver in ["5.7.0", "5.7.1"]: + depends_on("composable-kernel@" + ver, when="@" + ver) + @property def cmake_python_hints(self): """Include the python include path to the @@ -200,6 +208,8 @@ class Migraphx(CMakePackage): if "@5.5.0:" in self.spec: args.append(self.define("CMAKE_CXX_FLAGS", "-I{0}".format(abspath))) args.append(self.define("MIGRAPHX_ENABLE_PYTHON", "OFF")) + if "@5.7" in self.spec: + args.append(self.define("MIGRAPHX_USE_COMPOSABLEKERNEL", "OFF")) return args def test(self): diff --git a/var/spack/repos/builtin/packages/miopen-hip/package.py b/var/spack/repos/builtin/packages/miopen-hip/package.py index 6ab2967ac2..c7476ebc12 100644 --- a/var/spack/repos/builtin/packages/miopen-hip/package.py +++ b/var/spack/repos/builtin/packages/miopen-hip/package.py @@ -19,6 +19,8 @@ class MiopenHip(CMakePackage): maintainers("srekolam", "renjithravindrankannath") libraries = ["libMIOpen"] + version("5.7.1", sha256="912a658fe21ce6f1982b0f2ff251c3f7bb618f2e7e9876d983bcb54e3cd7129e") + version("5.7.0", sha256="5cd0b62254469e1c246d5890d2b78f8aedcf42cf8a327eabc1a391b83bcd14e1") version("5.6.1", sha256="ff627d68ed9e52433a3c808b5d3ff179a398b77ce81b00cfea7b2c4da5162c6c") version("5.6.0", sha256="d620ddab5b488bdf81242654fefa337c6b71dc410c2ff26d30a4ee86a8d22d11") version("5.5.1", sha256="2cd75071b8ee876c69a94f028b6c8a9346d6d2fde7d4b64e6d635f3b6c994262") @@ -118,6 +120,11 @@ class MiopenHip(CMakePackage): 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/ROCmSoftwarePlatform/MIOpen/pull/2276/commits/f60aa1ff89f8fb596b4a6a4c70aa7d557803db87.patch?full_index=1", + sha256="c777d9f4cd2bbfec632b38620c0f70bb0cce8da1", + when="@5.7:", + ) for ver in [ "3.5.0", @@ -147,6 +154,8 @@ class MiopenHip(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) depends_on("hip@" + ver, when="@" + ver) @@ -156,7 +165,7 @@ class MiopenHip(CMakePackage): 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) - for ver in ["5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("nlohmann-json", type="link") depends_on("composable-kernel@" + ver, when="@" + ver) for ver in ["5.4.0", "5.4.3", "5.5.0"]: @@ -218,6 +227,8 @@ class MiopenHip(CMakePackage): args.append(self.define("MIOPEN_USE_COMPOSABLEKERNEL", "ON")) args.append(self.define("MIOPEN_ENABLE_AI_KERNEL_TUNING", "OFF")) args.append(self.define("MIOPEN_USE_MLIR", "OFF")) + if self.spec.satisfies("@5.7.0:"): + args.append(self.define("MIOPEN_ENABLE_AI_IMMED_MODE_FALLBACK", "OFF")) args.append( "-DNLOHMANN_JSON_INCLUDE={0}".format(self.spec["nlohmann-json"].prefix.include) ) diff --git a/var/spack/repos/builtin/packages/mivisionx/package.py b/var/spack/repos/builtin/packages/mivisionx/package.py index f30ae2a9c2..5ab285d267 100644 --- a/var/spack/repos/builtin/packages/mivisionx/package.py +++ b/var/spack/repos/builtin/packages/mivisionx/package.py @@ -25,6 +25,8 @@ class Mivisionx(CMakePackage): url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/rocm-{0}.tar.gz" return url.format(version) + version("5.7.1", sha256="bfc074bc32ebe84c72149ee6abb30b5b6499023d5b98269232de82e35d0505a8") + version("5.7.0", sha256="07e4ec8a8c06a9a8bb6394a043c9c3e7176acd3b462a16de91ef9518a64df9ba") version("5.6.1", sha256="b2ff95c1488e244f379482631dae4f9ab92d94a513d180e03607aa1e184b5b0a") version("5.6.0", sha256="34c184e202b1a6da2398b66e33c384d5bafd8f8291089c18539715c5cb73eb1f") version("5.5.1", sha256="e8209f87a57c4222003a936240e7152bbfa496862113358f29d4c3e80d4cdf56") @@ -305,6 +307,7 @@ class Mivisionx(CMakePackage): depends_on("py-future", when="+add_tests") depends_on("py-numpy", when="+add_tests") 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 @@ -362,13 +365,25 @@ class Mivisionx(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("miopen-hip@" + ver, when="@" + ver) - for ver in ["5.3.3", "5.4.0", "5.4.3", "5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in [ + "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", + ]: depends_on("migraphx@" + ver, when="@" + ver) depends_on("hip@" + ver, when="@" + ver) - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + ver) depends_on("python@3.5:", type="build") diff --git a/var/spack/repos/builtin/packages/rccl/package.py b/var/spack/repos/builtin/packages/rccl/package.py index 677b077b4b..dcc684f513 100644 --- a/var/spack/repos/builtin/packages/rccl/package.py +++ b/var/spack/repos/builtin/packages/rccl/package.py @@ -21,6 +21,8 @@ class Rccl(CMakePackage): maintainers("srekolam", "renjithravindrankannath") libraries = ["librccl"] + version("5.7.1", sha256="fb4c1f0084196d1226ce8a726d0f012d3890b54508a06ca87bbda619be8b90b1") + version("5.7.0", sha256="4c2825a3e4323ef3c2f8855ef445c1a81cf1992fb37e3e8a07a50db354aa3954") version("5.6.1", sha256="27ec6b86a1a329684d808f728c1fce134517ac8e6e7047689f95dbf8386c077e") version("5.6.0", sha256="cce13c8a9e233e7ddf91a67b1626b7aaeaf818fefe61af8de6b6b6ff47cb358c") version("5.5.1", sha256="f6b9dc6dafeb49d95c085825876b09317d8252771c746ccf5aa19a9204a404b2") @@ -116,7 +118,7 @@ class Rccl(CMakePackage): 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("0003-Fix-numactl-rocm-smi-path-issue.patch", when="@5.2.3:") + patch("0003-Fix-numactl-rocm-smi-path-issue.patch", when="@5.2.3:5.6") depends_on("cmake@3.5:", type="build") for ver in [ @@ -147,6 +149,8 @@ class Rccl(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) depends_on("hip@" + ver, when="@" + ver) @@ -180,6 +184,8 @@ class Rccl(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("numactl@2:", when="@" + ver) for ver in [ @@ -200,11 +206,13 @@ class Rccl(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("rocm-smi-lib@" + ver, when="@" + ver) depends_on("chrpath", when="@5.3.0:") - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + ver) depends_on("googletest@1.11.0:", when="@5.3:") diff --git a/var/spack/repos/builtin/packages/rdc/package.py b/var/spack/repos/builtin/packages/rdc/package.py index 8f88417ebf..0c5feeb1aa 100644 --- a/var/spack/repos/builtin/packages/rdc/package.py +++ b/var/spack/repos/builtin/packages/rdc/package.py @@ -26,6 +26,8 @@ class Rdc(CMakePackage): url = "https://github.com/RadeonOpenCompute/rdc/archive/rocm-{0}.tar.gz" return url.format(version) + version("5.7.1", sha256="5251eb3085f2019246b332e9552dfae1572cf64ddf58306b81cbe7108019ffee") + version("5.7.0", sha256="924e94f14f6390d7a6ff7863fb4e2085c1ff5f9c12b8bd46471eb31f001c4f14") version("5.6.1", sha256="9e9f57cebbc5ae386a405957ed2c17344cdb42db5e1a71285f2c9bc09eea6519") version("5.6.0", sha256="5213cd89215463862f6a1e9480ebe017944a6bb6b0db1722628afaa34af57991") version("5.5.1", sha256="a58a319ee702cf61cf71a4eba647c231392f68449b35419d941079c6de944844") @@ -134,6 +136,8 @@ class Rdc(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("rocm-smi-lib@" + ver, type=("build", "link"), when="@" + ver) @@ -153,10 +157,12 @@ class Rdc(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("hsa-rocr-dev@" + ver, when="@" + ver) - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + ver) def patch(self): diff --git a/var/spack/repos/builtin/packages/rocalution/package.py b/var/spack/repos/builtin/packages/rocalution/package.py index 4b80d75ee7..5ffbcd94dc 100644 --- a/var/spack/repos/builtin/packages/rocalution/package.py +++ b/var/spack/repos/builtin/packages/rocalution/package.py @@ -24,6 +24,8 @@ class Rocalution(CMakePackage): maintainers("cgmb", "srekolam", "renjithravindrankannath") libraries = ["librocalution_hip"] + version("5.7.1", sha256="b95afa1285759843c5fea1ad6e1c1edf283922e0d448db03a3e1f42b6942bc24") + version("5.7.0", sha256="48232a0d1250debce89e39a233bd0b5d52324a2454c078b99c9d44965cbbc0e9") version("5.6.1", sha256="7197b3617a0c91e90adaa32003c04d247a5f585d216e77493d20984ba215addb") version("5.6.0", sha256="7397a2039e9615c0cf6776c33c4083c00b185b5d5c4149c89fea25a8976a3097") version("5.5.1", sha256="4612e30a0290b1732c8862eea655122abc2d22ce4345b8498fe4127697e880b4") @@ -158,6 +160,8 @@ class Rocalution(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("hip@" + ver, when="@" + ver) depends_on("rocprim@" + ver, when="@" + ver) diff --git a/var/spack/repos/builtin/packages/rocblas/package.py b/var/spack/repos/builtin/packages/rocblas/package.py index 0b59eadd7e..3c6016627a 100644 --- a/var/spack/repos/builtin/packages/rocblas/package.py +++ b/var/spack/repos/builtin/packages/rocblas/package.py @@ -21,6 +21,8 @@ class Rocblas(CMakePackage): version("develop", branch="develop") version("master", branch="master") + version("5.7.1", sha256="2984a5ed0ea5a05d40996ee3fddecb24399cbe8ea3e4921fc254e54d8f52fe4f") + version("5.7.0", sha256="024edd98de9687ee5394badc4dd4c543eef4eb3f71c96ff64100705d851e1744") version("5.6.1", sha256="73896ebd445162a69af97f9fd462684609b4e0cf617eab450cd4558b4a23941e") version("5.6.0", sha256="6a70b27eede02c45f46095a6ce8421af9a774a565e39f5e1074783ecf00c1ea7") version("5.5.1", sha256="7916a8d238d51cc239949d799f0b61c9d5cd63c6ccaed0e16749489b89ca8ff3") @@ -178,6 +180,8 @@ class Rocblas(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("hip@" + ver, when="@" + ver) depends_on("llvm-amdgpu@" + ver, type="build", when="@" + ver) @@ -226,6 +230,8 @@ class Rocblas(CMakePackage): ("@5.5.1", "38d444a9f2b6cddfeaeedcb39a5688150fa27093"), ("@5.6.0", "7d0a9d040c3bbae893df7ecef6a19d9cd1c304aa"), ("@5.6.1", "7d0a9d040c3bbae893df7ecef6a19d9cd1c304aa"), + ("@5.7.0", "97e0cfc2c8cb87a1e38901d99c39090dc4181652"), + ("@5.7.1", "97e0cfc2c8cb87a1e38901d99c39090dc4181652"), ]: resource( name="Tensile", diff --git a/var/spack/repos/builtin/packages/rocfft/package.py b/var/spack/repos/builtin/packages/rocfft/package.py index 63c0548ce3..40896b3c64 100644 --- a/var/spack/repos/builtin/packages/rocfft/package.py +++ b/var/spack/repos/builtin/packages/rocfft/package.py @@ -18,6 +18,8 @@ class Rocfft(CMakePackage): maintainers("cgmb", "srekolam", "renjithravindrankannath", "haampie") libraries = ["librocfft"] + version("5.7.1", sha256="202f11f60dc8738e29bbd1b397d419e032794f8bffb7f48f2b31f09cc5f08bc2") + version("5.7.0", sha256="3c4a1537a6ec76dc9b622644fe3890647306bf9f28f61c5d2028259c31bb964f") version("5.6.1", sha256="a65861e453587c3e6393da75b0b1976508c61f968aecda77fbec920fea48489e") version("5.6.0", sha256="e3d4a6c1bdac78f9a22033f57011af783d560308103f73542f9e0e4dd133d38a") version("5.5.1", sha256="57423a64f5cdb1c37ff0891b6c17b59f73198d46be42db4ae23781ef2c0cd49d") @@ -125,7 +127,8 @@ class Rocfft(CMakePackage): depends_on("googletest@1.10.0:", type="test") depends_on("fftw@3.3.8:", type="test") depends_on("boost@1.64.0: +program_options", type="test") - depends_on("llvm-amdgpu +openmp", type="test") + depends_on("rocm-openmp-extras", type="test") + depends_on("hiprand", type="test") def check(self): exe = join_path(self.build_directory, "clients", "staging", "rocfft-test") @@ -159,6 +162,8 @@ class Rocfft(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("hip@" + ver, when="@" + ver) depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) 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 af829cf7ad..899f84e3e3 100644 --- a/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py +++ b/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py @@ -18,6 +18,8 @@ class RocmBandwidthTest(CMakePackage): maintainers("srekolam", "renjithravindrankannath") version("master", branch="master") + version("5.7.1", sha256="7426ef1e317b8293e4d6389673cfa8c63efb3f7d061e2f50a6f0b1b706e2a2a7") + version("5.7.0", sha256="fa95c28488ab4bb6d920b9f3c316554ca340f44c87ec2efb4cf8fa488e63ddd9") version("5.6.1", sha256="849af715d08dfd89e7aa5e4453b624151db1cafaa567ab5fa36a77948b90bf0d") version("5.6.0", sha256="ae2f7263a21a3a650068f43e3112b2b765eea80a5af2297572f850c77f83c85e") version("5.5.1", sha256="768b3da49fe7d4bb4e6536a8ee15be9f5e865d961e813ed4a407f32402685e1f") @@ -132,12 +134,14 @@ class RocmBandwidthTest(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", "master", ]: depends_on("hsa-rocr-dev@" + ver, when="@" + ver) depends_on("hsakmt-roct@" + ver, when="@" + ver) - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + 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 941b1900f0..0112fe5571 100644 --- a/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py +++ b/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py @@ -16,6 +16,8 @@ class RocmClangOcl(CMakePackage): maintainers("srekolam", "renjithravindrankannath") version("master", branch="master") + version("5.7.1", sha256="32e4430d009cbbf5404ca9cbbb549b36897fa1826bc2285372e293cfe7531bf8") + version("5.7.0", sha256="c9ca80bfee674e740039256a846107373f1cf6554dc28398599976d8646a0392") version("5.6.1", sha256="c41deb1b564d939fc897b2bbdb13570b2234fa4c052a39783f5ad2dd1052f901") version("5.6.0", sha256="1afc47dee02d73c10de422f254067f4ef3ff921c4a1204d54ecc40e61fc63497") version("5.5.1", sha256="bfa62ad14830e2bd5afbc346685216c69f8cbef0eb449954f793178e10b19a38") @@ -130,6 +132,8 @@ class RocmClangOcl(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", "master", ]: depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) @@ -139,7 +143,7 @@ class RocmClangOcl(CMakePackage): depends_on( "rocm-device-libs@" + ver, when="@{0} ^llvm-amdgpu ~rocm-device-libs".format(ver) ) - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + 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 c833db6755..7ef18f5214 100644 --- a/var/spack/repos/builtin/packages/rocm-cmake/package.py +++ b/var/spack/repos/builtin/packages/rocm-cmake/package.py @@ -19,6 +19,8 @@ class RocmCmake(CMakePackage): maintainers("srekolam", "renjithravindrankannath") version("master", branch="master") + version("5.7.1", sha256="4a4c6aa09576ccb834f869bdcb49e98cc0f0bac3678b802358065d1179a9d6f1") + version("5.7.0", sha256="93b98144201a1143eeca32744a9927d063f4685189f132ba52a6f3bba158a86b") version("5.6.1", sha256="98bf5fe2e6e12f55d122807d0060f1bb19c80d63d2c2f6fee579c40bfd244fa6") version("5.6.0", sha256="a118ca937856a4d0039955a8aef2466ef1fd1f08f7f7221cda53e1b5d02e476a") version("5.5.1", sha256="60113412b35d94e20e8100ed3db688c35801991b4b8fa282fdc6fd6fd413fb6e") @@ -106,7 +108,7 @@ class RocmCmake(CMakePackage): depends_on("cmake@3:", type="build") depends_on("cmake@3.6:", type="build", when="@4.1.0:") - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + ver) test_src_dir = "test" diff --git a/var/spack/repos/builtin/packages/rocm-core/package.py b/var/spack/repos/builtin/packages/rocm-core/package.py index 45d947ce0e..a55b2d8b02 100644 --- a/var/spack/repos/builtin/packages/rocm-core/package.py +++ b/var/spack/repos/builtin/packages/rocm-core/package.py @@ -19,6 +19,8 @@ class RocmCore(CMakePackage): maintainers("srekolam", "renjithravindrankannath") libraries = ["librocm-core"] + version("5.7.1", sha256="fc4915019ddfd126e8ef6a15006bce3aa7bd5fd11dc8eb04ce2ee6bdf9c6ae7f") + version("5.7.0", sha256="722689bfec46c35f5428a41c5aacfc31efec2294fc3b0112861c562f8a71ac93") version("5.6.1", sha256="eeef75e16e05380ccbc8df17a02dc141a66dddaadb444a97f7278f78067c498c") version("5.6.0", sha256="3c3d47c8b774968d768d42810a3fed42d058b7d6da248d5295df2a7ffb262568") version("5.5.1", sha256="bc73060432ffdc2e210394835d383890b9652476074ef4708d447473f273ce76") diff --git a/var/spack/repos/builtin/packages/rocm-dbgapi/package.py b/var/spack/repos/builtin/packages/rocm-dbgapi/package.py index 6b28adb40c..690ed5e8a6 100644 --- a/var/spack/repos/builtin/packages/rocm-dbgapi/package.py +++ b/var/spack/repos/builtin/packages/rocm-dbgapi/package.py @@ -23,6 +23,8 @@ class RocmDbgapi(CMakePackage): libraries = ["librocm-dbgapi"] version("master", branch="amd-master") + version("5.7.1", sha256="0ee9c2f083868849f2ea0cec7010e0270c27e7679ccbbadd12072cc0ef6c8a6f") + version("5.7.0", sha256="285ddded8e7f1981d8861ffc1cd7770b78129e4955da08ad55a4779945699716") version("5.6.1", sha256="c7241bf94bdb97a4cf1befbf25b8c35720797710da6f6b5b9d6a4094c1bc9c8b") version("5.6.0", sha256="9b66e47f4eccb3c8bbc324aade92aac6139539dda449427b7823d0c45341afc8") version("5.5.1", sha256="c41dfc62591bcf42003fe744d8bd03a51311d54e4b012f946ca0ede0c14dd977") @@ -138,12 +140,14 @@ class RocmDbgapi(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", "master", ]: depends_on("hsa-rocr-dev@" + ver, type="build", when="@" + ver) depends_on("comgr@" + ver, type=("build", "link"), when="@" + ver) - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + ver) @classmethod 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 4b5850f0d0..790f962bd4 100644 --- a/var/spack/repos/builtin/packages/rocm-debug-agent/package.py +++ b/var/spack/repos/builtin/packages/rocm-debug-agent/package.py @@ -18,6 +18,8 @@ class RocmDebugAgent(CMakePackage): maintainers("srekolam", "renjithravindrankannath") libraries = ["librocm-debug-agent"] + version("5.7.1", sha256="3b8d2835935da98f41e7cfc5b808c596ac06dd705b9a07bb70283e002f8dea6a") + version("5.7.0", sha256="d9344ed02e82a01140f2162e901e6a519e5fee6b498e2f49417730ee2660c5c1") version("5.6.1", sha256="d3b1d5d757489ed3cc66d351cec56b7b850aaa7ecf6a55b0350b89c3dee3153a") version("5.6.0", sha256="0bed788f07906afeb9092d0bec184a7963233ac9d8ccd20b4afeb624a1d20698") version("5.5.1", sha256="1bb66734f11bb57df6efa507f0217651446653bf28b3ca36acfcf94511a7c2bc") @@ -142,6 +144,8 @@ class RocmDebugAgent(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("hsa-rocr-dev@" + ver, when="@" + ver) depends_on("hsakmt-roct@" + ver, when="@" + ver) @@ -173,11 +177,13 @@ class RocmDebugAgent(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("rocm-dbgapi@" + ver, when="@" + ver) depends_on("hip@" + ver, when="@" + ver) - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + ver) # https://github.com/ROCm-Developer-Tools/rocr_debug_agent/pull/4 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 cb784a050f..756af367cc 100644 --- a/var/spack/repos/builtin/packages/rocm-device-libs/package.py +++ b/var/spack/repos/builtin/packages/rocm-device-libs/package.py @@ -18,6 +18,8 @@ class RocmDeviceLibs(CMakePackage): maintainers("srekolam", "renjithravindrankannath", "haampie") version("master", branch="amd-stg-open") + version("5.7.1", sha256="703de8403c0bd0d80f37c970a698f10f148daf144d34f982e4484d04f7c7bbef") + version("5.7.0", sha256="0f8780b9098573f1c456bdc84358de924dcf00604330770a383983e1775bf61e") version("5.6.1", sha256="f0dfab272ff936225bfa1e9dabeb3c5d12ce08b812bf53ffbddd2ddfac49761c") version("5.6.0", sha256="efb5dcdca9b3a9fbe408d494fb4a23e0b78417eb5fa8eebd4a5d226088f28921") version("5.5.1", sha256="3b5f6dd85f0e3371f6078da7b59bf77d5b210e30f1cc66ef1e2de6bbcb775833") @@ -142,11 +144,13 @@ class RocmDeviceLibs(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", "master", ]: depends_on("llvm-amdgpu@" + ver, when="@" + ver) - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + ver) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/rocm-gdb/package.py b/var/spack/repos/builtin/packages/rocm-gdb/package.py index a752f0c4d7..72c1edd6c1 100644 --- a/var/spack/repos/builtin/packages/rocm-gdb/package.py +++ b/var/spack/repos/builtin/packages/rocm-gdb/package.py @@ -16,6 +16,8 @@ class RocmGdb(AutotoolsPackage): tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") + version("5.7.1", sha256="5cd150b5796aea9d77efd43b89d30a34fa4125338179eb87c6053abcac9f3c62") + version("5.7.0", sha256="94fba57b2f17b593de61f7593b404fabc00b054d38567be57d12cf7654b7969a") version("5.6.1", sha256="d2b40d4c5aa41a6ce2a84307627b30d16a458672e03e13f9d27c12f2dc3f21d6") version("5.6.0", sha256="997ef1883aac2769552bc7082c70b837f4e98b57d24c133cea52b9c92fb0dee1") version("5.5.1", sha256="359258548bc7e6abff16bb13c301339fb96560b2b961433c9e0712e4aaf2d9e1") @@ -139,11 +141,13 @@ class RocmGdb(AutotoolsPackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("rocm-dbgapi@" + ver, type="link", when="@" + ver) depends_on("comgr@" + ver, type="link", when="@" + ver) - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + ver) build_directory = "spack-build" diff --git a/var/spack/repos/builtin/packages/rocm-openmp-extras/0001-Linking-hsakmt-libdrm-and-numactl-libraries.patch b/var/spack/repos/builtin/packages/rocm-openmp-extras/0001-Linking-hsakmt-libdrm-and-numactl-libraries.patch new file mode 100644 index 0000000000..32b4719292 --- /dev/null +++ b/var/spack/repos/builtin/packages/rocm-openmp-extras/0001-Linking-hsakmt-libdrm-and-numactl-libraries.patch @@ -0,0 +1,41 @@ +From f9b5b4ceacc57b72cb9f4a3b3ab31d8143771548 Mon Sep 17 00:00:00 2001 +From: sreenivasa murthy kolam +Date: Fri, 1 Dec 2023 06:10:36 +0000 +Subject: [PATCH] Linking hsakmt, libdrm and numactl libraries + +--- + .../openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt | 3 ++- + .../openmp/libomptarget/plugins/amdgpu/CMakeLists.txt | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/rocm-openmp-extras/llvm-project/openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt b/rocm-openmp-extras/llvm-project/openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt +index f918206..06656f1 100644 +--- a/rocm-openmp-extras/llvm-project/openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt ++++ b/rocm-openmp-extras/llvm-project/openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt +@@ -22,7 +22,8 @@ endif() + # libhsakmt.a + find_library ( HSAKMT_LIB libhsakmt.a REQURIED HINTS ${CMAKE_INSTALL_PREFIX} PATHS /opt/rocm) + get_filename_component ( HSAKMT_LIB_PATH ${HSAKMT_LIB} DIRECTORY ) +-link_directories (${HSAKMT_LIB_PATH}) ++link_directories (${HSAKMT_LIB_PATH} ${HSAKMT_LIB64} ${HSAKMT_LIB} ${LIBDRM_LIB} ${NUMACTL_DIR}/lib) ++include_directories(${HSAKMT_INC_PATH}) + + # lib_amdgpu + pkg_check_modules(drm_amdgpu REQUIRED IMPORTED_TARGET libdrm_amdgpu) +diff --git a/rocm-openmp-extras/llvm-project/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt b/rocm-openmp-extras/llvm-project/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt +index 8f1fc98..c230b00 100644 +--- a/rocm-openmp-extras/llvm-project/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt ++++ b/rocm-openmp-extras/llvm-project/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt +@@ -36,7 +36,8 @@ endif() + # libhsakmt.a + find_library ( HSAKMT_LIB libhsakmt.a REQURIED HINTS ${CMAKE_INSTALL_PREFIX} PATHS /opt/rocm) + get_filename_component ( HSAKMT_LIB_PATH ${HSAKMT_LIB} DIRECTORY ) +-link_directories (${HSAKMT_LIB_PATH}) ++link_directories (${HSAKMT_LIB_PATH} ${HSAKMT_LIB64} ${HSAKMT_LIB} ${LIBDRM_LIB} ${NUMACTL_DIR}/lib) ++include_directories(${HSAKMT_INC_PATH}) + + # lib_drm_amdgpu + pkg_check_modules(drm_amdgpu REQUIRED IMPORTED_TARGET libdrm_amdgpu) +-- +2.39.3 + 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 dedba382c5..d944b21b01 100644 --- a/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py +++ b/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py @@ -39,6 +39,8 @@ aomp = [ "9ec03a69cc462ada43e1fd4ca905a765b08c10e0911fb7a202c893cc577855e6", "0673820a81986c9e2f28f15bbb45ad18934bca56a9d08aae6c49ec3895b38487", "6c051bf7625f682ba3d2ea80b46a38ca2cbcd20f5d89ae3433602d3e7ef0403a", + "4f34fa02db410808c5e629f30f8804210b42c4ff7d31aa80606deaed43054c3c", + "ed7bbf92230b6535a353ed032a39a9f16e9987397798100392fc25e40c8a1a4e", ] devlib = [ @@ -66,6 +68,8 @@ devlib = [ "3b5f6dd85f0e3371f6078da7b59bf77d5b210e30f1cc66ef1e2de6bbcb775833", "efb5dcdca9b3a9fbe408d494fb4a23e0b78417eb5fa8eebd4a5d226088f28921", "f0dfab272ff936225bfa1e9dabeb3c5d12ce08b812bf53ffbddd2ddfac49761c", + "0f8780b9098573f1c456bdc84358de924dcf00604330770a383983e1775bf61e", + "703de8403c0bd0d80f37c970a698f10f148daf144d34f982e4484d04f7c7bbef", ] llvm = [ @@ -93,6 +97,8 @@ llvm = [ "7d7181f20f89cb0715191aa32914186c67a34258c13457055570d47e15296553", "e922bd492b54d99e56ed88c81e2009ed6472059a180b10cc56ce1f9bd2d7b6ed", "045e43c0c4a3f4f2f1db9fb603a4f1ea3d56e128147e19ba17909eb57d7f08e5", + "4abdf00b297a77c5886cedb37e63acda2ba11cb9f4c0a64e133b05800aadfcf0", + "6b54c422e45ad19c9bf5ab090ec21753e7f7d854ca78132c30eb146657b168eb", ] flang = [ @@ -120,6 +126,8 @@ flang = [ "7c3b4eb3e95b9e2f91234f202a76034628d230a92e57b7c5ee9dcca1097bec46", "fcefebddca0b373da81ff84f0f5469a1ef77a05430a5195d0f2e6399d3af31c3", "5ebcbca2e03bd0686e677f44ea551e97bd9395c6b119f832fa784818733aa652", + "cc4f1973b1b8e7bcc4f09e3381bae4e1a2e51ea4e2598fc1b520ccb8bf24d28c", + "8fd618d81af092416b267c4d00c801731f7a00c0f8d4aedb795e52a4ec1bf183", ] extras = [ @@ -147,6 +155,8 @@ extras = [ "8955aa9d039fd6c1ff2e26d7298f0bf09bbcf03f09c6df92c91a9ab2510df9da", "017bfed52fbe08185d8dbde79377918454215683562519a9e47acf403d9a1c29", "437e2017cfe2ab73b15ada0fc1ea88f794f0b108cc5410f457268ae7e4e8985a", + "be59433dd85d4b8f0eaff87e0cc424a814152c67f3a682d1343c4bd61dd49a0f", + "8060c6879708faf5f7d417b19a479dec9b7b9583a1b885f12d247faf831f7f0b", ] versions = [ @@ -174,6 +184,8 @@ versions = [ "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ] versions_dict = dict() # type: Dict[str,Dict[str,str]] components = ["aomp", "devlib", "llvm", "flang", "extras"] @@ -195,6 +207,8 @@ class RocmOpenmpExtras(Package): tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath", "estewart08") + version("5.7.1", sha256=versions_dict["5.7.1"]["aomp"]) + version("5.7.0", sha256=versions_dict["5.7.0"]["aomp"]) version("5.6.1", sha256=versions_dict["5.6.1"]["aomp"]) version("5.6.0", sha256=versions_dict["5.6.0"]["aomp"]) version("5.5.1", sha256=versions_dict["5.5.1"]["aomp"]) @@ -227,6 +241,8 @@ class RocmOpenmpExtras(Package): depends_on("awk", type="build") depends_on("elfutils", type=("build", "link")) depends_on("libffi", type=("build", "link")) + depends_on("libdrm", when="@5.7") + depends_on("numactl", when="@5.7") for ver in [ "3.9.0", @@ -253,13 +269,15 @@ class RocmOpenmpExtras(Package): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: 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) - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + ver) # tag changed to 'rocm-' in 4.0.0 @@ -307,6 +325,7 @@ class RocmOpenmpExtras(Package): placement="llvm-project", when="@" + ver, ) + patch("0001-Linking-hsakmt-libdrm-and-numactl-libraries.patch", when="@5.7") def setup_run_environment(self, env): devlibs_prefix = self.spec["llvm-amdgpu"].prefix @@ -476,6 +495,9 @@ class RocmOpenmpExtras(Package): devlibs_src = "{0}/rocm-openmp-extras/rocm-device-libs".format(src) hsa_prefix = self.spec["hsa-rocr-dev"].prefix hsakmt_prefix = self.spec["hsakmt-roct"].prefix + if self.spec.satisfies("@5.7"): + libdrm_prefix = self.spec["libdrm"].prefix + numactl_prefix = self.spec["numactl"].prefix comgr_prefix = self.spec["comgr"].prefix llvm_inc = "/rocm-openmp-extras/llvm-project/llvm/include" llvm_prefix = self.spec["llvm-amdgpu"].prefix @@ -552,7 +574,12 @@ class RocmOpenmpExtras(Package): "-DCMAKE_CXX_FLAGS=-isystem{0} -I{1}".format(elfutils_inc, ffi_inc), "-DNEW_BC_PATH=1", ] - + if self.spec.satisfies("@5.7"): + openmp_common_args += [ + "-DLIBDRM_LIB={0}/lib".format(libdrm_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: 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 11ad3aa2ab..81ea9765c5 100644 --- a/var/spack/repos/builtin/packages/rocm-smi-lib/package.py +++ b/var/spack/repos/builtin/packages/rocm-smi-lib/package.py @@ -25,6 +25,8 @@ class RocmSmiLib(CMakePackage): libraries = ["librocm_smi64"] version("master", branch="master") + version("5.7.1", sha256="4d79cb0482b2f801cc7824172743e3dd2b44b9f6784d1ca2e5067f2fbb4ef803") + version("5.7.0", sha256="a399db3d9fc113ce2dd1ab5608a1cf9129ec4b6a2a79ab7922b1d9f43c454640") version("5.6.1", sha256="9e94f9a941202c3d7ce917fd1cd78c4e0f06f48d6c929f3aa916378ccef1e02c") version("5.6.0", sha256="88be875948a29454b8aacced8bb8ad967502a7a074ecbc579ed673c1650a2f7e") version("5.5.1", sha256="37f32350bfaf6c697312628696d1b1d5fd9165f183882759bc6cb9a5d65b9430") @@ -114,9 +116,9 @@ class RocmSmiLib(CMakePackage): depends_on("cmake@3:", type="build") depends_on("python@3:", type=("build", "run"), when="@3.9.0:") - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + ver) - patch("disable_pdf_generation_with_doxygen_and_latex.patch", when="@4.5.2:") + patch("disable_pdf_generation_with_doxygen_and_latex.patch", when="@4.5.2:5.6") def cmake_args(self): args = [ diff --git a/var/spack/repos/builtin/packages/rocm-tensile/package.py b/var/spack/repos/builtin/packages/rocm-tensile/package.py index 29a6e82e09..f0dc4c878a 100644 --- a/var/spack/repos/builtin/packages/rocm-tensile/package.py +++ b/var/spack/repos/builtin/packages/rocm-tensile/package.py @@ -17,7 +17,8 @@ class RocmTensile(CMakePackage): tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath", "haampie") - + version("5.7.1", sha256="9211a51b23c22b7a79e4e494e8ff3c31e90bf21adb8cce260acc57891fb2c917") + version("5.7.0", sha256="fe2ae067c1c579f33d7a1e26da3fe6b4ed44befa08f9dfce2ceae586f184b816") version("5.6.1", sha256="3e78c933563fade8781a1dca2079bff135af2f5d2c6eb0147797d2c1f24d006c") version("5.6.0", sha256="383728ecf49def59ab9a7f8a1d1e2eaf8b528e36b461e27030a2aab1a1ed80cb") version("5.5.1", sha256="b65cb7335abe51ba33be9d46a5ede992b4e5932fa33797397899a6bf33a770e9") @@ -161,6 +162,8 @@ class RocmTensile(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("rocm-cmake@" + ver, type="build", when="@" + ver) depends_on("hip@" + ver, when="@" + ver) @@ -180,6 +183,8 @@ class RocmTensile(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("rocm-openmp-extras@" + ver, when="@" + ver) @@ -209,6 +214,8 @@ class RocmTensile(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("rocm-smi-lib@" + ver, type="build", when="@" + ver) diff --git a/var/spack/repos/builtin/packages/rocm-validation-suite/008-correcting-library-and-include-path-WITHOUT-RVS-BUILD-TESTS.patch b/var/spack/repos/builtin/packages/rocm-validation-suite/008-correcting-library-and-include-path-WITHOUT-RVS-BUILD-TESTS.patch new file mode 100644 index 0000000000..e206428eb1 --- /dev/null +++ b/var/spack/repos/builtin/packages/rocm-validation-suite/008-correcting-library-and-include-path-WITHOUT-RVS-BUILD-TESTS.patch @@ -0,0 +1,606 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7a750b2..e281439 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -68,15 +68,14 @@ endif(rocblas_FOUND) + # variables since we will pass them as cmake params appropriately, and + # all find_packages relevant to this build will be in ROCM path hence appending it to CMAKE_PREFIX_PATH + set(ROCM_PATH "/opt/rocm" CACHE PATH "ROCM install path") +-set(CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE PATH "CMAKE installation directory") +-set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/rvs") ++set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") + set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +-set(CPACK_PACKAGING_INSTALL_PREFIX "/opt/rocm" CACHE PATH "Prefix used in built packages") ++set(CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + list(APPEND CMAKE_PREFIX_PATH "${ROCM_PATH}") +-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}" 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) ++set(ROCR_INC_DIR "${HSA_PATH}/include" CACHE PATH "Contains header files exported by ROC Runtime") ++set(ROCR_LIB_DIR "${HSA_PATH}/lib" CACHE PATH "Contains library files exported by ROC Runtime") ++set(HIP_INC_DIR "${HIP_PATH}" 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") + + add_definitions(-DROCM_PATH="${ROCM_PATH}") + add_definitions(-DRVS_LIB_PATH="${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/rvs") +@@ -420,8 +419,8 @@ 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) +@@ -436,8 +435,8 @@ else() + set(ROCM_SMI_LIB_DIR "${ROCM_PATH}/rocm_smi/lib") + else() + message( STATUS "ROCBLAS REORG Enabled Version: ${RVS_ROCBLAS_VERSION_FLAT}" ) +- set(ROCM_SMI_INC_DIR "${ROCM_PATH}/include") +- set(ROCM_SMI_LIB_DIR "${ROCM_PATH}/lib") ++ set(ROCM_SMI_INC_DIR "${ROCM_SMI_DIR}/include") ++ set(ROCM_SMI_LIB_DIR "${ROCM_SMI_DIR}/lib") + endif() + endif() + set(ROCM_SMI_LIB "rocm_smi64" CACHE STRING "rocm_smi library name") +diff --git a/babel.so/CMakeLists.txt b/babel.so/CMakeLists.txt +index f163dae..fa85b38 100644 +--- a/babel.so/CMakeLists.txt ++++ b/babel.so/CMakeLists.txt +@@ -107,13 +107,13 @@ set(HIP_HCC_LIB "amdhip64") + add_compile_options(-DRVS_ROCBLAS_VERSION_FLAT=${RVS_ROCBLAS_VERSION_FLAT}) + + # Determine Roc Runtime header files are accessible +-if(NOT EXISTS ${HIP_INC_DIR}/include/hip/hip_runtime.h) +- message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_INC_DIR path. Current value is : " ${HIP_INC_DIR}) ++if(NOT EXISTS ${HIP_PATH}/include/hip/hip_runtime.h) ++ message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) + RETURN() + endif() + +-if(NOT EXISTS ${HIP_INC_DIR}/include/hip/hip_runtime_api.h) +- message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_INC_DIR path. Current value is : " ${HIP_INC_DIR}) ++if(NOT EXISTS ${HIP_PATH}/include/hip/hip_runtime_api.h) ++ message("ERROR: ROC Runtime headers can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) + RETURN() + endif() + +@@ -133,16 +133,16 @@ if(DEFINED RVS_ROCMSMI) + endif() + + +-if(NOT EXISTS "${ROCR_LIB_DIR}/lib${HIP_HCC_LIB}.so") +- message("ERROR: ROC Runtime libraries can't be found under specified path. Please set ROCR_LIB_DIR path. Current value is : " ${ROCR_LIB_DIR}) ++if(NOT EXISTS "${HIP_PATH}/lib/lib${HIP_HCC_LIB}.so") ++ message("ERROR: ROC Runtime libraries can't be found under specified path. Please set HIP_PATH path. Current value is : " ${HIP_PATH}) + RETURN() + endif() + + ## define include directories +-include_directories(./ ../ ${ROCR_INC_DIR} ${HIP_INC_DIR}) ++include_directories(./ ../ ${HIP_PATH}) + + # Add directories to look for library files to link +-link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) ++link_directories(${RVS_LIB_DIR} ${HIP_PATH}/lib/ ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH} ${ROCM_SMI_LIB_DIR}) + ## additional libraries + set (PROJECT_LINK_LIBS rvslib libpthread.so libpci.so libm.so) + +@@ -154,7 +154,7 @@ add_library( ${RVS_TARGET} SHARED ${SOURCES}) + set_target_properties(${RVS_TARGET} PROPERTIES + SUFFIX .so.${LIB_VERSION_STRING} + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +-target_link_libraries(${RVS_TARGET} ${PROJECT_LINK_LIBS} ${HIP_HCC_LIB} ${ROCBLAS_LIB}) ++target_link_libraries(${RVS_TARGET} ${PROJECT_LINK_LIBS} ${HIP_HCC_LIB} ${ROCBLAS_LIB} ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so) + add_dependencies(${RVS_TARGET} rvslib) + + add_custom_command(TARGET ${RVS_TARGET} POST_BUILD +diff --git a/cmake_modules/tests_unit.cmake b/cmake_modules/tests_unit.cmake +index e0e9f88..7321e0a 100644 +--- a/cmake_modules/tests_unit.cmake ++++ b/cmake_modules/tests_unit.cmake +@@ -27,7 +27,7 @@ + ## define additional unit testing include directories + include_directories(${UT_INC}) + ## define additional unit testing lib directories +-link_directories(${UT_LIB} ${RVS_LIB_DIR}) ++link_directories(${UT_LIB} ${RVS_LIB_DIR} ${ROCM_SMI_LIB_DIR}) + + file(GLOB TESTSOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} test/test*.cpp ) + #message ( "TESTSOURCES: ${TESTSOURCES}" ) +@@ -45,6 +45,7 @@ FOREACH(SINGLE_TEST ${TESTSOURCES}) + ) + target_link_libraries(${TEST_NAME} + ${UT_LINK_LIBS} rvslibut rvslib gtest_main gtest pthread pci ++ ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so + ) + target_compile_definitions(${TEST_NAME} PUBLIC RVS_UNIT_TEST) + if(DEFINED tcd.${TEST_NAME}) +diff --git a/edp.so/CMakeLists.txt b/edp.so/CMakeLists.txt +index 7dd34ea..7978abe 100644 +--- a/edp.so/CMakeLists.txt ++++ b/edp.so/CMakeLists.txt +@@ -134,11 +134,11 @@ if(NOT EXISTS "${ROCR_LIB_DIR}/lib${HIP_HCC_LIB}.so") + endif() + + ## define include directories +-include_directories(./ ../ ${ROCR_INC_DIR} ${ROCBLAS_INC_DIR} ${HIP_INC_DIR}) ++include_directories(./ ../ ${ROCR_INC_DIR} ${ROCBLAS_INC_DIR} ${HIP_INC_DIR} ${YAML_CPP_INCLUDE_DIRS}) + # Add directories to look for library files to link +-link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR}) ++link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ROCM_SMI_LIB_DIR}) + ## additional libraries +-set (PROJECT_LINK_LIBS rvslib libpthread.so libpciaccess.so libpci.so libm.so) ++set (PROJECT_LINK_LIBS rvslib libpthread.so libpciaccess.so libpci.so libm.so ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so) + + ## define source files + set (SOURCES src/rvs_module.cpp src/action.cpp src/edp_worker.cpp ) +diff --git a/gm.so/CMakeLists.txt b/gm.so/CMakeLists.txt +index d3caa84..73b83ce 100644 +--- a/gm.so/CMakeLists.txt ++++ b/gm.so/CMakeLists.txt +@@ -118,11 +118,11 @@ if(DEFINED RVS_ROCMSMI) + endif() + + ## define include directories +-include_directories(./ ../ ${ROCM_SMI_INC_DIR}) ++include_directories(./ ../ ${ROCM_SMI_INC_DIR} ${YAML_CPP_INCLUDE_DIRS}) + # Add directories to look for library files to link + link_directories(${RVS_LIB_DIR} ${ROCM_SMI_LIB_DIR} ${ASAN_LIB_PATH}) + ## additional libraries +-set (PROJECT_LINK_LIBS rvslib libpthread.so libpci.so libm.so) ++set (PROJECT_LINK_LIBS rvslib libpthread.so libpci.so libm.so librocm_smi64.so ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so) + + ## define source files + set(SOURCES src/rvs_module.cpp src/action.cpp src/worker.cpp) +@@ -133,7 +133,7 @@ add_library( ${RVS_TARGET} SHARED ${SOURCES}) + set_target_properties(${RVS_TARGET} PROPERTIES + SUFFIX .so.${LIB_VERSION_STRING} + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +-target_link_libraries(${RVS_TARGET} ${PROJECT_LINK_LIBS} ${ROCM_SMI_LIB}) ++target_link_libraries(${RVS_TARGET} ${PROJECT_LINK_LIBS}) + add_dependencies(${RVS_TARGET} rvslib) + + add_custom_command(TARGET ${RVS_TARGET} POST_BUILD +diff --git a/gpup.so/CMakeLists.txt b/gpup.so/CMakeLists.txt +index 43d337a..a234feb 100644 +--- a/gpup.so/CMakeLists.txt ++++ b/gpup.so/CMakeLists.txt +@@ -109,11 +109,11 @@ else() + endif() + + ## define include directories +-include_directories(./ ../ include ../include) ++include_directories(./ ../ include ../include ${YAML_CPP_INCLUDE_DIRS}) + # Add directories to look for library files to link +-link_directories(${RVS_LIB_DIR} ${ASAN_LIB_PATH}) ++link_directories(${RVS_LIB_DIR} ${ASAN_LIB_PATH} ${ROCM_SMI_LIB_DIR}) + ## additional libraries +-set (PROJECT_LINK_LIBS rvslib libpci.so libm.so) ++set (PROJECT_LINK_LIBS rvslib libpci.so libm.so ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so) + + ## define source files + set(SOURCES src/rvs_module.cpp src/action.cpp) +@@ -124,7 +124,7 @@ set_target_properties(${RVS_TARGET} PROPERTIES + SUFFIX .so.${LIB_VERSION_STRING} + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) + +-target_link_libraries(${RVS_TARGET} ${PROJECT_LINK_LIBS} ) ++target_link_libraries(${RVS_TARGET} ${PROJECT_LINK_LIBS}) + add_dependencies(${RVS_TARGET} rvslib) + + add_custom_command(TARGET ${RVS_TARGET} POST_BUILD +diff --git a/gst.so/CMakeLists.txt b/gst.so/CMakeLists.txt +index fd346ce..cb8c4b6 100644 +--- a/gst.so/CMakeLists.txt ++++ b/gst.so/CMakeLists.txt +@@ -137,17 +137,17 @@ if(DEFINED RVS_ROCMSMI) + endif() + + +-if(NOT EXISTS "${ROCR_LIB_DIR}/lib${HIP_HCC_LIB}.so") ++if(NOT EXISTS "${HIP_INC_DIR}/lib/lib${HIP_HCC_LIB}.so") + message("ERROR: ROC Runtime libraries can't be found under specified path. Please set ROCR_LIB_DIR path. Current value is : " ${ROCR_LIB_DIR}) + RETURN() + endif() + + ## define include directories +-include_directories(./ ../ ${ROCR_INC_DIR} ${ROCBLAS_INC_DIR} ${HIP_INC_DIR}) ++include_directories(./ ../ ${ROCR_INC_DIR} ${ROCBLAS_INC_DIR} ${HIP_INC_DIR} ${YAML_CPP_INCLUDE_DIRS}) + # Add directories to look for library files to link +-link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) ++link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${HIP_INC_DIR}/lib/ ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH} ${ROCM_SMI_LIB_DIR}) + ## additional libraries +-set (PROJECT_LINK_LIBS rvslib libpthread.so libpci.so libm.so) ++set (PROJECT_LINK_LIBS rvslib libpthread.so libpci.so libm.so ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so) + + ## define source files + set(SOURCES src/rvs_module.cpp src/action.cpp src/gst_worker.cpp) +@@ -157,7 +157,7 @@ add_library( ${RVS_TARGET} SHARED ${SOURCES}) + set_target_properties(${RVS_TARGET} PROPERTIES + SUFFIX .so.${LIB_VERSION_STRING} + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +-target_link_libraries(${RVS_TARGET} ${PROJECT_LINK_LIBS} ${HIP_HCC_LIB} ${ROCBLAS_LIB}) ++target_link_libraries(${RVS_TARGET} ${PROJECT_LINK_LIBS} ${HIP_HCC_LIB} ${ROCBLAS_LIB} ) + add_dependencies(${RVS_TARGET} rvslib) + + add_custom_command(TARGET ${RVS_TARGET} POST_BUILD +diff --git a/iet.so/CMakeLists.txt b/iet.so/CMakeLists.txt +index a85ca98..252e565 100644 +--- a/iet.so/CMakeLists.txt ++++ b/iet.so/CMakeLists.txt +@@ -140,7 +140,7 @@ if(DEFINED RVS_ROCMSMI) + endif() + endif() + +-if(NOT EXISTS "${ROCR_LIB_DIR}/lib${HIP_HCC_LIB}.so") ++if(NOT EXISTS "${HIP_INC_DIR}/lib/lib${HIP_HCC_LIB}.so") + message("ERROR: ROC Runtime libraries can't be found under specified path. Please set ROCR_LIB_DIR path. Current value is : " ${ROCR_LIB_DIR}) + RETURN() + endif() +@@ -159,7 +159,7 @@ include_directories(./ ../ ${ROCM_SMI_INC_DIR} ${ROCBLAS_INC_DIR} ${ROCR_INC_DIR + # Add directories to look for library files to link + link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ROCM_SMI_LIB_DIR} ${ASAN_LIB_PATH}) + ## additional libraries +-set (PROJECT_LINK_LIBS rvslib libpthread.so libpci.so libm.so) ++set (PROJECT_LINK_LIBS rvslib libpthread.so libpci.so libm.so librocm_smi64.so ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so) + + set(SOURCES src/rvs_module.cpp src/action.cpp src/iet_worker.cpp ) + +@@ -168,7 +168,7 @@ add_library( ${RVS_TARGET} SHARED ${SOURCES}) + set_target_properties(${RVS_TARGET} PROPERTIES + SUFFIX .so.${LIB_VERSION_STRING} + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +-target_link_libraries(${RVS_TARGET} ${PROJECT_LINK_LIBS} ${HIP_HCC_LIB} ${ROCBLAS_LIB} ${ROCM_SMI_LIB}) ++target_link_libraries(${RVS_TARGET} ${PROJECT_LINK_LIBS} ${HIP_INC_DIR}/lib/ ${HIP_HCC_LIB} ${ROCBLAS_LIB}) + add_dependencies(${RVS_TARGET} rvslib) + + add_custom_command(TARGET ${RVS_TARGET} POST_BUILD +diff --git a/mem.so/CMakeLists.txt b/mem.so/CMakeLists.txt +index 5133337..2462bbc 100644 +--- a/mem.so/CMakeLists.txt ++++ b/mem.so/CMakeLists.txt +@@ -134,7 +134,7 @@ if(DEFINED RVS_ROCMSMI) + endif() + + +-if(NOT EXISTS "${ROCR_LIB_DIR}/lib${HIP_HCC_LIB}.so") ++if(NOT EXISTS "${HIP_INC_DIR}/lib/lib${HIP_HCC_LIB}.so") + message("ERROR: ROC Runtime libraries can't be found under specified path. Please set ROCR_LIB_DIR path. Current value is : " ${ROCR_LIB_DIR}) + RETURN() + endif() +@@ -143,9 +143,9 @@ endif() + include_directories(./ ../ ${ROCR_INC_DIR} ${HIP_INC_DIR}) + + # Add directories to look for library files to link +-link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) ++link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${HIP_INC_DIR}/lib ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH} ${ROCM_SMI_LIB_DIR}) + ## additional libraries +-set (PROJECT_LINK_LIBS rvslib libpthread.so libpci.so libm.so) ++set (PROJECT_LINK_LIBS rvslib libpthread.so libpci.so libm.so ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so) + + ## define source files + set(SOURCES src/rvs_module.cpp src/action.cpp src/rvs_memtest.cpp src/rvs_memworker.cpp) +diff --git a/pbqt.so/CMakeLists.txt b/pbqt.so/CMakeLists.txt +index 5ae675a..892b6ac 100644 +--- a/pbqt.so/CMakeLists.txt ++++ b/pbqt.so/CMakeLists.txt +@@ -136,11 +136,11 @@ if(NOT EXISTS ${ROCR_LIB_DIR}/${CORE_RUNTIME_LIBRARY}.so) + endif() + + ## define include directories +-include_directories(./ ../ pci ${ROCR_INC_DIR}) ++include_directories(./ ../ pci ${ROCR_INC_DIR} ${YAML_CPP_INCLUDE_DIRS}) + # Add directories to look for library files to link +-link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCT_LIB_DIR} ${ASAN_LIB_PATH}) ++link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${HSAKMT_LIB_DIR} ${ROCT_LIB_DIR} ${ASAN_LIB_PATH} ${ROCM_SMI_LIB_DIR}) + ## additional libraries +-set (PROJECT_LINK_LIBS rvslib libpthread.so libpci.so libm.so) ++set (PROJECT_LINK_LIBS rvslib libpthread.so libpci.so libm.so ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so) + + ## define source files + set(SOURCES src/rvs_module.cpp src/action.cpp src/action_run.cpp +diff --git a/pebb.so/CMakeLists.txt b/pebb.so/CMakeLists.txt +index c4e2964..7a6b368 100644 +--- a/pebb.so/CMakeLists.txt ++++ b/pebb.so/CMakeLists.txt +@@ -139,9 +139,9 @@ endif() + ## define include directories + include_directories(./ ../ pci ${ROCR_INC_DIR}) + # Add directories to look for library files to link +-link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCT_LIB_DIR} ${ASAN_LIB_PATH}) ++link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${HSAKMT_LIB_DIR} ${ROCT_LIB_DIR} ${ASAN_LIB_PATH} ${ROCM_SMI_LIB_DIR} ) + ## additional libraries +-set (PROJECT_LINK_LIBS rvslib libpthread.so libpci.so libm.so) ++set (PROJECT_LINK_LIBS rvslib libpthread.so libpci.so libm.so ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so) + + ## define source files + set(SOURCES src/rvs_module.cpp src/action.cpp src/action_run.cpp +diff --git a/peqt.so/CMakeLists.txt b/peqt.so/CMakeLists.txt +index ead507d..567358b 100644 +--- a/peqt.so/CMakeLists.txt ++++ b/peqt.so/CMakeLists.txt +@@ -107,9 +107,9 @@ else() + endif() + + ## define include directories +-include_directories(./ ../) ++include_directories(./ ../ ${HSA_PATH}) + # Add directories to look for library files to link +-link_directories(${RVS_LIB_DIR} ${ASAN_LIB_PATH}) ++link_directories(${RVS_LIB_DIR} ${HSA_PATH}/lib/ ${HSAKMT_LIB_DIR} ${ASAN_LIB_PATH} ${ROCM_SMI_LIB_DIR} ${YAML_CPP_INCLUDE_DIRS}) + ## additional libraries + set (PROJECT_LINK_LIBS rvslib libpci.so libm.so) + +@@ -121,7 +121,7 @@ add_library( ${RVS_TARGET} SHARED ${SOURCES}) + set_target_properties(${RVS_TARGET} PROPERTIES + SUFFIX .so.${LIB_VERSION_STRING} + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +-target_link_libraries(${RVS_TARGET} ${PROJECT_LINK_LIBS} ) ++target_link_libraries(${RVS_TARGET} ${PROJECT_LINK_LIBS} ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so) + add_dependencies(${RVS_TARGET} rvslib) + + add_custom_command(TARGET ${RVS_TARGET} POST_BUILD +diff --git a/perf.so/CMakeLists.txt b/perf.so/CMakeLists.txt +index 518dac9..02d2245 100644 +--- a/perf.so/CMakeLists.txt ++++ b/perf.so/CMakeLists.txt +@@ -137,7 +137,7 @@ if(DEFINED RVS_ROCMSMI) + endif() + + +-if(NOT EXISTS "${ROCR_LIB_DIR}/lib${HIP_HCC_LIB}.so") ++if(NOT EXISTS "${HIP_INC_DIR}/lib/lib${HIP_HCC_LIB}.so") + message("ERROR: ROC Runtime libraries can't be found under specified path. Please set ROCR_LIB_DIR path. Current value is : " ${ROCR_LIB_DIR}) + RETURN() + endif() +@@ -145,9 +145,9 @@ endif() + ## define include directories + include_directories(./ ../ ${ROCR_INC_DIR} ${ROCBLAS_INC_DIR} ${HIP_INC_DIR}) + # Add directories to look for library files to link +-link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) ++link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${HIP_INC_DIR}/lib ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH} ${ROCM_SMI_LIB_DIR}) + ## additional libraries +-set (PROJECT_LINK_LIBS rvslib libpthread.so libpci.so libm.so) ++set (PROJECT_LINK_LIBS rvslib libpthread.so libpci.so libm.so ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so) + + ## define source files + set(SOURCES src/rvs_module.cpp src/action.cpp src/perf_worker.cpp) +@@ -157,7 +157,7 @@ add_library( ${RVS_TARGET} SHARED ${SOURCES}) + set_target_properties(${RVS_TARGET} PROPERTIES + SUFFIX .so.${LIB_VERSION_STRING} + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +-target_link_libraries(${RVS_TARGET} ${PROJECT_LINK_LIBS} ${HIP_HCC_LIB} ${ROCBLAS_LIB}) ++target_link_libraries(${RVS_TARGET} ${PROJECT_LINK_LIBS}) + add_dependencies(${RVS_TARGET} rvslib) + + add_custom_command(TARGET ${RVS_TARGET} POST_BUILD +diff --git a/pesm.so/CMakeLists.txt b/pesm.so/CMakeLists.txt +index 1f27f34..20a8bed 100644 +--- a/pesm.so/CMakeLists.txt ++++ b/pesm.so/CMakeLists.txt +@@ -107,11 +107,11 @@ else() + endif() + + ## define include directories +-include_directories(./ ../ pci) ++include_directories(./ ../ pci ${YAML_CPP_INCLUDE_DIRS}) + # Add directories to look for library files to link +-link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) ++link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH} ${ROCM_SMI_LIB_DIR}) + ## additional libraries +-set (PROJECT_LINK_LIBS libpthread.so libpci.so libm.so) ++set (PROJECT_LINK_LIBS libpthread.so libpci.so libm.so ${PROJECT_LINK_LIBS} ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so) + + ## define source files + set(SOURCES src/rvs_module.cpp src/action.cpp src/worker.cpp) +@@ -121,7 +121,7 @@ add_library( ${RVS_TARGET} SHARED ${SOURCES}) + set_target_properties(${RVS_TARGET} PROPERTIES + SUFFIX .so.${LIB_VERSION_STRING} + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +-target_link_libraries(${RVS_TARGET} rvslib ${PROJECT_LINK_LIBS} ) ++target_link_libraries(${RVS_TARGET} rvslib ${PROJECT_LINK_LIBS}) + add_dependencies(${RVS_TARGET} rvslib) + + add_custom_command(TARGET ${RVS_TARGET} POST_BUILD +diff --git a/rcqt.so/CMakeLists.txt b/rcqt.so/CMakeLists.txt +index c0099ab..8d92982 100644 +--- a/rcqt.so/CMakeLists.txt ++++ b/rcqt.so/CMakeLists.txt +@@ -108,11 +108,11 @@ else() + endif() + + ## define include directories +-include_directories(./ ../) ++include_directories(./ ../ ${YAML_CPP_INCLUDE_DIRS}) + # Add directories to look for library files to link +-link_directories(${RVS_LIB_DIR} ${ASAN_LIB_PATH}) ++link_directories(${RVS_LIB_DIR} ${ASAN_LIB_PATH} ${ASAN_LIB_PATH} ${HSAKMT_LIB_DIR} ${ROCM_SMI_LIB_DIR}) + ## additional libraries +-set (PROJECT_LINK_LIBS rvslib) ++set (PROJECT_LINK_LIBS rvslib ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so) + + ## define source files + set(SOURCES +diff --git a/rvs/CMakeLists.txt b/rvs/CMakeLists.txt +index 0dbd41b..3a0f7ab 100644 +--- a/rvs/CMakeLists.txt ++++ b/rvs/CMakeLists.txt +@@ -113,21 +113,22 @@ else() + endif() + + ## define include directories +-include_directories(./ ../ ${YAML_CPP_INCLUDE_DIRS}) ++include_directories(./ ../ ${YAML_INC_DIR}) + ## define lib directories +-link_directories(${CMAKE_CURRENT_BINARY_DIR} ${RVS_LIB_DIR} ${ROCT_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ROCM_SMI_LIB_DIR} ${ASAN_LIB_PATH}) ++link_directories(${CMAKE_CURRENT_BINARY_DIR} ${RVS_LIB_DIR} ${RVS_LIB_DIR}/.. ${ASAN_LIB_PATH} ${ROCM_SMI_LIB_DIR} ${YAML_CPP_LIBRARIES} ${ROCT_LIB_DIR} ${ROCBLAS_LIB_DIR} ) + + ## additional libraries +-set(ROCBLAS_LIB "rocblas") +-set(ROC_THUNK_NAME "hsakmt") +-set(CORE_RUNTIME_NAME "hsa-runtime") ++set(ROCBLAS_LIB "${ROCBLAS_LIB_DIR}/librocblas.so") ++set(ROC_THUNK_NAME "${HSAKMT_LIB_DIR}/libhsakmt.a") ++set(CORE_RUNTIME_NAME "${HSA_PATH}/lib/libhsa-runtime64.so") ++set(YAML_CPP_LIB "${YAML_INC_DIR}/../lib64/libyaml-cpp.a") + set(CORE_RUNTIME_TARGET "${CORE_RUNTIME_NAME}64") +-set(PROJECT_LINK_LIBS libdl.so libpthread.so libpci.so ${YAML_CPP_LIBRARIES}) ++set(PROJECT_LINK_LIBS libdl.so libpthread.so libpci.so) + + ## define target + add_executable(${RVS_TARGET} src/rvs.cpp) + target_link_libraries(${RVS_TARGET} rvslib +- ${ROCBLAS_LIB} ${ROCM_SMI_LIB} ${ROC_THUNK_NAME} ${CORE_RUNTIME_TARGET} ${PROJECT_LINK_LIBS}) ++ ${ROCBLAS_LIB} ${ROCM_SMI_LIB} ${ROC_THUNK_NAME} ${PROJECT_LINK_LIBS} ${CORE_RUNTIME_NAME} ${YAML_CPP_LIB}) + add_dependencies(${RVS_TARGET} rvslib) + + install(TARGETS ${RVS_TARGET} +diff --git a/rvs/tests.cmake b/rvs/tests.cmake +index 38ae3fb..0d62675 100644 +--- a/rvs/tests.cmake ++++ b/rvs/tests.cmake +@@ -41,7 +41,8 @@ link_directories(${RVS_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ROCM_SMI_LIB_DIR} ${ROCT_LI + ## define target for "test-to-fail" + add_executable(${RVS_TARGET}fail src/rvs.cpp) + target_link_libraries(${RVS_TARGET}fail rvslib rvslibut ${PROJECT_LINK_LIBS} +- ${ROCM_SMI_LIB} ${ROCBLAS_LIB} ${ROC_THUNK_NAME} ${CORE_RUNTIME_TARGET}) ++ ${ROCM_SMI_LIB} ${ROCBLAS_LIB} ${ROC_THUNK_NAME} ${CORE_RUNTIME_TARGET} ++ ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so) + + target_compile_definitions(${RVS_TARGET}fail PRIVATE RVS_INVERT_RETURN_STATUS) + set_target_properties(${RVS_TARGET}fail PROPERTIES +@@ -187,7 +188,7 @@ add_test(NAME unit.ttf.rvs.config.noconfig + ) + + ## define include directories +-include_directories(${UT_INC}) ++include_directories(${UT_INC} ${YAML_INC_DIR}) + ## define lib directories + link_directories(${UT_LIB} ${ROCBLAS_LIB_DIR} ${ROCM_SMI_LIB_DIR} ${ROCT_LIB_DIR}) + ## additional libraries for unit tests +@@ -211,6 +212,7 @@ FOREACH(SINGLE_TEST ${TESTSOURCES}) + ${PROJECT_TEST_LINK_LIBS} + rvslib rvslibut gtest_main gtest pthread + ${ROCM_SMI_LIB} ${ROCBLAS_LIB} ${ROC_THUNK_NAME} ${CORE_RUNTIME_TARGET} ++ ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so + ) + add_dependencies(${TEST_NAME} rvs_gtest_target) + +diff --git a/rvslib/CMakeLists.txt b/rvslib/CMakeLists.txt +index 8d29590..d52aee3 100644 +--- a/rvslib/CMakeLists.txt ++++ b/rvslib/CMakeLists.txt +@@ -116,7 +116,7 @@ endif() + + ## define include directories + include_directories(./ ../ ../rvs +- ${ROCM_SMI_INC_DIR} ${ROCR_INC_DIR} ${ROCBLAS_INC_DIR} ${HIP_INC_DIR}) ++ ${ROCM_SMI_INC_DIR} ${HIP_PATH} ${ROCBLAS_INC_DIR} ${YAML_INC_DIR}) + + link_directories(${ASAN_LIB_PATH} ${ROCM_SMI_LIB_DIR}) + +diff --git a/smqt.so/CMakeLists.txt b/smqt.so/CMakeLists.txt +index 042586f..0133c00 100644 +--- a/smqt.so/CMakeLists.txt ++++ b/smqt.so/CMakeLists.txt +@@ -106,11 +106,11 @@ else() + endif() + + ## define include directories +-include_directories(./ ../ pci) ++include_directories(./ ../ pci ${YAML_CPP_INCLUDE_DIRS}) + # Add directories to look for library files to link +-link_directories(${RVS_LIB_DIR} ${ASAN_LIB_PATH}) ++link_directories(${RVS_LIB_DIR} ${ASAN_LIB_PATH} ${ROCM_SMI_LIB_DIR}) + ## additional libraries +-set (PROJECT_LINK_LIBS rvslib libpci.so libm.so) ++set (PROJECT_LINK_LIBS rvslib libpci.so libm.so ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so) + + ## define source files + set(SOURCES src/rvs_module.cpp src/action.cpp) +diff --git a/testif.so/CMakeLists.txt b/testif.so/CMakeLists.txt +index 4cba0f9..34b491e 100644 +--- a/testif.so/CMakeLists.txt ++++ b/testif.so/CMakeLists.txt +@@ -108,11 +108,11 @@ endif() + + + ## define include directories +-include_directories(./ ../ pci) ++include_directories(./ ../ pci ${YAML_CPP_INCLUDE_DIRS}) + # Add directories to look for library files to link +-link_directories(${RVS_LIB_DIR} ${ROCR_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH}) ++link_directories(${RVS_LIB_DIR} ${ROCBLAS_LIB_DIR} ${ASAN_LIB_PATH} ${ROCM_SMI_LIB_DIR}) + ## additional libraries +-set (PROJECT_LINK_LIBS libpthread.so libpci.so libm.so) ++set (PROJECT_LINK_LIBS libpthread.so libpci.so libm.so ${ROCBLAS_LIB_DIR}/librocblas.so ${HSAKMT_LIB_DIR}/libhsakmt.a ${HSA_PATH}/lib/libhsa-runtime64.so) + + ## define source files + ## set(SOURCES src/rvs_module.cpp src/action.cpp src/worker.cpp) +@@ -124,7 +124,7 @@ add_library( ${RVS_TARGET} SHARED src/rvs_module_no_if_methods.cpp) + set_target_properties(${RVS_TARGET} PROPERTIES + SUFFIX .so.${LIB_VERSION_STRING} + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +-target_link_libraries(${RVS_TARGET} rvslib ${PROJECT_LINK_LIBS} ) ++target_link_libraries(${RVS_TARGET} rvslib ${PROJECT_LINK_LIBS}) + add_dependencies(${RVS_TARGET} rvslib) + + add_custom_command(TARGET ${RVS_TARGET} POST_BUILD +@@ -145,7 +145,7 @@ add_library( ${RVS_TARGET} SHARED src/rvs_module_no_if0.cpp) + set_target_properties(${RVS_TARGET} PROPERTIES + SUFFIX .so.${LIB_VERSION_STRING} + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +-target_link_libraries(${RVS_TARGET} rvslib ${PROJECT_LINK_LIBS} ) ++target_link_libraries(${RVS_TARGET} rvslib ${PROJECT_LINK_LIBS}) + add_dependencies(${RVS_TARGET} rvslib) + + add_custom_command(TARGET ${RVS_TARGET} POST_BUILD +@@ -166,7 +166,7 @@ add_library( ${RVS_TARGET} SHARED src/rvs_module_no_if0_methods.cpp) + set_target_properties(${RVS_TARGET} PROPERTIES + SUFFIX .so.${LIB_VERSION_STRING} + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +-target_link_libraries(${RVS_TARGET} rvslib ${PROJECT_LINK_LIBS} ) ++target_link_libraries(${RVS_TARGET} rvslib ${PROJECT_LINK_LIBS}) + add_dependencies(${RVS_TARGET} rvslib) + + add_custom_command(TARGET ${RVS_TARGET} POST_BUILD +@@ -187,7 +187,7 @@ add_library( ${RVS_TARGET} SHARED src/rvs_module_no_if1.cpp) + set_target_properties(${RVS_TARGET} PROPERTIES + SUFFIX .so.${LIB_VERSION_STRING} + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +-target_link_libraries(${RVS_TARGET} rvslib ${PROJECT_LINK_LIBS} ) ++target_link_libraries(${RVS_TARGET} rvslib ${PROJECT_LINK_LIBS}) + add_dependencies(${RVS_TARGET} rvslib) + + add_custom_command(TARGET ${RVS_TARGET} POST_BUILD +@@ -208,7 +208,7 @@ add_library( ${RVS_TARGET} SHARED src/rvs_module_no_if1_methods.cpp) + set_target_properties(${RVS_TARGET} PROPERTIES + SUFFIX .so.${LIB_VERSION_STRING} + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +-target_link_libraries(${RVS_TARGET} rvslib ${PROJECT_LINK_LIBS} ) ++target_link_libraries(${RVS_TARGET} rvslib ${PROJECT_LINK_LIBS}) + add_dependencies(${RVS_TARGET} rvslib) + + add_custom_command(TARGET ${RVS_TARGET} POST_BUILD +@@ -229,7 +229,7 @@ add_library( ${RVS_TARGET} SHARED src/rvs_module_fail_init.cpp) + set_target_properties(${RVS_TARGET} PROPERTIES + SUFFIX .so.${LIB_VERSION_STRING} + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +-target_link_libraries(${RVS_TARGET} rvslib ${PROJECT_LINK_LIBS} ) ++target_link_libraries(${RVS_TARGET} rvslib ${PROJECT_LINK_LIBS}) + add_dependencies(${RVS_TARGET} rvslib) + + add_custom_command(TARGET ${RVS_TARGET} POST_BUILD +@@ -250,7 +250,7 @@ add_library( ${RVS_TARGET} SHARED src/rvs_module_fail_create_action.cpp) + set_target_properties(${RVS_TARGET} PROPERTIES + SUFFIX .so.${LIB_VERSION_STRING} + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +-target_link_libraries(${RVS_TARGET} rvslib ${PROJECT_LINK_LIBS} ) ++target_link_libraries(${RVS_TARGET} rvslib ${PROJECT_LINK_LIBS}) + add_dependencies(${RVS_TARGET} rvslib) + + add_custom_command(TARGET ${RVS_TARGET} POST_BUILD 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 adad90b646..588d8feb6f 100644 --- a/var/spack/repos/builtin/packages/rocm-validation-suite/package.py +++ b/var/spack/repos/builtin/packages/rocm-validation-suite/package.py @@ -20,7 +20,8 @@ class RocmValidationSuite(CMakePackage): tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") - + version("5.7.1", sha256="202f2b6e014bbbeec40af5d3ec630c042f09a61087a77bd70715d81044ea4d65") + version("5.7.0", sha256="f049b7786a220e9b6dfe099f17727dd0d9e41be9e680fe8309eae400cc5536ea") version("5.6.1", sha256="d5e4100e2d07311dfa101563c15d026a8130442cdee8af9ef861832cd7866c0d") version("5.6.0", sha256="54cc5167055870570c97ee7114f48d24d5415f984e0c9d7b58b83467e0cf18fb") version("5.5.1", sha256="0fbfaa9f68642b590ef04f9778013925bbf3f17bdcd35d4c85a8ffd091169a6e") @@ -117,9 +118,11 @@ class RocmValidationSuite(CMakePackage): ) patch( "007-cleanup-path-reference-donot-download-googletest-yaml-library-path_5.6.patch", - when="@5.6:", + when="@5.6", + ) + patch( + "008-correcting-library-and-include-path-WITHOUT-RVS-BUILD-TESTS.patch", when="@5.7.0:5.7" ) - depends_on("cmake@3.5:", type="build") depends_on("zlib-api", type="link") depends_on("yaml-cpp~shared") @@ -158,6 +161,8 @@ class RocmValidationSuite(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("hip@" + ver, when="@" + ver) depends_on("rocminfo@" + ver, when="@" + ver) @@ -194,12 +199,13 @@ class RocmValidationSuite(CMakePackage): def cmake_args(self): args = [ + self.define("RVS_BUILD_TESTS", False), self.define("HIP_PATH", self.spec["hip"].prefix), self.define("HSA_PATH", self.spec["hsa-rocr-dev"].prefix), self.define("ROCM_SMI_DIR", self.spec["rocm-smi-lib"].prefix), 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"].libs.directories[0]), + self.define("YAML_LIB_DIR", self.spec["yaml-cpp"].prefix.lib64), ] if self.spec.satisfies("@4.5.0:"): args.append(self.define("UT_INC", self.spec["googletest"].prefix.include)) diff --git a/var/spack/repos/builtin/packages/rocminfo/package.py b/var/spack/repos/builtin/packages/rocminfo/package.py index 92fcd8c826..591c4f03ad 100644 --- a/var/spack/repos/builtin/packages/rocminfo/package.py +++ b/var/spack/repos/builtin/packages/rocminfo/package.py @@ -18,6 +18,8 @@ class Rocminfo(CMakePackage): maintainers("srekolam", "renjithravindrankannath", "haampie") version("master", branch="master") + version("5.7.1", sha256="642dc2ec4254b3c30c43064e6690861486db820b25f4906ec78bdb47e68dcd0b") + version("5.7.0", sha256="a5a3c19513bf26f17f163a03ba5288c5c761619ef55f0cb9e15472771748b93e") version("5.6.1", sha256="780b186ac7410a503eca1060f4bbc35db1b7b4d1d714d15c7534cd26d8af7b54") version("5.6.0", sha256="87d98a736e4f7510d1475d35717842068d826096a0af7c15a395bcf9d36d7fa0") version("5.5.1", sha256="bcab27bb3595d5a4c981e2416458d169e85c27e603c22e743d9240473bfbe98a") @@ -132,12 +134,14 @@ class Rocminfo(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", "master", ]: depends_on("hsakmt-roct@" + ver, when="@" + ver) depends_on("hsa-rocr-dev@" + ver, when="@" + ver) - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + ver) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/rocprim/package.py b/var/spack/repos/builtin/packages/rocprim/package.py index 5394f73958..d104ec1f49 100644 --- a/var/spack/repos/builtin/packages/rocprim/package.py +++ b/var/spack/repos/builtin/packages/rocprim/package.py @@ -15,7 +15,8 @@ class Rocprim(CMakePackage): tags = ["rocm"] maintainers("cgmb", "srekolam", "renjithravindrankannath") - + version("5.7.1", sha256="15d820a0f61aed60efbba88b6efe6942878b02d912f523f9cf8f33a4583d6cd7") + version("5.7.0", sha256="a1bf94bbad13a0410b49476771270606d8a9d257188ee3ec3a37eee80540fe9b") version("5.6.1", sha256="e9ec1b0039c07cf3096653a04224fe5fe755afc6ba000f6838b3a8bc84df27de") version("5.6.0", sha256="360d6ece3c4a3c289dd88043432026fb989e982ae4d05230d8cdc858bcd50466") version("5.5.1", sha256="63cdc682afb39efd18f097faf695ce64c851c4a550a8ad96fa89d694451b6a42") @@ -142,6 +143,8 @@ class Rocprim(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("hip@" + ver, when="@" + ver) depends_on("comgr@" + ver, when="@" + ver) diff --git a/var/spack/repos/builtin/packages/rocrand/package.py b/var/spack/repos/builtin/packages/rocrand/package.py index eb6496d338..d40b9b9bee 100644 --- a/var/spack/repos/builtin/packages/rocrand/package.py +++ b/var/spack/repos/builtin/packages/rocrand/package.py @@ -24,7 +24,8 @@ class Rocrand(CMakePackage): version("develop", branch="develop") version("master", branch="master") - + version("5.7.1", sha256="885cd905bbd23d02ba8f3f87d5c0b79bc44bd020ea9af190f3959cf5aa33d07d") + version("5.7.0", sha256="d6053d986821e5cbc6cfec0778476efb1411ef943f11e7a8b973b1814a259dcf") version("5.6.1", sha256="6bf71e687ffa0fcc1b00e3567dd43da4147a82390f1b2db5e6f1f594dee6066d") version("5.6.0", sha256="cc894d2f1af55e16b62c179062063946609c656043556189c656a115fd7d6f5f") version("5.5.1", sha256="e8bed3741b19e296bd698fc55b43686206f42f4deea6ace71513e0c48258cc6e") @@ -197,6 +198,8 @@ class Rocrand(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("hip@" + ver, when="@" + ver) depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) diff --git a/var/spack/repos/builtin/packages/rocsolver/package.py b/var/spack/repos/builtin/packages/rocsolver/package.py index babf8b9d52..82c98f154d 100644 --- a/var/spack/repos/builtin/packages/rocsolver/package.py +++ b/var/spack/repos/builtin/packages/rocsolver/package.py @@ -39,6 +39,8 @@ class Rocsolver(CMakePackage): version("develop", branch="develop") version("master", branch="master") + version("5.7.1", sha256="83e0c137b8690dbeb2e85d9e25415d96bd06979f09f2b10b2aff8e4c9f833fa4") + version("5.7.0", sha256="bb16d360f14b34fe6e8a6b8ddc6e631672a5ffccbdcb25f0ce319edddd7f9682") version("5.6.1", sha256="6a8f366218aee599a0e56755030f94ee690b34f30e6d602748632226c5dc21bb") version("5.6.0", sha256="54baa7f35f3c53da9005054e6f7aeecece5526dafcb277af32cbcb3996b0cbbc") version("5.5.1", sha256="8bf843e42d2e89203ea5fdb6e6082cea90da8d02920ab4c09bcc2b6f69909760") @@ -174,10 +176,12 @@ class Rocsolver(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("hip@" + ver, when="@" + ver) depends_on("rocblas@" + ver, when="@" + ver) - for ver in ["5.6.0", "5.6.1"]: + for ver in ["5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocsparse@5.2:", when="@5.6:") for tgt in itertools.chain(["auto"], amdgpu_targets): diff --git a/var/spack/repos/builtin/packages/rocsparse/package.py b/var/spack/repos/builtin/packages/rocsparse/package.py index e0ae280662..0462d2526a 100644 --- a/var/spack/repos/builtin/packages/rocsparse/package.py +++ b/var/spack/repos/builtin/packages/rocsparse/package.py @@ -32,7 +32,8 @@ class Rocsparse(CMakePackage): sticky=True, ) variant("test", default=False, description="Build rocsparse-test client") - + version("5.7.1", sha256="4c09b182b371124675d4057246021b5ed45e2833fdbf265b37a9b06b668baf0a") + version("5.7.0", sha256="a42f0eb531b015b719e2bdcdff0cfb214e9894f73107966260f26931f982ecbc") version("5.6.1", sha256="6a50a64354507f1374e1a86aa7f5c07d1aaa96ac193ac292c279153087bb5d54") version("5.6.0", sha256="5797db3deb4a532e691447e3e8c923b93bd9fe4c468f3a88f00cecd80bebcae4") version("5.5.1", sha256="1dd2d18898dfebdf898e8fe7d1c1198e8f8451fd70ff12a1990ec1419cf359e1") @@ -147,6 +148,8 @@ class Rocsparse(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("hip@" + ver, when="@" + ver) depends_on("rocprim@" + ver, when="@" + ver) diff --git a/var/spack/repos/builtin/packages/rocthrust/package.py b/var/spack/repos/builtin/packages/rocthrust/package.py index 196bd7eaa1..9997f12255 100644 --- a/var/spack/repos/builtin/packages/rocthrust/package.py +++ b/var/spack/repos/builtin/packages/rocthrust/package.py @@ -18,7 +18,8 @@ class Rocthrust(CMakePackage): tags = ["rocm"] maintainers("cgmb", "srekolam", "renjithravindrankannath") - + version("5.7.1", sha256="b7cb9ea6c42b2c6b610c34d2c438443e0f99245bd391aff18591949bf1cd53ee") + version("5.7.0", sha256="64e10f071acfc5b8e3c168b9178289cf1afc7b168bf1962793fc256b25074d3a") version("5.6.1", sha256="63df61d5ab46d4cfda6066d748274bacecc77151692e372e6f7df5e91852bdc2") version("5.6.0", sha256="e52a27bcb4add38a5f0f3a5c7e409c230bf4ba9afae19bd2e06c2be00d39db59") version("5.5.1", sha256="66f126e5ea46ca761533411f81e83402773f95d3184cb7645ca73df227413023") @@ -146,6 +147,8 @@ class Rocthrust(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("hip@" + ver, when="@" + ver) depends_on("rocprim@" + ver, when="@" + ver) 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 c7a80816c4..3b721c696d 100644 --- a/var/spack/repos/builtin/packages/roctracer-dev-api/package.py +++ b/var/spack/repos/builtin/packages/roctracer-dev-api/package.py @@ -17,6 +17,8 @@ class RoctracerDevApi(Package): tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") + version("5.7.1", sha256="ec0453adac7e62b142eb0df1e1e2506863aac4c3f2ce9d117c3184c08c0c6b48") + version("5.7.0", sha256="40bb757920488466e29df90bb80a975cc340bf7f8771fb1d754dfbb6b688d78e") version("5.6.1", sha256="007c498be25b067ad9a7631a2b0892f9129150ee9714e471a921225875d45e69") version("5.6.0", sha256="cbcfe4fa2e8b627006b320a93992fb3078696d8ef2ef049b4b880b6b7d57e13e") version("5.5.1", sha256="3afc31ebfdb14b0365185ca6b9326a83b1503a94a51d910f5ce7ced192d8c133") diff --git a/var/spack/repos/builtin/packages/roctracer-dev/package.py b/var/spack/repos/builtin/packages/roctracer-dev/package.py index 328aa0844b..ba53e12b91 100644 --- a/var/spack/repos/builtin/packages/roctracer-dev/package.py +++ b/var/spack/repos/builtin/packages/roctracer-dev/package.py @@ -20,6 +20,8 @@ class RoctracerDev(CMakePackage, ROCmPackage): maintainers("srekolam", "renjithravindrankannath") libraries = ["libroctracer64"] + version("5.7.1", sha256="ec0453adac7e62b142eb0df1e1e2506863aac4c3f2ce9d117c3184c08c0c6b48") + version("5.7.0", sha256="40bb757920488466e29df90bb80a975cc340bf7f8771fb1d754dfbb6b688d78e") version("5.6.1", sha256="007c498be25b067ad9a7631a2b0892f9129150ee9714e471a921225875d45e69") version("5.6.0", sha256="cbcfe4fa2e8b627006b320a93992fb3078696d8ef2ef049b4b880b6b7d57e13e") version("5.5.1", sha256="3afc31ebfdb14b0365185ca6b9326a83b1503a94a51d910f5ce7ced192d8c133") @@ -76,6 +78,8 @@ class RoctracerDev(CMakePackage, ROCmPackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("hsakmt-roct@" + ver, when="@" + ver) depends_on("hsa-rocr-dev@" + ver, when="@" + ver) @@ -98,7 +102,7 @@ class RoctracerDev(CMakePackage, ROCmPackage): ]: depends_on("rocprofiler-dev@" + ver, when="@" + ver) - for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1"]: + for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-core@" + ver, when="@" + ver) patch("0001-include-rocprofiler-dev-path.patch", when="@5.3:5.4") diff --git a/var/spack/repos/builtin/packages/rocwmma/package.py b/var/spack/repos/builtin/packages/rocwmma/package.py index 96978f7862..dd2e2099a0 100644 --- a/var/spack/repos/builtin/packages/rocwmma/package.py +++ b/var/spack/repos/builtin/packages/rocwmma/package.py @@ -25,6 +25,8 @@ class Rocwmma(CMakePackage): tags = ["rocm"] maintainers("srekolam", "renjithravindrankannath") + version("5.7.1", sha256="a998a1385e6ad7062707ddb9ff82bef727ca48c39a10b4d861667024e3ffd2a3") + version("5.7.0", sha256="a8f1b090e9e504a149a924c80cfb6aca817359b43833a6512ba32e178245526f") version("5.6.1", sha256="41a5159ee1ad5fc411fe6220f37bd754e26d3883c24c0f2378f50ef628bc1b8f") version("5.6.0", sha256="78b6ab10fce71d10a9d762b2eaab3390eb13b05c764f47a3b0a303ec3d37acf8") version("5.5.1", sha256="ada30d5e52df5da0d3f4e212a25efb492dbedc129628f4db4ef4ed77667da228") @@ -72,6 +74,8 @@ class Rocwmma(CMakePackage): "5.5.1", "5.6.0", "5.6.1", + "5.7.0", + "5.7.1", ]: depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) depends_on("llvm-amdgpu@" + ver, type="build", when="@" + ver) @@ -79,7 +83,7 @@ class Rocwmma(CMakePackage): depends_on("rocblas@" + ver, type="build", when="@" + ver) depends_on("rocm-openmp-extras@" + ver, type="build", when="@" + ver) - for ver in ["5.6.0", "5.6.1"]: + for ver in ["5.6.0", "5.6.1", "5.7.0", "5.7.1"]: depends_on("rocm-smi-lib@" + ver, when="@" + ver) for tgt in itertools.chain(["auto"], amdgpu_targets): diff --git a/var/spack/repos/builtin/packages/rpp/package.py b/var/spack/repos/builtin/packages/rpp/package.py index bb30bca21b..26cea3daa0 100644 --- a/var/spack/repos/builtin/packages/rpp/package.py +++ b/var/spack/repos/builtin/packages/rpp/package.py @@ -15,11 +15,20 @@ class Rpp(CMakePackage): homepage = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/rpp" git = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/rpp.git" - url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/rpp/archive/0.97.tar.gz" + url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/rpp/archive/refs/tags/rocm-5.7.0.tar.gz" + + def url_for_version(self, version): + if version >= Version("5.7.0"): + url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/rpp/archive/refs/tags/rocm-{0}.tar.gz" + else: + url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/rpp/archive/{0}.tar.gz" + return url.format(version) maintainers = ["srekolam", "afzpatel"] tags = ["rocm"] - + version("5.7.1", sha256="36fff5f1c52d969c3e2e0c75b879471f731770f193c9644aa6ab993fb8fa4bbf") + version("5.7.0", sha256="1c612cde3c3d3840ae75ee5c1ee59bd8d61b1fdbf84421ae535cda863470fc06") + version("1.2.0", sha256="660a11e1bd8706967835597b26daa874fd1507459bfebe22818149444bec540c") version("1.1.0", sha256="9b1b9e721df27ee577819710b261071c68b2dccba96d9daf5d0535ee5f0e045f") version("1.0.0", sha256="040601e356b0a06c4ffb2043320ae822ab0da78af867392002c7b68dbd85989c") version("0.99", sha256="f1d7ec65d0148ddb7b3ce836a7e058727036df940d72d1683dee590a913fd44a") -- cgit v1.2.3-70-g09d2