diff --git a/var/spack/repos/spack_repo/builtin/packages/amdsmi/package.py b/var/spack/repos/spack_repo/builtin/packages/amdsmi/package.py index b4e5047ccdf..546530bec25 100644 --- a/var/spack/repos/spack_repo/builtin/packages/amdsmi/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/amdsmi/package.py @@ -21,6 +21,7 @@ class Amdsmi(CMakePackage): libraries = ["libamd_smi"] license("MIT") + version("6.4.0", sha256="6f0200ba7305171e9dadbfcd41ff00c194b98d2b88e0555c57739ef01c767233") version("6.3.3", sha256="e23abc65a1cd75764d7da049b91cce2a095b287279efcd4f90b4b9b63b974dd5") version("6.3.2", sha256="1ed452eedfe51ac6e615d7bfe0bd7a0614f21113874ae3cbea7df72343cc2d13") version("6.3.1", sha256="a3a5a711052e813b9be9304d5e818351d3797f668ec2a455e61253a73429c355") @@ -38,6 +39,7 @@ class Amdsmi(CMakePackage): version("5.5.1", sha256="b794c7fd562fd92f2c9f2bbdc2d5dded7486101fcd4598f2e8c3484c9a939281") version("5.5.0", sha256="dcfbd96e93afcf86b1261464e008e9ef7e521670871a1885e6eaffc7cdc8f555") + depends_on("c", type="build") depends_on("cxx", type="build") # generated depends_on("cmake@3.11:") diff --git a/var/spack/repos/spack_repo/builtin/packages/aqlprofile/package.py b/var/spack/repos/spack_repo/builtin/packages/aqlprofile/package.py index a0604825926..bd5fcf7400f 100644 --- a/var/spack/repos/spack_repo/builtin/packages/aqlprofile/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/aqlprofile/package.py @@ -10,6 +10,20 @@ from spack.package import * _versions = { + "6.4.0": { + "apt": ( + "5ec56bc3c227ad37227072bd513c58c9501e1ceefb06692ad4812f337853dca4", + "https://repo.radeon.com/rocm/apt/6.4/pool/main/h/hsa-amd-aqlprofile/hsa-amd-aqlprofile_1.0.0.60400-47~22.04_amd64.deb", + ), + "yum": ( + "22ed4c6a999ca6823e5e6bf9f4ab560cba68025f354346b1ac2ebb4757239c56", + "https://repo.radeon.com/rocm/rhel8/6.4/main/hsa-amd-aqlprofile-1.0.0.60400-47.el8.x86_64.rpm", + ), + "zyp": ( + "7a4c9ca0e6ca178c65776f9b1d9d01ca7576eaa555fdcbf49a42def1ce6d6041", + "https://repo.radeon.com/rocm/zyp/6.4/main/hsa-amd-aqlprofile-1.0.0.60400-sles156.47.x86_64.rpm", + ), + }, "6.3.3": { "apt": ( "5fe2b18e75e8c0a66069af8446399796818f7340a9ef5f2b52adaa79ee8e2a37", @@ -307,6 +321,7 @@ class Aqlprofile(Package): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/comgr/package.py b/var/spack/repos/spack_repo/builtin/packages/comgr/package.py index d3541ffccb6..e433d21214c 100644 --- a/var/spack/repos/spack_repo/builtin/packages/comgr/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/comgr/package.py @@ -31,6 +31,7 @@ def url_for_version(self, version): license("NCSA") version("master", branch="amd-stg-open", deprecated=True) + version("6.4.0", sha256="dca1c145a23f05229d5d646241f9d1d3c5dbf1d745b338ae020eabe33beb965c") version("6.3.3", sha256="4df9aba24e574edf23844c0d2d9dda112811db5c2b08c9428604a21b819eb23d") version("6.3.2", sha256="1f52e45660ea508d3fe717a9903fe27020cee96de95a3541434838e0193a4827") version("6.3.1", sha256="e9c2481cccacdea72c1f8d3970956c447cec47e18dfb9712cbbba76a2820552c") @@ -94,6 +95,7 @@ def url_for_version(self, version): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", "master", ]: # llvm libs are linked statically, so this *could* be a build dep @@ -123,6 +125,7 @@ def url_for_version(self, version): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/composable_kernel/package.py b/var/spack/repos/spack_repo/builtin/packages/composable_kernel/package.py index 154a0e4d502..dacfb5b4c32 100644 --- a/var/spack/repos/spack_repo/builtin/packages/composable_kernel/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/composable_kernel/package.py @@ -21,6 +21,7 @@ class ComposableKernel(CMakePackage): license("MIT") version("master", branch="develop", deprecated=True) + version("6.4.0", sha256="8dbfea0bdc4950ca60e8d1ea43edf1f515c4a34e47ead951415c49a0669a3baf") version("6.3.3", sha256="b7102efba044455416a6127af1951019fe8365a653ea7eb0b1d83bb4542c9309") version("6.3.2", sha256="875237fe493ff040f8f63b827cddf2ff30a8d3aa18864f87d0e35323c7d62a2d") version("6.3.1", sha256="3e8c8c832ca3f9ceb99ab90f654b93b7db876f08d90eda87a70bc629c854052a") @@ -65,6 +66,7 @@ class ComposableKernel(CMakePackage): for ver in [ "master", + "6.4.0", "6.3.3", "6.3.2", "6.3.1", diff --git a/var/spack/repos/spack_repo/builtin/packages/hip/package.py b/var/spack/repos/spack_repo/builtin/packages/hip/package.py index a8860e0688b..f9640570663 100644 --- a/var/spack/repos/spack_repo/builtin/packages/hip/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/hip/package.py @@ -27,6 +27,7 @@ class Hip(CMakePackage): license("MIT") version("master", branch="master", deprecated=True) + version("6.4.0", sha256="bec899ba67df9aa7056297e5ad104b8e36938b1bab22f1f418f69a8e0043d07f") version("6.3.3", sha256="aa3a5466304d1dbee0d976b50fccb710dd12e2e1d5534793396447c0ff845e2c") version("6.3.2", sha256="66a4eba98bd74fc7126ce7cb4d59653b22075fe95a70412fe283dc806ae366e0") version("6.3.1", sha256="76f862493c4912a06e0e0b8da3917c2ba7481f1e05f2c23ffd5e05f8c44e3037") @@ -123,6 +124,7 @@ class Hip(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") depends_on(f"comgr@{ver}", when=f"@{ver}") @@ -151,6 +153,7 @@ class Hip(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hipify-clang@{ver}", when=f"@{ver}") @@ -173,6 +176,7 @@ class Hip(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") @@ -192,10 +196,11 @@ class Hip(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hipcc@{ver}", when=f"@{ver}") - for ver in ["6.2.0", "6.2.1", "6.2.4", "6.3.0", "6.3.1", "6.3.2", "6.3.3"]: + for ver in ["6.2.0", "6.2.1", "6.2.4", "6.3.0", "6.3.1", "6.3.2", "6.3.3", "6.4.0"]: depends_on(f"rocprofiler-register@{ver}", when=f"@{ver}") # roc-obj-ls requirements @@ -257,6 +262,7 @@ class Hip(CMakePackage): ) # Add hip-clr sources thru the below for d_version, d_shasum in [ + ("6.4.0", "76fd0ad83da0dabf7c91ca4cff6c51f2be8ab259e08ad9743af47d1b3473c2ff"), ("6.3.3", "8e5adca8f8c2d99d4a4e49605dd6b56b7881b762ee8ce15b4a7000e3cd982fec"), ("6.3.2", "ec13dc4ffe212beee22171cb2825d2b16cdce103c835adddb482b9238cf4f050"), ("6.3.1", "bfb8a4a59e7bd958e2cd4bf6f14c6cdea601d9827ebf6dc7af053a90e963770f"), @@ -317,6 +323,7 @@ class Hip(CMakePackage): ) # Add hipother sources thru the below for d_version, d_shasum in [ + ("6.4.0", "53d5654d34e00f4bfa0846b291fe87ef6d43087349917159e663a842ea29a783"), ("6.3.3", "95cb2aab4bd996f0bd5f38427412cd768692a11fad70b97d20e402f32b1ef03e"), ("6.3.2", "1623d823de49471aae3ecb1fad0e9cdddf9301a4089f1fd44f78ac2ff0c20fb2"), ("6.3.1", "caa69147227bf72fa7b076867f84579456ef55af63efec29914265a80602df42"), @@ -676,4 +683,6 @@ def cmake_args(self): args.append(self.define("HIPCC_BIN_DIR", self.stage.source_path + "/hipcc/bin")) if self.spec.satisfies("@6.0:"): args.append(self.define("HIPCC_BIN_DIR", self.spec["hipcc"].prefix.bin)) + if self.spec.satisfies("@6.4.0:"): + args.append(self.define("clang", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang")) return args diff --git a/var/spack/repos/spack_repo/builtin/packages/hip_tensor/package.py b/var/spack/repos/spack_repo/builtin/packages/hip_tensor/package.py index 3b24f738a56..0be90ab1d3f 100644 --- a/var/spack/repos/spack_repo/builtin/packages/hip_tensor/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/hip_tensor/package.py @@ -19,6 +19,7 @@ class HipTensor(CMakePackage, ROCmPackage): maintainers("srekolam", "afzpatel") version("master", branch="master", deprecated=True) + version("6.4.0", sha256="cc2a738defa72cd2b39f4d358c7967dc93b490160b6eb74f893c4626ad334310") version("6.3.3", sha256="2f4e34c5a96004e24fcdf70f9157f1079ab177a78f6dbf96ea8290f668257c23") version("6.3.2", sha256="094db6d759eb32e9d15c36fce7f5b5d46ba81416953a8d9435b2fb9c161d8c83") version("6.3.1", sha256="142401331526e6da3fa172cce283f1c053056cb59cf431264443da76cee2f168") @@ -36,6 +37,7 @@ class HipTensor(CMakePackage, ROCmPackage): variant("asan", default=False, description="Build with address-sanitizer enabled or disabled") + depends_on("c", type="build") depends_on("cxx", type="build") # generated for ver in [ @@ -53,6 +55,7 @@ class HipTensor(CMakePackage, ROCmPackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", "master", ]: depends_on(f"composable-kernel@{ver}", when=f"@{ver}") @@ -69,6 +72,7 @@ class HipTensor(CMakePackage, ROCmPackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hipcc@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/hip_tests/package.py b/var/spack/repos/spack_repo/builtin/packages/hip_tests/package.py index e0c8f361d4d..51f8066166b 100644 --- a/var/spack/repos/spack_repo/builtin/packages/hip_tests/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/hip_tests/package.py @@ -20,6 +20,8 @@ class HipTests(CMakePackage): maintainers("srekolam", "renjithravindrankannath", "afzpatel") + version("6.4.0", sha256="bf609b7b4c7a567ed265d3cb305510321a47c5f311a80ae8d1beed1f4891c070") + version("6.3.3", sha256="7c8ccc78bdc7d684f2bc55ef1affa64e7ddad4b2bf28f12a5aede079002b8a12") version("6.3.2", sha256="5af72efd608962df5a73c8b66b479954dc432fe01828b671a91bce0451ac688b") version("6.3.1", sha256="0fc1cf4f46f2bbef377d65803d86c2489b01b598c468070c79c5114a661f07c6") version("6.3.0", sha256="8081d4ab1a43ffa1cebd646668d83008b799ab98c14daf7b455922355a439c8a") @@ -34,7 +36,19 @@ class HipTests(CMakePackage): depends_on("cxx", type="build") # generated depends_on("cmake", type="run") - for ver in ["6.1.0", "6.1.1", "6.1.2", "6.2.0", "6.2.1", "6.2.4", "6.3.0", "6.3.1", "6.3.2"]: + for ver in [ + "6.1.0", + "6.1.1", + "6.1.2", + "6.2.0", + "6.2.1", + "6.2.4", + "6.3.0", + "6.3.1", + "6.3.2", + "6.3.3", + "6.4.0", + ]: depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/hipblas/package.py b/var/spack/repos/spack_repo/builtin/packages/hipblas/package.py index 88d1769a28a..7ca29c43d20 100644 --- a/var/spack/repos/spack_repo/builtin/packages/hipblas/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/hipblas/package.py @@ -27,6 +27,7 @@ class Hipblas(CMakePackage, CudaPackage, ROCmPackage): version("develop", branch="develop", deprecated=True) version("master", branch="master", deprecated=True) + version("6.4.0", sha256="544a302bdc494af02147dc14c75d088031927e1c3a2f7a349d817497000b1c34") version("6.3.3", sha256="8f645a5c9298170e71354437188eeca8272ff2b98077e9f34d1ca0fd7f27b7f8") version("6.3.2", sha256="6e86d4f8657e13665e37fdf3174c3a30f4c7dff2c4e2431d1be110cd7d463971") version("6.3.1", sha256="77a1845254d738c43a48bc52fa3e94499ed83535b5771408ff476122bc4b7b7c") @@ -99,6 +100,7 @@ class Hipblas(CMakePackage, CudaPackage, ROCmPackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-cmake@{ver}", when=f"+rocm @{ver}") depends_on(f"rocm-openmp-extras@{ver}", type="test", when=f"+rocm @{ver}") @@ -128,6 +130,7 @@ class Hipblas(CMakePackage, CudaPackage, ROCmPackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", "master", "develop", ]: @@ -136,7 +139,7 @@ class Hipblas(CMakePackage, CudaPackage, ROCmPackage): for tgt in ROCmPackage.amdgpu_targets: depends_on(f"rocblas amdgpu_target={tgt}", when=f"+rocm amdgpu_target={tgt}") depends_on(f"rocsolver amdgpu_target={tgt}", when=f"+rocm amdgpu_target={tgt}") - for ver in ["6.3.0", "6.3.1", "6.3.2", "6.3.3"]: + for ver in ["6.3.0", "6.3.1", "6.3.2", "6.3.3", "6.4.0"]: depends_on(f"hipblas-common@{ver}", when=f"@{ver}") @classmethod diff --git a/var/spack/repos/spack_repo/builtin/packages/hipblas_common/package.py b/var/spack/repos/spack_repo/builtin/packages/hipblas_common/package.py index d3a14538b20..0931578c45a 100644 --- a/var/spack/repos/spack_repo/builtin/packages/hipblas_common/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/hipblas_common/package.py @@ -17,6 +17,7 @@ class HipblasCommon(CMakePackage): license("MIT") + version("6.4.0", sha256="8953bcf13ba1aa03cb29481bd90eaef373bf0e41cadff68e567ecd2ec0b07363") version("6.3.3", sha256="b2b77abb5c851674839b583dc313684b5f6aa676e8186ff0a5696b6962c2b4da") version("6.3.2", sha256="29aa1ac1a0f684a09fe2ea8a34ae8af3622c27708c7df403a7481e75174e1984") version("6.3.1", sha256="512e652483b5580713eca14db3fa633d0441cd7c02cdb0d26e631ea605b9231b") diff --git a/var/spack/repos/spack_repo/builtin/packages/hipblaslt/002-link-roctracer.patch b/var/spack/repos/spack_repo/builtin/packages/hipblaslt/002-link-roctracer.patch new file mode 100644 index 00000000000..bff2a5854e3 --- /dev/null +++ b/var/spack/repos/spack_repo/builtin/packages/hipblaslt/002-link-roctracer.patch @@ -0,0 +1,51 @@ +diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt +index 24e25ab..1907108 100644 +--- a/library/CMakeLists.txt ++++ b/library/CMakeLists.txt +@@ -72,6 +72,7 @@ include(src/CMakeLists.txt) + # Create hipBLASLt library + add_library(hipblaslt ${hipblaslt_source} ${hipblaslt_headers_public}) + add_library(roc::hipblaslt ALIAS hipblaslt) ++target_include_directories( hipblaslt PRIVATE ${MSGPACK_DIR}/include ) + + # Target compile definitions + if(NOT BUILD_CUDA) +@@ -159,7 +160,9 @@ if(NOT BUILD_CUDA) + endif() + + if(HIPBLASLT_ENABLE_MARKER) +- target_link_libraries(hipblaslt PRIVATE -lroctx64) ++ find_path(ROCTRACER_INCLUDE_DIR "roctracer/roctx.h") ++ target_include_directories(hipblaslt PRIVATE ${ROCTRACER_INCLUDE_DIR}) ++ target_link_libraries(hipblaslt PRIVATE ${rocTracer}) + endif() + + if( NOT BUILD_CUDA AND NOT LEGACY_HIPBLAS_DIRECT ) +diff --git a/tensilelite/Tensile/Source/client/CMakeLists.txt b/tensilelite/Tensile/Source/client/CMakeLists.txt +index 8dc7401..e6d0ba9 100644 +--- a/tensilelite/Tensile/Source/client/CMakeLists.txt ++++ b/tensilelite/Tensile/Source/client/CMakeLists.txt +@@ -64,7 +64,9 @@ target_include_directories(TensileClient PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/inc + target_link_libraries(TensileClient PRIVATE TensileHost Boost::program_options Boost::filesystem rocm_smi) + + if(Tensile_ENABLE_MARKER) +- target_link_libraries(TensileClient PRIVATE -lroctx64) ++ find_path(ROCTRACER_INCLUDE_DIR "roctracer/roctx.h") ++ target_include_directories(TensileClient PRIVATE ${ROCTRACER_INCLUDE_DIR}) ++ target_link_libraries(TensileClient PRIVATE ${rocTracer}) + endif() + + if(TENSILE_USE_OPENMP) +diff --git a/tensilelite/Tensile/cmake/TensileConfig.cmake b/tensilelite/Tensile/cmake/TensileConfig.cmake +index 7627780..ac3560a 100644 +--- a/tensilelite/Tensile/cmake/TensileConfig.cmake ++++ b/tensilelite/Tensile/cmake/TensileConfig.cmake +@@ -234,6 +234,8 @@ function(TensileCreateLibraryFiles + set(Options ${Options} "--build-id=${Tensile_BUILD_ID}") + endif() + ++ set(Options ${Options} "--offload-bundler=$ENV{TENSILE_ROCM_OFFLOAD_BUNDLER_PATH}") ++ + set(CommandLine ${VIRTUALENV_BIN_DIR}/${VIRTUALENV_PYTHON_EXENAME} ${Script} ${Options} ${Tensile_LOGIC_PATH} ${Tensile_OUTPUT_PATH} HIP) + message(STATUS "Tensile_CREATE_COMMAND: ${CommandLine}") + diff --git a/var/spack/repos/spack_repo/builtin/packages/hipblaslt/003-use-rocm-smi-config.patch b/var/spack/repos/spack_repo/builtin/packages/hipblaslt/003-use-rocm-smi-config.patch new file mode 100644 index 00000000000..1eceb64afbc --- /dev/null +++ b/var/spack/repos/spack_repo/builtin/packages/hipblaslt/003-use-rocm-smi-config.patch @@ -0,0 +1,15 @@ +diff --git a/clients/CMakeLists.txt b/clients/CMakeLists.txt +index 02ae47d..6b66209 100755 +--- a/clients/CMakeLists.txt ++++ b/clients/CMakeLists.txt +@@ -97,8 +97,8 @@ if( BUILD_CLIENTS_BENCHMARKS OR BUILD_CLIENTS_TESTS) + + # Find the package ROCmSMI + if(NOT WIN32) +- find_package(ROCmSMI REQUIRED) +- list( APPEND COMMON_LINK_LIBS rocm_smi ) ++ find_package(rocm_smi CONFIG REQUIRED) ++ list( APPEND COMMON_LINK_LIBS rocm_smi64 ) + endif() + + # common source files used in subdirectories benchmarks and gtest thus ../common diff --git a/var/spack/repos/spack_repo/builtin/packages/hipblaslt/package.py b/var/spack/repos/spack_repo/builtin/packages/hipblaslt/package.py index 37a52227fbf..25581f77d84 100644 --- a/var/spack/repos/spack_repo/builtin/packages/hipblaslt/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/hipblaslt/package.py @@ -19,6 +19,7 @@ class Hipblaslt(CMakePackage): maintainers("srekolam", "afzpatel", "renjithravindrankannath") license("MIT") + version("6.4.0", sha256="a4baa0c7336db9d46a0884c8ccfd0fb7e00a502b478aed9f588aa26fa8773353") version("6.3.3", sha256="f32d666b37bdbecbf924cc98653fa3d30a0de629039d4dad44d35a2082e39e5a") version("6.3.2", sha256="cc4875b1a5cf1708a7576c42aff6b4cb790cb7337f5dc2df33119a4aadcef027") version("6.3.1", sha256="9a18a2e44264a21cfe58ed102fd3e34b336f23d6c191ca2da726e8e0883ed663") @@ -45,6 +46,8 @@ class Hipblaslt(CMakePackage): depends_on("c", type="build") depends_on("cxx", type="build") depends_on("cmake@3.25.2:", type="build", when="@6.2.0:") + depends_on("python@3.7:") + depends_on("python@3.8:", when="@6.4:") for ver in [ "6.0.0", @@ -59,6 +62,7 @@ class Hipblaslt(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") @@ -67,15 +71,19 @@ class Hipblaslt(CMakePackage): for ver in ["6.0.0", "6.0.2", "6.1.0", "6.1.1", "6.1.2", "6.2.0", "6.2.1", "6.2.4"]: depends_on(f"hipblas@{ver}", when=f"@{ver}") - for ver in ["6.3.0", "6.3.1", "6.3.2", "6.3.3"]: + for ver in ["6.3.0", "6.3.1", "6.3.2", "6.3.3", "6.4.0"]: depends_on(f"hipblas-common@{ver}", when=f"@{ver}") depends_on(f"rocm-smi-lib@{ver}", when=f"@{ver}") + for ver in ["6.4.0"]: + depends_on(f"roctracer-dev@{ver}", when=f"@{ver}") + depends_on("msgpack-c") depends_on("py-joblib", type=("build", "link")) depends_on("googletest@1.10.0:", type="test") depends_on("netlib-lapack@3.7.1:", type="test") depends_on("py-pyyaml", type="test") + depends_on("python-venv", when="@6.4:") # Sets the proper for clang++ and clang-offload-blunder. # Also adds hipblas and msgpack include directories @@ -83,7 +91,9 @@ class Hipblaslt(CMakePackage): # Below patch sets the proper path for clang++ and clang-offload-blunder. # Also adds hipblas and msgpack include directories for 6.1.0 release. patch("0001-Set-LLVM_Path-Add-Hiblas-Include-to-CmakeLists-6.1.Patch", when="@6.1:6.2") - patch("0001-Set-LLVM-Path-6.3.Patch", when="@6.3:") + patch("0001-Set-LLVM-Path-6.3.Patch", when="@6.3") + patch("002-link-roctracer.patch", when="@6.4") + patch("003-use-rocm-smi-config.patch", when="@6.4") def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) @@ -115,6 +125,13 @@ def patch(self): "library/src/amd_detail/rocblaslt/src/kernels/compile_code_object.sh", string=True, ) + if self.spec.satisfies("@6.3:"): + filter_file( + "${rocm_path}/bin/amdclang++", + f'{self.spec["llvm-amdgpu"].prefix}/bin/amdclang++', + "tensilelite/Tensile/Ops/gen_assembly.sh", + string=True, + ) def cmake_args(self): args = [ @@ -129,4 +146,6 @@ def cmake_args(self): args.append( self.define("ROCM_OPENMP_EXTRAS_DIR", self.spec["rocm-openmp-extras"].prefix) ) + if self.spec.satisfies("@6.4:"): + args.append(self.define("Python_ROOT", self.spec["python"].prefix.bin)) return args diff --git a/var/spack/repos/spack_repo/builtin/packages/hipcc/package.py b/var/spack/repos/spack_repo/builtin/packages/hipcc/package.py index 048a1b0e2bd..5d583cd4bd2 100644 --- a/var/spack/repos/spack_repo/builtin/packages/hipcc/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/hipcc/package.py @@ -25,6 +25,7 @@ def url_for_version(self, version): maintainers("srekolam", "renjithravindrankannath", "afzpatel") license("MIT") + version("6.4.0", sha256="dca1c145a23f05229d5d646241f9d1d3c5dbf1d745b338ae020eabe33beb965c") version("6.3.3", sha256="4df9aba24e574edf23844c0d2d9dda112811db5c2b08c9428604a21b819eb23d") version("6.3.2", sha256="1f52e45660ea508d3fe717a9903fe27020cee96de95a3541434838e0193a4827") version("6.3.1", sha256="e9c2481cccacdea72c1f8d3970956c447cec47e18dfb9712cbbba76a2820552c") diff --git a/var/spack/repos/spack_repo/builtin/packages/hipcub/package.py b/var/spack/repos/spack_repo/builtin/packages/hipcub/package.py index 0b3c54ada1c..ab681593da2 100644 --- a/var/spack/repos/spack_repo/builtin/packages/hipcub/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/hipcub/package.py @@ -20,6 +20,7 @@ class Hipcub(CMakePackage, CudaPackage, ROCmPackage): license("BSD-3-Clause") maintainers("srekolam", "renjithravindrankannath", "afzpatel") + version("6.4.0", sha256="2c044ed9bf53b9410ef6de4ca578384569b0a89cac4e8604dfdde390b2918481") version("6.3.3", sha256="4ce22aba007c6c8a8b2231adefa7785b1869e5fdd4af29b0371a499a523c2dc6") version("6.3.2", sha256="4a1443c2ea12c3aa05fb65703eb309ccf8b893f9e6cbebec4ccf5502ba54b940") version("6.3.1", sha256="e5d100c7b8f95fe6243ad9f22170c136aa34db4e588136bec54ede7cb2e7f12f") @@ -91,6 +92,7 @@ class Hipcub(CMakePackage, CudaPackage, ROCmPackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocprim@{ver}", when=f"+rocm @{ver}") depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/hipfft/package.py b/var/spack/repos/spack_repo/builtin/packages/hipfft/package.py index 184e8f3ce3f..e06d38885aa 100644 --- a/var/spack/repos/spack_repo/builtin/packages/hipfft/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/hipfft/package.py @@ -27,6 +27,7 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage): license("MIT") version("master", branch="master", deprecated=True) + version("6.4.0", sha256="f16859ba3823f8b29f2aac120cef3395109babf93a0a5069c3b4c7c67ef35e96") version("6.3.3", sha256="c032d59a45b0eb4441539498bd4c22d8442fbc554cb08d6cb452a1d27be6c57c") version("6.3.2", sha256="5d9e662c7d67f4c814cad70476b57651df5ae6b65f371ca6dbb5aa51d9eeb6f5") version("6.3.1", sha256="b709df2d0115748ed004d0cddce829cb0f9ec3761eb855e61f0097cab04e4806") @@ -98,6 +99,7 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", "master", ]: depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/hipfort/package.py b/var/spack/repos/spack_repo/builtin/packages/hipfort/package.py index 14ae1513f46..629292127f8 100644 --- a/var/spack/repos/spack_repo/builtin/packages/hipfort/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/hipfort/package.py @@ -18,6 +18,7 @@ class Hipfort(CMakePackage): license("MIT") maintainers("cgmb", "srekolam", "renjithravindrankannath", "afzpatel") + version("6.4.0", sha256="a2e4c10f1c6561789208ba5a41a00b562c8048ec503339cb4eed236ee3cf6131") version("6.3.3", sha256="dacb7d5a30689e6a8f81ec251daaa4a74b40f1d28145953c7d42ccd29cecee7c") version("6.3.2", sha256="d2438971199637eb2e09519c1f2300cdd7a84b4d948034a7cd1ce3e441faf5de") version("6.3.1", sha256="8141bf3d05ab4f91c561815134707123e3d06486bf775224b9a3a4cc8ee8f56f") @@ -42,6 +43,7 @@ class Hipfort(CMakePackage): version("5.3.3", sha256="593be86502578b68215ffe767c26849fd27d4dbd92c8e76762275805f99e64f5") version("5.3.0", sha256="9e2aa142de45b2d2c29449d6f82293fb62844d511fbf51fa597845ba05c700fa") + depends_on("c", type="build") depends_on("cxx", type="build") # generated depends_on("fortran", type="build") # generated @@ -74,6 +76,7 @@ class Hipfort(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hip@{ver}", type="build", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/hipify_clang/package.py b/var/spack/repos/spack_repo/builtin/packages/hipify_clang/package.py index 22e23d8cce7..08fcf2f7d72 100644 --- a/var/spack/repos/spack_repo/builtin/packages/hipify_clang/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/hipify_clang/package.py @@ -21,6 +21,7 @@ class HipifyClang(CMakePackage): license("MIT") version("master", branch="master", deprecated=True) + version("6.4.0", sha256="874e3ee9801f795aaae30d6ea86e5edc991d5f71a5dee0a8e8eb7ce6379a51eb") version("6.3.3", sha256="94d32b0e02c0c34debb9a8034cb5fcd6c2ee35b67350c64690034cf94cd38ddd") version("6.3.2", sha256="c0da5118be8207fab6d19803417c0b8d2db5bc766279038527cbd6fa92b25c67") version("6.3.1", sha256="5f9d9a65545f97b18c6a0d4394dca1bcdee10737a5635b79378ea505081f9315") @@ -82,6 +83,7 @@ class HipifyClang(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", "master", ]: depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") @@ -105,6 +107,7 @@ class HipifyClang(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/hiprand/package.py b/var/spack/repos/spack_repo/builtin/packages/hiprand/package.py index e43e22e71ec..25b5b375193 100644 --- a/var/spack/repos/spack_repo/builtin/packages/hiprand/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/hiprand/package.py @@ -27,6 +27,7 @@ class Hiprand(CMakePackage, CudaPackage, ROCmPackage): version("develop", branch="develop", deprecated=True) version("master", branch="master", deprecated=True) + version("6.4.0", sha256="60e9153edf617e984361696aa60af3ad44c5ae01ed75ad610c617a387b0559a4") version("6.3.3", sha256="ea0d7638a463c06d30692205f8c591d3fe025b58a772226ca1c972e723118a2f") version("6.3.2", sha256="0a08ed7554c161b095c866cd5e6f0d63cdf063e5b3c1183afa6ac18bad94a575") version("6.3.1", sha256="ec43bf64eda348cf53c2767e553fd9561540dc50ae3ce95ca916404aa9a3eafb") @@ -110,6 +111,7 @@ class Hiprand(CMakePackage, CudaPackage, ROCmPackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", "master", "develop", ]: diff --git a/var/spack/repos/spack_repo/builtin/packages/hipsolver/package.py b/var/spack/repos/spack_repo/builtin/packages/hipsolver/package.py index 7779b4d6e27..67849d84561 100644 --- a/var/spack/repos/spack_repo/builtin/packages/hipsolver/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/hipsolver/package.py @@ -32,6 +32,7 @@ class Hipsolver(CMakePackage, CudaPackage, ROCmPackage): version("develop", branch="develop", deprecated=True) version("master", branch="master", deprecated=True) + version("6.4.0", sha256="d6cf798c5f2d1d00a442f7a3f07c6f3a9e4ce5b3be36608aac7c97175dac9eb0") version("6.3.3", sha256="529263f9abe5b7485bbabedc3993630abaa0d5fd547c4add0993d1cb0d71e226") version("6.3.2", sha256="885c999da8e4aa0b4cb9584bc0fc0d6a8c8d56f5e7ee6d211c608003eff22aa7") version("6.3.1", sha256="793074ebaa4a3b16dc6e4d2a54ecbb259f1e0ec7fdcd7f885da622a1d1478b76") @@ -116,6 +117,7 @@ class Hipsolver(CMakePackage, CudaPackage, ROCmPackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", "master", "develop", ]: diff --git a/var/spack/repos/spack_repo/builtin/packages/hipsparse/package.py b/var/spack/repos/spack_repo/builtin/packages/hipsparse/package.py index f273a4d2386..6c5493f7095 100644 --- a/var/spack/repos/spack_repo/builtin/packages/hipsparse/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/hipsparse/package.py @@ -24,6 +24,7 @@ class Hipsparse(CMakePackage, CudaPackage, ROCmPackage): libraries = ["libhipsparse"] license("MIT") + version("6.4.0", sha256="aaab3e9a905f5c5f470634ed7a0929ef93e28d2c5fe4f6f89338b39a937f1825") version("6.3.3", sha256="61c26eb93e857c942a03ea4350a403e20191be465041e542ad7da00058e89ead") version("6.3.2", sha256="9fbc3468632fdc828d7bae386c2737eb371d78811f53da7348b417fb00d62808") version("6.3.1", sha256="d64bc48e0aa5ec2f48853272a9c554b37ec98cb0724135e45f21b1340df7bccb") @@ -66,6 +67,7 @@ class Hipsparse(CMakePackage, CudaPackage, ROCmPackage): conflicts("+cuda +rocm", msg="CUDA and ROCm support are mutually exclusive") conflicts("~cuda ~rocm", msg="CUDA or ROCm support is required") + depends_on("c", type="build") depends_on("cxx", type="build") # generated depends_on("fortran", type="build") # generated @@ -98,6 +100,7 @@ class Hipsparse(CMakePackage, CudaPackage, ROCmPackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") depends_on(f"rocsparse@{ver}", when=f"+rocm @{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/hipsparselt/0002-add-hipsparse-include.patch b/var/spack/repos/spack_repo/builtin/packages/hipsparselt/0002-add-hipsparse-include.patch new file mode 100644 index 00000000000..5c8a62424df --- /dev/null +++ b/var/spack/repos/spack_repo/builtin/packages/hipsparselt/0002-add-hipsparse-include.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5904f78..a0b0c92 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -204,7 +204,7 @@ else() + set( tensile_fork "ROCmSoftwarePlatform" CACHE STRING "Tensile fork to use" ) + file (STRINGS "tensilelite_tag.txt" read_tensile_tag) + set( tensile_tag ${read_tensile_tag} CACHE STRING "Tensile tag to download" ) +- virtualenv_install("git+https://github.com/${tensile_fork}/hipBLASLt.git@${tensile_tag}#subdirectory=tensilelite") ++ virtualenv_install("git+https://github.com/ROCm/hipBLASLt.git@modify-tensilelite-spack-6.4#subdirectory=tensilelite") + + message (STATUS "using GIT Tensile fork=${tensile_fork} from branch=${tensile_tag}") + endif() +diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt +index aac8506..345147f 100644 +--- a/library/CMakeLists.txt ++++ b/library/CMakeLists.txt +@@ -123,6 +123,7 @@ target_include_directories(hipsparselt + PUBLIC $ + $ + $ ++ $ + $ + ) + diff --git a/var/spack/repos/spack_repo/builtin/packages/hipsparselt/package.py b/var/spack/repos/spack_repo/builtin/packages/hipsparselt/package.py index c8324df3a98..a46bcc3f3eb 100644 --- a/var/spack/repos/spack_repo/builtin/packages/hipsparselt/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/hipsparselt/package.py @@ -23,6 +23,7 @@ class Hipsparselt(CMakePackage, ROCmPackage): maintainers("srekolam", "afzpatel", "renjithravindrankannath") license("MIT") + version("6.4.0", sha256="3950f424c5623bdf764e23c263f3a63de62e3690f491251b88054e27560dc604") version("6.3.3", sha256="6b756e20fddb37b8c1237ef8e124452c9bdd46acad8a40699d10b609d0d2ebfc") version("6.3.2", sha256="a0b30b478eff822dd7fa1c116ad99dcdf14ece1c33aae04ac71b594efd4d9866") version("6.3.1", sha256="403d4c0ef47f89510452a20be6cce72962f21761081fc19a7e0e27e7f0c4ccfd") @@ -50,6 +51,7 @@ class Hipsparselt(CMakePackage, ROCmPackage): ) variant("asan", default=False, description="Build with address-sanitizer enabled or disabled") + depends_on("c", type="build") depends_on("cxx", type="build") # generated for ver in [ @@ -65,13 +67,14 @@ class Hipsparselt(CMakePackage, ROCmPackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"hipsparse@{ver}", when=f"@{ver}") depends_on(f"rocm-openmp-extras@{ver}", when=f"@{ver}", type="test") depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") - for ver in ["6.3.0", "6.3.1", "6.3.2", "6.3.3"]: + for ver in ["6.3.0", "6.3.1", "6.3.2", "6.3.3", "6.4.0"]: depends_on(f"rocm-smi-lib@{ver}", when=f"@{ver}") depends_on("cmake@3.5:", type="build") @@ -92,6 +95,7 @@ class Hipsparselt(CMakePackage, ROCmPackage): patch("0001-update-llvm-path-add-hipsparse-include-dir-for-spack-6.1.patch", when="@6.1") patch("0001-update-llvm-path-add-hipsparse-include-dir-for-spack-6.2.patch", when="@6.2") patch("0001-update-llvm-path-add-hipsparse-include-dir-for-spack-6.3.patch", when="@6.3") + patch("0002-add-hipsparse-include.patch", when="@6.4") def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) @@ -106,7 +110,8 @@ def setup_build_environment(self, env: EnvironmentModifications) -> None: "ROCM_AGENT_ENUMERATOR_PATH", f"{self.spec['rocminfo'].prefix}/bin/rocm_agent_enumerator", ) - env.set("ROCM_SMI_PATH", f"{self.spec['rocm-smi-lib'].prefix}/bin/rocm-smi") + if self.spec.satisfies("@6.3:"): + env.set("ROCM_SMI_PATH", f"{self.spec['rocm-smi-lib'].prefix}/bin/rocm-smi") def cmake_args(self): args = [ diff --git a/var/spack/repos/spack_repo/builtin/packages/hsa_rocr_dev/package.py b/var/spack/repos/spack_repo/builtin/packages/hsa_rocr_dev/package.py index bdf3f8645d3..3640e7af5e2 100644 --- a/var/spack/repos/spack_repo/builtin/packages/hsa_rocr_dev/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/hsa_rocr_dev/package.py @@ -25,6 +25,7 @@ class HsaRocrDev(CMakePackage): libraries = ["libhsa-runtime64"] version("master", branch="master", deprecated=True) + version("6.4.0", sha256="ff740e8c8f2229c6dc47577363f707b1a44ea4254f8ad74f8f0a669998829535") version("6.3.3", sha256="aa2e30d3d68707d6df4840e954bb08cc13cd312cec1a98a64d97adbe07262f50") version("6.3.2", sha256="aaecaa7206b6fa1d5d7b8f7c1f7c5057a944327ba4779448980d7e7c7122b074") version("6.3.1", sha256="547ceeeda9a41cdffa21e57809dc5834f94938a0a2809c283aebcbcf01901df0") @@ -112,6 +113,7 @@ class HsaRocrDev(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", "master", ]: depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") @@ -137,9 +139,13 @@ class HsaRocrDev(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") + for ver in ["6.3.0", "6.3.1", "6.3.2", "6.3.3", "6.4.0"]: + depends_on(f"rocprofiler-register@{ver}", when=f"@{ver}") + patch("0002-Remove-explicit-RPATH-again.patch", when="@3.7.0:5.6") @property @@ -206,5 +212,7 @@ def cmake_args(self): args.append(self.define("ROCM_PATCH_VERSION", "60300")) if self.spec.satisfies("@5.7.0:"): args.append(self.define_from_variant("ADDRESS_SANITIZER", "asan")) - + if self.spec.satisfies("@6.3.2:"): + args.append(self.define("SHARED_LIBS", "ON")) + args.append(self.define("BUILD_SHARED_LIBS", "ON")) return args diff --git a/var/spack/repos/spack_repo/builtin/packages/llvm_amdgpu/package.py b/var/spack/repos/spack_repo/builtin/packages/llvm_amdgpu/package.py index 376203e2083..8b42f692799 100644 --- a/var/spack/repos/spack_repo/builtin/packages/llvm_amdgpu/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/llvm_amdgpu/package.py @@ -38,6 +38,7 @@ class LlvmAmdgpu(CMakePackage, LlvmDetection, CompilerPackage): license("Apache-2.0") version("master", branch="amd-stg-open", deprecated=True) + version("6.4.0", sha256="dca1c145a23f05229d5d646241f9d1d3c5dbf1d745b338ae020eabe33beb965c") version("6.3.3", sha256="4df9aba24e574edf23844c0d2d9dda112811db5c2b08c9428604a21b819eb23d") version("6.3.2", sha256="1f52e45660ea508d3fe717a9903fe27020cee96de95a3541434838e0193a4827") version("6.3.1", sha256="e9c2481cccacdea72c1f8d3970956c447cec47e18dfb9712cbbba76a2820552c") @@ -88,7 +89,8 @@ class LlvmAmdgpu(CMakePackage, LlvmDetection, CompilerPackage): provides("libllvm@15", when="@5.3:5.4") provides("libllvm@16", when="@5.5:5.6") provides("libllvm@17", when="@5.7:6.1") - provides("libllvm@18", when="@6.2:") + provides("libllvm@18", when="@6.2:6.3") + provides("libllvm@19", when="@6.4:") depends_on("c", type="build") # generated depends_on("cxx", type="build") # generated @@ -179,6 +181,7 @@ class LlvmAmdgpu(CMakePackage, LlvmDetection, CompilerPackage): when="@master +rocm-device-libs", ) for d_version, d_shasum in [ + ("6.4.0", "ff740e8c8f2229c6dc47577363f707b1a44ea4254f8ad74f8f0a669998829535"), ("6.3.3", "aa2e30d3d68707d6df4840e954bb08cc13cd312cec1a98a64d97adbe07262f50"), ("6.3.2", "aaecaa7206b6fa1d5d7b8f7c1f7c5057a944327ba4779448980d7e7c7122b074"), ("6.3.1", "547ceeeda9a41cdffa21e57809dc5834f94938a0a2809c283aebcbcf01901df0"), @@ -288,7 +291,7 @@ def cmake_args(self): args.append(self.define("CLANG_LINK_CLANG_DYLIB", True)) # Get the GCC prefix for LLVM. - if self.compiler.name == "gcc": + if self.compiler.name == "gcc" and self.spec.satisfies("@:6.3"): args.append(self.define("GCC_INSTALL_PREFIX", self.compiler.prefix)) if self.spec.satisfies("@5.4.3:"): args.append("-DCMAKE_INSTALL_LIBDIR=lib") diff --git a/var/spack/repos/spack_repo/builtin/packages/migraphx/package.py b/var/spack/repos/spack_repo/builtin/packages/migraphx/package.py index d7810ac2321..6cc4166b733 100644 --- a/var/spack/repos/spack_repo/builtin/packages/migraphx/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/migraphx/package.py @@ -21,6 +21,7 @@ class Migraphx(CMakePackage): libraries = ["libmigraphx"] license("MIT") + version("6.4.0", sha256="9041ea3c0ea0a22884e049f2a12559b6221eac897d31b3ebe0cf3e7a5b7d0268") version("6.3.3", sha256="a268baa99b145a32fe282e407cf923b1c1022f2ddab36d7178537b860fdfcf8d") version("6.3.2", sha256="4e6b9800919e99070c0289616657592c23ff66a55230409f38e5c7e099c0d89b") version("6.3.1", sha256="c60df20b3c890c469265ae6f273fb5d43cc13c8c514f76dd7b4d195d9e44ba85") @@ -111,6 +112,7 @@ class Migraphx(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") depends_on(f"hip@{ver}", when=f"@{ver}") @@ -130,6 +132,7 @@ class Migraphx(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocmlir@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/miopen_hip/0003-link-with-hipblas-roctracer-rocrand-6.3.0.patch b/var/spack/repos/spack_repo/builtin/packages/miopen_hip/0003-link-with-hipblas-roctracer-rocrand-6.3.0.patch deleted file mode 100644 index cd34461e9ed..00000000000 --- a/var/spack/repos/spack_repo/builtin/packages/miopen_hip/0003-link-with-hipblas-roctracer-rocrand-6.3.0.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff --git a/driver/CMakeLists.txt b/driver/CMakeLists.txt -index 60d6fe6..bba3ad6 100644 ---- a/driver/CMakeLists.txt -+++ b/driver/CMakeLists.txt -@@ -71,7 +71,11 @@ if(WIN32) - endif() - add_dependencies(MIOpenDriver generate_kernels) - target_include_directories(MIOpenDriver PRIVATE ../src/kernels) --target_link_libraries(MIOpenDriver MIOpen Threads::Threads roc::rocrand) -+target_link_libraries(MIOpenDriver MIOpen Threads::Threads roc::rocrand roc::hipblas roc::hipblaslt) -+if(MIOPEN_USE_ROCTRACER) -+ target_include_directories(MIOpenDriver PRIVATE ${ROCTRACER_INCLUDE_DIR}) -+ target_link_libraries(MIOpenDriver ${rocTracer}) -+endif() - if(NOT MIOPEN_EMBED_DB STREQUAL "") - target_link_libraries(MIOpenDriver $ ) - endif() -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 92e4f42..7e169a1 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -940,6 +940,13 @@ if(hipblaslt_FOUND) - target_link_libraries( MIOpen PRIVATE roc::hipblaslt ) - endif() - -+if(hipblas_FOUND) -+ target_link_libraries( MIOpen PRIVATE roc::hipblas ) -+endif() -+if(rocrand_FOUND) -+ target_link_libraries( MIOpen PRIVATE roc::rocrand ) -+endif() -+ - # For backward compatibility with ROCm 5.3 - # Build with library libMLIRMIOpen - if(LIBMLIRMIOPEN) -@@ -994,7 +1001,8 @@ if(NOT WIN32 AND NOT APPLE) - endif() - - if(MIOPEN_USE_ROCTRACER) -- target_link_libraries(MIOpen PRIVATE roctx64) -+ target_include_directories(MIOpen PRIVATE ${ROCTRACER_INCLUDE_DIR}) -+ target_link_libraries(MIOpen PRIVATE ${rocTracer}) - endif() - - ############################################################ diff --git a/var/spack/repos/spack_repo/builtin/packages/miopen_hip/package.py b/var/spack/repos/spack_repo/builtin/packages/miopen_hip/package.py index 1cef9bbeeea..3c2a18166df 100644 --- a/var/spack/repos/spack_repo/builtin/packages/miopen_hip/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/miopen_hip/package.py @@ -23,6 +23,7 @@ class MiopenHip(CMakePackage): libraries = ["libMIOpen"] license("MIT") + version("6.4.0", sha256="5b101f9177d49654968a3f3c01c9eede561a8fe5178f2ae4d8e5acb16b0b17e6") version("6.3.3", sha256="755beaec2e97aa4fafcdb07e4becbcddcb0c3cef6af256a04716d46e90c2f520") version("6.3.2", sha256="7abda3b437e396a1611a6f63e73ab1656d45d5405194504136c0ccbb75b81fea") version("6.3.1", sha256="edb82a74086fb96f8d7ee9e50a180302f716332cd0dff96bf7244bdc6fab5895") @@ -78,12 +79,16 @@ class MiopenHip(CMakePackage): patch("0002-add-include-dir-miopen-hip-6.0.0.patch", when="@6.0") patch("0001-link-with-roctracer-when-building-miopendriver-6.1.0.patch", when="@6.1") patch("0001-link-with-roctracer-when-building-miopendriver-6.2.0.patch", when="@6.2") - patch("0003-link-with-hipblas-roctracer-rocrand-6.3.0.patch", when="@6.3") patch( "https://github.com/ROCm/MIOpen/commit/f60aa1ff89f8fb596b4a6a4c70aa7d557803db87.patch?full_index=1", sha256="7f382c872d89f22da1ad499e85ffe9881cc7404c8465e42877a210a09382e2ea", when="@5.7", ) + patch( + "https://github.com/ROCm/MIOpen/commit/d1a25ad0f4fc90dffea7a5dbb9cc7a9983a004c2.patch?full_index=1", + sha256="3001a90202b572a5cd86a51905064903bcee74d8fa0d9649ee9732274c207801", + when="@6.3:", + ) for ver in [ "5.3.0", @@ -108,6 +113,7 @@ class MiopenHip(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") depends_on(f"hip@{ver}", when=f"@{ver}") @@ -153,6 +159,7 @@ class MiopenHip(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"composable-kernel@{ver}", when=f"@{ver} +ck") for ver in ["5.4.0", "5.4.3", "5.5.0"]: @@ -170,11 +177,12 @@ class MiopenHip(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"roctracer-dev@{ver}", when=f"@{ver}") - for ver in ["6.2.0", "6.2.1", "6.2.4", "6.3.0", "6.3.1", "6.3.2", "6.3.3"]: + for ver in ["6.2.0", "6.2.1", "6.2.4", "6.3.0", "6.3.1", "6.3.2", "6.3.3", "6.4.0"]: depends_on(f"rocrand@{ver}", when=f"@{ver}") - for ver in ["6.3.0", "6.3.1", "6.3.2", "6.3.3"]: + for ver in ["6.3.0", "6.3.1", "6.3.2", "6.3.3", "6.4.0"]: depends_on(f"hipblas@{ver}", when=f"@{ver}") depends_on(f"hipblaslt@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/mivisionx/package.py b/var/spack/repos/spack_repo/builtin/packages/mivisionx/package.py index 5c2a67b8e71..58d5c97e9d5 100644 --- a/var/spack/repos/spack_repo/builtin/packages/mivisionx/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/mivisionx/package.py @@ -12,9 +12,9 @@ class Mivisionx(CMakePackage): vision and machine intelligence libraries, utilities, and applications bundled into a single toolkit.""" - homepage = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX" - git = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX.git" - url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/rocm-6.1.2.tar.gz" + homepage = "https://github.com/ROCm/MIVisionX" + git = "https://github.com/ROCm/MIVisionX.git" + url = "https://github.com/ROCm/MIVisionX/archive/rocm-6.4.0.tar.gz" maintainers("srekolam", "renjithravindrankannath", "afzpatel") tags = ["rocm"] @@ -27,6 +27,7 @@ def url_for_version(self, version): return url.format(version) license("MIT") + version("6.4.0", sha256="de3902ad2402bf29e4f53617ec10d34188b0c67547fc290390ff0c8ac4ad505a") version("6.3.3", sha256="6ab255305b786c6152ffe12211f329d2bc56823bb2192a945b9aa5efe6731b82") version("6.3.2", sha256="2e7984e4ef2e6195aa9afa11030b8418aee885bec9befa220b9b53b5229b7fae") version("6.3.1", sha256="1f7bd1f6b61401bc642b50e96411344b092b09189534c5d6ba2f4c661d1af0ce") @@ -244,6 +245,7 @@ def patch(self): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"miopen-hip@{ver}", when=f"@{ver}") for ver in [ @@ -268,6 +270,7 @@ def patch(self): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"migraphx@{ver}", when=f"@{ver}") depends_on(f"hip@{ver}", when=f"@{ver}") @@ -291,6 +294,7 @@ def patch(self): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") depends_on("python@3.5:", type="build") @@ -310,6 +314,7 @@ def patch(self): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rpp@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/py_tensorflow/package.py b/var/spack/repos/spack_repo/builtin/packages/py_tensorflow/package.py index 408857b39ba..b0b5b209fc8 100644 --- a/var/spack/repos/spack_repo/builtin/packages/py_tensorflow/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/py_tensorflow/package.py @@ -408,6 +408,7 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension): with when("+rocm"): for pkg_dep in rocm_dependencies: depends_on(f"{pkg_dep}@6.0:", when="@2.14:") + depends_on(f"{pkg_dep}@:6.3", when="@:2.18") depends_on(pkg_dep) # Check configure and configure.py to see when these variants are supported diff --git a/var/spack/repos/spack_repo/builtin/packages/rccl/0004-Set-rocm-core-path-for-version-file-6.4.patch b/var/spack/repos/spack_repo/builtin/packages/rccl/0004-Set-rocm-core-path-for-version-file-6.4.patch new file mode 100644 index 00000000000..013e15309f5 --- /dev/null +++ b/var/spack/repos/spack_repo/builtin/packages/rccl/0004-Set-rocm-core-path-for-version-file-6.4.patch @@ -0,0 +1,44 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 45ba954f..4fbf5116 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -173,7 +173,7 @@ message(STATUS "${COMPILER_EXE_NAME} HIP version: ${hip_version_string}") + + ## Check for ROCm version + execute_process( +- COMMAND bash "-c" "cat ${ROCM_PATH}/.info/version" ++ COMMAND bash "-c" "cat $ENV{ROCMCORE_PATH}/.info/version" + OUTPUT_VARIABLE rocm_version_string + ) + string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)" rocm_version_matches ${rocm_version_string}) +@@ -324,6 +324,7 @@ endif() + # Check for ROCTX + if(ROCTX) + find_library(ROCTX_LIB NAMES roctx64) ++ find_path(ROCTRACER_INCLUDE_DIR "roctracer/roctx.h") + if(ROCTX_LIB) + set(ROCTX_ENABLE ON) + message(STATUS "ROCTX library found: ${ROCTX_LIB}") +@@ -687,9 +688,13 @@ target_include_directories(rccl PRIVATE ${HIPIFY_DIR}/src/device/network/unpack) + target_include_directories(rccl PRIVATE ${HIPIFY_DIR}/gensrc) + target_include_directories(rccl PRIVATE ${HSA_INCLUDE_PATH}) + target_include_directories(rccl PRIVATE ${ROCM_SMI_INCLUDE_DIR}) ++target_include_directories(rccl PRIVATE $ENV{ROCMCORE_PATH}/include) + if(DEMANGLE_DIR) + target_include_directories(rccl PRIVATE ${DEMANGLE_DIR}) + endif() ++if(ROCTX_ENABLE) ++ target_include_directories(rccl PRIVATE ${ROCTRACER_INCLUDE_DIR}) ++endif() + + ## Set RCCL compile definitions + if(COLLTRACE) +@@ -816,7 +821,7 @@ if (HAVE_BFD) + endif() + endif() + if (ROCTX_ENABLE) +- target_link_libraries(rccl PRIVATE -lroctx64) ++ target_link_libraries(rccl PRIVATE ${ROCTX_LIB}) + endif() + target_link_libraries(rccl PRIVATE -fgpu-rdc) # Required when linking relocatable device code + target_link_libraries(rccl PRIVATE Threads::Threads) diff --git a/var/spack/repos/spack_repo/builtin/packages/rccl/package.py b/var/spack/repos/spack_repo/builtin/packages/rccl/package.py index 94e2bbc951b..9ac7c17f066 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rccl/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rccl/package.py @@ -23,6 +23,12 @@ class Rccl(CMakePackage): maintainers("srekolam", "renjithravindrankannath", "afzpatel") libraries = ["librccl"] + version( + "6.4.0", + tag="rocm-6.4.0", + commit="7b86f83d8468a577ed59d9b2a34a8d7639d36072", + submodules=True, + ) version( "6.3.3", tag="rocm-6.3.3", @@ -80,6 +86,7 @@ class Rccl(CMakePackage): patch("0003-Fix-numactl-rocm-smi-path-issue.patch", when="@5.2.3:5.6") patch("0004-Set-rocm-core-path-for-version-file.patch", when="@6.0:6.2") patch("0004-Set-rocm-core-path-for-version-file-6.3.patch", when="@6.3") + patch("0004-Set-rocm-core-path-for-version-file-6.4.patch", when="@6.4") depends_on("c", type="build") # generated depends_on("cxx", type="build") # generated @@ -111,6 +118,7 @@ class Rccl(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") depends_on(f"hip@{ver}", when=f"@{ver}") @@ -136,9 +144,14 @@ class Rccl(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") + for ver in ["6.4.0"]: + depends_on(f"roctracer-dev@{ver}", when=f"@{ver}") + depends_on(f"rocprofiler-register@{ver}", when=f"@{ver}") + depends_on("googletest@1.11.0:", type="test", when="@5.3:") @classmethod diff --git a/var/spack/repos/spack_repo/builtin/packages/rdc/package.py b/var/spack/repos/spack_repo/builtin/packages/rdc/package.py index 34d8cabe1ce..c1e1a8646c8 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rdc/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rdc/package.py @@ -28,6 +28,7 @@ def url_for_version(self, version): return url.format(version) license("MIT") + version("6.4.0", sha256="2ee3def1e90784923f2043220974d30fe9581ec0d54c93628911ed8292fc56c4") version("6.3.3", sha256="9be314ea8d7e7af58ac4a24f5720f54d51ba553d3e1751bc9cfc4bff98494fab") version("6.3.2", sha256="e0780b8ef46d7b9885eb06a0b9eb56924fdf090ade71a66360a0bee1d9d7295d") version("6.3.1", sha256="88a96f13c0010a7f9e63f7a5a5531ae1d57ef1a722bac232c8544cde6245e120") @@ -52,6 +53,7 @@ def url_for_version(self, version): version("5.3.3", sha256="1bf1a02f305e3a629801e62584116a34eafbd1b26627837a2a8c10550fcf611b") version("5.3.0", sha256="ce9c85dad8e0c0b21e8e5938bf16f86a62dc5f6ded5f453c61acd43666634d6b") + depends_on("c", type="build") depends_on("cxx", type="build") # generated depends_on("cmake@3.15:", type="build") @@ -63,6 +65,25 @@ def url_for_version(self, version): depends_on("protobuf") depends_on("libcap") + for ver in [ + "5.3.0", + "5.3.3", + "5.4.0", + "5.4.3", + "5.5.0", + "5.5.1", + "5.6.0", + "5.6.1", + "5.7.0", + "5.7.1", + "6.0.0", + "6.0.2", + "6.1.0", + "6.1.1", + "6.1.2", + ]: + depends_on(f"rocm-smi-lib@{ver}", type=("build", "link"), when=f"@{ver}") + for ver in [ "5.3.0", "5.3.3", @@ -86,8 +107,8 @@ def url_for_version(self, version): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: - depends_on(f"rocm-smi-lib@{ver}", type=("build", "link"), when=f"@{ver}") depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") for ver in [ @@ -109,11 +130,15 @@ def url_for_version(self, version): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") - for ver in ["6.2.0", "6.2.1", "6.2.4", "6.3.0", "6.3.1", "6.3.2", "6.3.3"]: + for ver in ["6.2.0", "6.2.1", "6.2.4", "6.3.0", "6.3.1", "6.3.2", "6.3.3", "6.4.0"]: depends_on(f"amdsmi@{ver}", when=f"@{ver}") + for ver in ["6.4.0"]: + depends_on(f"rocm-validation-suite@{ver}", when=f"@{ver}") + def patch(self): filter_file(r"\${ROCM_DIR}/rocm_smi", "${ROCM_SMI_DIR}", "CMakeLists.txt") filter_file( diff --git a/var/spack/repos/spack_repo/builtin/packages/rocal/package.py b/var/spack/repos/spack_repo/builtin/packages/rocal/package.py index 60fc5483e22..295a6607b25 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocal/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocal/package.py @@ -17,6 +17,7 @@ class Rocal(CMakePackage): maintainers("afzpatel", "srekolam", "renjithravindrankannath") license("MIT") + version("6.4.0", sha256="6239caa398c2779c1c7ecff3cebe7d206cd2fa591c1800f6f2ae16329876dd4a") version("6.3.3", sha256="aaccd951f176356561d8ab8210696d80a94553fd48ace72993a7cfac4b98d6cf") version("6.3.2", sha256="ceae8a86770c1f5d8cb56f4c38d6b354e16bda6b877cf93417d6a3e4e33354c6") version("6.3.1", sha256="e332c9c2b2eb4081d7dd8a66a141f95fe8c7fccbbfdd0fea7572a62a28a62bbb") @@ -27,15 +28,22 @@ class Rocal(CMakePackage): depends_on("libjpeg-turbo@2.0.6+partial_decoder", when="@6.2.0") depends_on("libjpeg-turbo@3.0.2:", when="@6.2.1:") + depends_on("python@3") depends_on("rapidjson") depends_on("ffmpeg@4.4:") depends_on("abseil-cpp", when="@6.3:") - for ver in ["6.2.0", "6.2.1", "6.2.4", "6.3.0", "6.3.1", "6.3.2", "6.3.3"]: + for ver in ["6.2.0", "6.2.1", "6.2.4", "6.3.0", "6.3.1", "6.3.2", "6.3.3", "6.4.0"]: depends_on(f"mivisionx@{ver}", when=f"@{ver}") depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") depends_on(f"rpp@{ver}", when=f"@{ver}") + patch( + "https://github.com/ROCm/rocAL/commit/357dfcb25b9ff959615efa45736d4368cf7b51fd.patch?full_index=1", + sha256="5df45c3a0e870d6e6310a23071e05f1795a450eef5fde6445cb37caf2653a86f", + when="@6.4:", + ) + def patch(self): filter_file( r"${ROCM_PATH}/llvm/bin/clang++", @@ -113,6 +121,18 @@ def cmake_args(self): args.append( self.define("CMAKE_CXX_FLAGS", "-I{0} -I{1}".format(abspath, rapidjsonpath)) ) + if self.spec.satisfies("@6.4.0:"): + args.append( + self.define("CMAKE_C_COMPILER", f"{self.spec['llvm-amdgpu'].prefix}/bin/amdclang") + ) + args.append( + self.define( + "CMAKE_CXX_COMPILER", f"{self.spec['llvm-amdgpu'].prefix}/bin/amdclang++" + ) + ) + # force rocAL to use Spack installed python + args.append(self.define("PYTHON_VERSION_SUGGESTED", self.spec["python"].version)) + args.append(self.define("Python3_ROOT_DIR", self.spec["python"].prefix)) return args def check(self): diff --git a/var/spack/repos/spack_repo/builtin/packages/rocalution/package.py b/var/spack/repos/spack_repo/builtin/packages/rocalution/package.py index ffb39067c2c..2a591775fd5 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocalution/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocalution/package.py @@ -28,6 +28,7 @@ class Rocalution(CMakePackage): libraries = ["librocalution_hip"] license("MIT") + version("6.4.0", sha256="dcd6cccb55136362bedb4681f10eb9c9fe7f958f63802f85573732c2cd7a5185") version("6.3.3", sha256="bec6388e74b74922c2dc3af0d73ff0e4cafdabad9e8473181079df09de81c11a") version("6.3.2", sha256="b13118a5c0af08a666d80af78d52bdfba12ed134f6745ab36d8de75ed3bc7584") version("6.3.1", sha256="94b78b34ac750c09831aa70a3d7f8cd220c540a75e4f91c391ba435de420c536") @@ -93,6 +94,7 @@ class Rocalution(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocprim@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocblas/0008-link-roctracer.patch b/var/spack/repos/spack_repo/builtin/packages/rocblas/0008-link-roctracer.patch new file mode 100644 index 00000000000..9e55ee44aee --- /dev/null +++ b/var/spack/repos/spack_repo/builtin/packages/rocblas/0008-link-roctracer.patch @@ -0,0 +1,16 @@ +diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt +index 762580d..1692578 100644 +--- a/library/CMakeLists.txt ++++ b/library/CMakeLists.txt +@@ -81,7 +81,10 @@ function( rocblas_library_settings lib_target_ ) + else() + target_link_libraries( ${lib_target_} PRIVATE hip::device -lstdc++fs --rtlib=compiler-rt --unwindlib=libgcc) + if (BUILD_SHARED_LIBS) +- target_link_libraries(${lib_target_} PRIVATE -lroctx64) ++ find_path(ROCTRACER_INCLUDE_DIR "roctracer/roctx.h") ++ target_include_directories(${lib_target_} PUBLIC ${ROCTRACER_INCLUDE_DIR}) ++ find_library(ROCTX_LIB NAMES roctx64) ++ target_link_libraries(${lib_target_} PRIVATE ${ROCTX_LIB}) + endif() + endif() + target_link_libraries( ${lib_target_} PRIVATE Threads::Threads ) diff --git a/var/spack/repos/spack_repo/builtin/packages/rocblas/0009-use-rocm-smi-config.patch b/var/spack/repos/spack_repo/builtin/packages/rocblas/0009-use-rocm-smi-config.patch new file mode 100644 index 00000000000..0b474bc0269 --- /dev/null +++ b/var/spack/repos/spack_repo/builtin/packages/rocblas/0009-use-rocm-smi-config.patch @@ -0,0 +1,15 @@ +diff --git a/clients/CMakeLists.txt b/clients/CMakeLists.txt +index 6194286..292bd8d 100644 +--- a/clients/CMakeLists.txt ++++ b/clients/CMakeLists.txt +@@ -178,8 +178,8 @@ if( BUILD_CLIENTS_BENCHMARKS OR BUILD_CLIENTS_TESTS) + + # Find the package ROCmSMI + if(NOT WIN32) +- find_package(ROCmSMI REQUIRED) +- list( APPEND COMMON_LINK_LIBS rocm_smi ) ++ find_package(rocm_smi CONFIG REQUIRED) ++ list( APPEND COMMON_LINK_LIBS rocm_smi64 ) + endif() + + find_package( GTest REQUIRED ) diff --git a/var/spack/repos/spack_repo/builtin/packages/rocblas/package.py b/var/spack/repos/spack_repo/builtin/packages/rocblas/package.py index 51ec1f378ab..4bd0488b63b 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocblas/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocblas/package.py @@ -25,6 +25,7 @@ class Rocblas(CMakePackage): version("develop", branch="develop", deprecated=True) version("master", branch="master", deprecated=True) + version("6.4.0", sha256="ab8e75c9f98d17817a650aa4f06ff1e6c6af92cd143079e361cb6a0c96676aaa") version("6.3.3", sha256="73e91bd50c920b818742fa5bf9990c0676be5bfbafe321d5781607dc2ce27060") version("6.3.2", sha256="455cad760d926c21101594197c4456f617e5873a8f17bb3e14bd762018545a9e") version("6.3.1", sha256="88d2de6ce6b23a157eea8be63408350848935e4dfc3e27e5f2add78834c6d6ba") @@ -95,10 +96,11 @@ class Rocblas(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-openmp-extras@{ver}", type="test", when=f"@{ver}") - for ver in ["6.2.0", "6.2.1", "6.2.4", "6.3.0", "6.3.1", "6.3.2", "6.3.3"]: + for ver in ["6.2.0", "6.2.1", "6.2.4", "6.3.0", "6.3.1", "6.3.2", "6.3.3", "6.4.0"]: depends_on(f"rocm-smi-lib@{ver}", type="test", when=f"@{ver}") depends_on("rocm-cmake@master", type="build", when="@master:") @@ -126,14 +128,18 @@ class Rocblas(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"llvm-amdgpu@{ver}", type="build", when=f"@{ver}") depends_on(f"rocminfo@{ver}", type="build", when=f"@{ver}") depends_on(f"rocm-cmake@{ver}", type="build", when=f"@{ver}") - for ver in ["6.3.0", "6.3.1", "6.3.2", "6.3.3"]: + for ver in ["6.3.0", "6.3.1", "6.3.2", "6.3.3", "6.4.0"]: depends_on(f"hipblaslt@{ver}", when=f"@{ver}") + for ver in ["6.4.0"]: + depends_on(f"roctracer-dev@{ver}", when=f"@{ver}") + depends_on("python@3.6:", type="build") with when("+tensile"): @@ -171,6 +177,7 @@ class Rocblas(CMakePackage): ("@6.3.1", "aca95d1743c243dd0dd0c8b924608bc915ce1ae7"), ("@6.3.2", "aca95d1743c243dd0dd0c8b924608bc915ce1ae7"), ("@6.3.3", "aca95d1743c243dd0dd0c8b924608bc915ce1ae7"), + ("@6.4.0", "be49885fce2a61b600ae4593f1c2d00c8b4fa11e"), ]: resource( name="Tensile", @@ -191,6 +198,8 @@ class Rocblas(CMakePackage): patch("0004-Find-python.patch", when="@5.2.0:5.4") patch("0006-Guard-use-of-OpenMP-to-make-it-optional-5.4.patch", when="@5.4") patch("0007-add-rocm-openmp-extras-include-dir.patch", when="@5.6:5.7") + patch("0008-link-roctracer.patch", when="@6.4") + patch("0009-use-rocm-smi-config.patch", when="@6.4") def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) diff --git a/var/spack/repos/spack_repo/builtin/packages/rocdecode/0001-add-amdgpu-drm-include.patch b/var/spack/repos/spack_repo/builtin/packages/rocdecode/0001-add-amdgpu-drm-include.patch new file mode 100644 index 00000000000..313e904f6c4 --- /dev/null +++ b/var/spack/repos/spack_repo/builtin/packages/rocdecode/0001-add-amdgpu-drm-include.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 817b0fc..c5815c7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -134,6 +134,8 @@ if(HIP_FOUND AND Libva_FOUND) + + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17") + target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARY_LIST}) ++ ++ target_include_directories(${PROJECT_NAME} PRIVATE ${AMDGPU_DRM_INCLUDE_DIRS}) + + set_target_properties(${PROJECT_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON) + set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX) diff --git a/var/spack/repos/spack_repo/builtin/packages/rocdecode/package.py b/var/spack/repos/spack_repo/builtin/packages/rocdecode/package.py index a1fb70026b5..94ff8b65be3 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocdecode/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocdecode/package.py @@ -20,6 +20,7 @@ class Rocdecode(CMakePackage): maintainers("afzpatel", "srekolam", "renjithravindrankannath") license("MIT") + version("6.4.0", sha256="d82c17687cc8ccac67fe2d401edd25c9825b38777b7a7b4100f84658838a1e50") version("6.3.3", sha256="e72f53674527b7a6c3cba3b7555fee32117f0875107fd9e632a2ec1d5ce03489") version("6.3.2", sha256="39ff3c21c81a73910dcfe6a147edaddecc21575a3077f0f99971c8d2f6d0e7d5") version("6.3.1", sha256="94da1a61167abaf3f983ae5d62bffb22bb8ba3eb1c9d9fc7c68ed9a066aa4e52") @@ -41,6 +42,7 @@ class Rocdecode(CMakePackage): ) depends_on("libva", type="build", when="@6.2:") + depends_on("libdrm", type="build", when="@6.4:") for ver in [ "6.1.0", @@ -53,9 +55,12 @@ class Rocdecode(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hip@{ver}", when=f"@{ver}") + patch("0001-add-amdgpu-drm-include.patch", when="@6.4") + def patch(self): filter_file( r"${ROCM_PATH}/llvm/bin/clang++", @@ -76,4 +81,14 @@ def cmake_args(self): args.append(self.define_from_variant("AMDGPU_TARGETS", "amdgpu_target")) if self.spec.satisfies("@6.3.0:"): args.append(self.define("LIBVA_INCLUDE_DIR", self.spec["libva"].prefix.include)) + if self.spec.satisfies("@6.4.0:"): + args.append( + self.define("CMAKE_C_COMPILER", f"{self.spec['llvm-amdgpu'].prefix}/bin/amdclang") + ) + args.append( + self.define( + "CMAKE_CXX_COMPILER", f"{self.spec['llvm-amdgpu'].prefix}/bin/amdclang++" + ) + ) + args.append(self.define("AMDGPU_DRM_INCLUDE_DIRS", self.spec["libdrm"].prefix.include)) return args diff --git a/var/spack/repos/spack_repo/builtin/packages/rocfft/package.py b/var/spack/repos/spack_repo/builtin/packages/rocfft/package.py index f9ed8634879..dbb5aabba02 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocfft/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocfft/package.py @@ -23,6 +23,7 @@ class Rocfft(CMakePackage): license("MIT") version("master", branch="master", deprecated=True) + version("6.4.0", sha256="0e9f3f23d8facee65e32baaec7941119b56eb17313b8b514e1c3994c9777c320") version("6.3.3", sha256="b2edb5c39215b98e0abc485d2b277a0b8c6f87f06e9b0770a60f5568ef52e62e") version("6.3.2", sha256="0511d04d2367dcac6b35bc6b449337ba37bb623b8382fb11178fc608b5435437") version("6.3.1", sha256="f8aa0e68d8e303725d0be8ae1d7c0113b6ca019a3b9f08572abf8a02db690662") @@ -104,6 +105,7 @@ class Rocfft(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", "master", ]: depends_on(f"hip@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocjpeg/0001-add-amdgpu-drm-include.patch b/var/spack/repos/spack_repo/builtin/packages/rocjpeg/0001-add-amdgpu-drm-include.patch new file mode 100644 index 00000000000..47ea4db0b41 --- /dev/null +++ b/var/spack/repos/spack_repo/builtin/packages/rocjpeg/0001-add-amdgpu-drm-include.patch @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b8233cf..939b221 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -161,6 +161,8 @@ if(HIP_FOUND AND Libva_FOUND) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17") + target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARY_LIST}) + ++ target_include_directories(${PROJECT_NAME} PRIVATE ${AMDGPU_DRM_INCLUDE_DIRS}) ++ + set_target_properties(${PROJECT_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON) + set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX) + set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}) +@@ -375,4 +377,4 @@ else() + if(NOT Libva_FOUND) + message(FATAL_ERROR "-- ERROR!: libva Not Found - please install libva-amdgpu-dev(DEBIAN)/libva-amdgpu-devel(RPM) package!") + endif() +-endif() +\ No newline at end of file ++endif() diff --git a/var/spack/repos/spack_repo/builtin/packages/rocjpeg/package.py b/var/spack/repos/spack_repo/builtin/packages/rocjpeg/package.py index eaabfd5d925..3c20aae2c5d 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocjpeg/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocjpeg/package.py @@ -20,6 +20,7 @@ class Rocjpeg(CMakePackage): license("MIT") + version("6.4.0", sha256="5488f5ab9c475566716d99ad32fb4c20686ac1bcc00c9242221abdbde2b94ffe") version("6.3.3", sha256="65081b20ab3df82337fdcaf3d4e614c75f946656a4ea7bc00ac0d1bbd81e3e83") version("6.3.2", sha256="4e1ec9604152e818afa85360f1e0ef9e98bfb8a97ca0989980063e2ece015c16") version("6.3.1", sha256="f4913cbc63e11b9b418d33b0f9ba0fec0aa00b23285090acfd435e1ba1c21e42") @@ -27,11 +28,13 @@ class Rocjpeg(CMakePackage): depends_on("cxx", type="build") - for ver in ["6.3.0", "6.3.1", "6.3.2", "6.3.3"]: + for ver in ["6.3.0", "6.3.1", "6.3.2", "6.3.3", "6.4.0"]: depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") depends_on(f"hip@{ver}", when=f"@{ver}") depends_on("libva", type="build", when="@6.2:") + depends_on("libdrm", type="build", when="@6.4:") + patch("0001-add-amdgpu-drm-include.patch", when="@6.4") def patch(self): filter_file( @@ -43,4 +46,14 @@ def patch(self): def cmake_args(self): args = [self.define("LIBVA_INCLUDE_DIR", self.spec["libva"].prefix.include)] + if self.spec.satisfies("@6.4.0:"): + args.append( + self.define("CMAKE_C_COMPILER", f"{self.spec['llvm-amdgpu'].prefix}/bin/amdclang") + ) + args.append( + self.define( + "CMAKE_CXX_COMPILER", f"{self.spec['llvm-amdgpu'].prefix}/bin/amdclang++" + ) + ) + args.append(self.define("AMDGPU_DRM_INCLUDE_DIRS", self.spec["libdrm"].prefix.include)) return args diff --git a/var/spack/repos/spack_repo/builtin/packages/rocm_bandwidth_test/package.py b/var/spack/repos/spack_repo/builtin/packages/rocm_bandwidth_test/package.py index 37466d87429..64ff03b8eef 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocm_bandwidth_test/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocm_bandwidth_test/package.py @@ -19,6 +19,7 @@ class RocmBandwidthTest(CMakePackage): maintainers("srekolam", "renjithravindrankannath", "afzpatel") version("master", branch="master", deprecated=True) + version("6.4.0", sha256="0a4c8aa32e041f0344eda448927d677b4a65835dda9736a7f2ab72b8e7f14d1c") version("6.3.3", sha256="d33f656eb6ba7db78b41c4bcf6d830b511dc97c6d645760e6d05edd07fcaefba") version("6.3.2", sha256="3754831244d7c4f6314fc25b3e929adf9abe44c9cb60621dd8ae5d1aa930ae55") version("6.3.1", sha256="98002e4104929a62a308114ed82fba530880359a17f90ebd62a2ca49c2baac78") @@ -43,6 +44,7 @@ class RocmBandwidthTest(CMakePackage): version("5.3.3", sha256="2bc079297e639d45d57c8017f6f47bc44d4ed34613ec76c80574bb703d79b498") version("5.3.0", sha256="a97365c04d79663db7c85027c63a12d56356abc0a351697f49c2d82bf9ef8999") + depends_on("c", type="build") depends_on("cxx", type="build") # generated depends_on("cmake@3:", type="build") @@ -92,6 +94,7 @@ class RocmBandwidthTest(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", "master", ]: depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") @@ -115,6 +118,7 @@ class RocmBandwidthTest(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocm_cmake/package.py b/var/spack/repos/spack_repo/builtin/packages/rocm_cmake/package.py index 6fe65f60219..a5bb4b54b96 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocm_cmake/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocm_cmake/package.py @@ -22,6 +22,7 @@ class RocmCmake(CMakePackage): license("MIT") version("master", branch="master", deprecated=True) + version("6.4.0", sha256="be8109c52e9309d1ae9553e067346ecdf1a25f653cc21974ddc542f31ce54615") version("6.3.3", sha256="4238cccc22226ba9487185fc2faa66b11c0cb8e7982240332e1b919cec8d909e") version("6.3.2", sha256="f5104c2289da99a70d8c4c1befbca4f8efa7c89711eaac7b6b63592cd4bd99a8") version("6.3.1", sha256="6994a5bdeea55cd41ec01ab4142785ea02bbdcb83e70f6911095c7cea766ebe8") @@ -69,6 +70,7 @@ class RocmCmake(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") @@ -85,6 +87,7 @@ def test_cmake(self): test_dir = join_path(self.test_suite.current_test_cache_dir, self.test_src_dir) with working_dir(test_dir, create=True): cc_options = [f"-DCMAKE_PREFIX_PATH={self.prefix}", "."] + make = self.spec["gmake"].command cmake = self.spec["cmake"].command cmake(*cc_options) make() diff --git a/var/spack/repos/spack_repo/builtin/packages/rocm_core/package.py b/var/spack/repos/spack_repo/builtin/packages/rocm_core/package.py index 1fc68d56cd4..681056f4c0e 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocm_core/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocm_core/package.py @@ -21,6 +21,7 @@ class RocmCore(CMakePackage): libraries = ["librocm-core"] license("MIT") + version("6.4.0", sha256="058739404c91105c1b34117803f6b48917a23191291ce67020e6b983b45450c1") version("6.3.3", sha256="d2a3900424dea1dcc0e303c288d2c07e1345c2d5348398449998e8007fe7fd44") version("6.3.2", sha256="3243f661e5e995341e81127a6096ac80169b8481826ebadc02e24020f1ff985d") version("6.3.1", sha256="f8196f3aafe03bd93ae2947162f34098fd08ddbad4eb3deaf92acd434b480304") @@ -59,6 +60,7 @@ class RocmCore(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on("llvm-amdgpu", when=f"@{ver}+asan") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocm_dbgapi/package.py b/var/spack/repos/spack_repo/builtin/packages/rocm_dbgapi/package.py index 365f0faa781..4f18340e771 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocm_dbgapi/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocm_dbgapi/package.py @@ -26,6 +26,7 @@ class RocmDbgapi(CMakePackage): license("MIT") version("master", branch="amd-master", deprecated=True) + version("6.4.0", sha256="5dcf627245cc9511c7ff22f46410c5e5777187fab97b7cfcd95e03e61069f72c") version("6.3.3", sha256="25c8e9f4a22f23004f2fc1998c284095b193591eb6143b47380455754948ab98") version("6.3.2", sha256="0e7cea6ae2eb737ad378787d2ef5f6cbaf9dfb483bb5e61e716601a145677adf") version("6.3.1", sha256="1843423c91a22cf83bef5f14cb50f55ba333047e03e75296b9f9522facde5822") @@ -57,6 +58,8 @@ class RocmDbgapi(CMakePackage): conflicts("+asan", when="os=centos8") depends_on("cxx", type="build") # generated + depends_on("c", type="build") + depends_on("cmake@3:", type="build") depends_on("hwdata", when="@5.5.0:") depends_on("pciutils", when="@5.5.0:") @@ -84,6 +87,7 @@ class RocmDbgapi(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", "master", ]: depends_on(f"hsa-rocr-dev@{ver}", type="build", when=f"@{ver}") @@ -108,6 +112,7 @@ class RocmDbgapi(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocm_debug_agent/package.py b/var/spack/repos/spack_repo/builtin/packages/rocm_debug_agent/package.py index a05e9a7e725..6baf40571c4 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocm_debug_agent/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocm_debug_agent/package.py @@ -19,6 +19,7 @@ class RocmDebugAgent(CMakePackage): maintainers("srekolam", "renjithravindrankannath", "afzpatel") libraries = ["librocm-debug-agent"] + version("6.4.0", sha256="699af72a1ff7edf3cff6ef293469345538da06aaedefb3540dd61f55ea862330") version("6.3.3", sha256="27407c5cabec3d9757ffe5eb729639ccb3ad3b086f57f101854b73479a6f0f51") version("6.3.2", sha256="578aa08b10a456eebd2b548afd86339bd5a5df807611ffd20cc3006eaae74836") version("6.3.1", sha256="0e28a9febf3b95cc6bbf8eae91091bf22a8f49fe9558171251f8f9afe666f9d7") @@ -50,9 +51,10 @@ class RocmDebugAgent(CMakePackage): conflicts("+asan", when="os=centos8") depends_on("cxx", type="build") # generated + depends_on("c", type="build") depends_on("cmake@3:", type="build") - depends_on("elfutils@:0.168", type="link") + depends_on("elfutils@0.188:", type="link") for ver in [ "5.3.0", @@ -99,6 +101,7 @@ class RocmDebugAgent(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") depends_on(f"rocm-dbgapi@{ver}", when=f"@{ver}") @@ -122,12 +125,13 @@ class RocmDebugAgent(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") # https://github.com/ROCm/rocr_debug_agent/pull/4 patch("0001-Drop-overly-strict-Werror-flag.patch") - patch("0002-add-hip-architecture.patch") + patch("0002-add-hip-architecture.patch", when="@:6.3") @classmethod def determine_version(cls, lib): @@ -139,9 +143,9 @@ def determine_version(cls, lib): return None def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") + env.set("CXX", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang++") if self.spec.satisfies("+asan"): - env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") - env.set("CXX", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang++") env.set("ASAN_OPTIONS", "detect_leaks=0") env.set("CFLAGS", "-fsanitize=address -shared-libasan") env.set("CXXFLAGS", "-fsanitize=address -shared-libasan") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocm_device_libs/package.py b/var/spack/repos/spack_repo/builtin/packages/rocm_device_libs/package.py index 74bf28151ec..47ae0e7dd83 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocm_device_libs/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocm_device_libs/package.py @@ -26,6 +26,7 @@ def url_for_version(self, version): maintainers("srekolam", "renjithravindrankannath", "haampie", "afzpatel") version("master", branch="amd-stg-open", deprecated=True) + version("6.4.0", sha256="dca1c145a23f05229d5d646241f9d1d3c5dbf1d745b338ae020eabe33beb965c") version("6.3.3", sha256="4df9aba24e574edf23844c0d2d9dda112811db5c2b08c9428604a21b819eb23d") version("6.3.2", sha256="1f52e45660ea508d3fe717a9903fe27020cee96de95a3541434838e0193a4827") version("6.3.1", sha256="e9c2481cccacdea72c1f8d3970956c447cec47e18dfb9712cbbba76a2820552c") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocm_examples/package.py b/var/spack/repos/spack_repo/builtin/packages/rocm_examples/package.py index 57d5860b91c..a216dd08c35 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocm_examples/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocm_examples/package.py @@ -20,6 +20,7 @@ class RocmExamples(CMakePackage): license("MIT") + version("6.4.0", sha256="af2be5806982a72c726cf052c512493cc004bfa98d0136fbf8fed2754a4f4b80") version("6.3.3", sha256="5e5bdffb4bf56d30c5f8dd8fda95d162362d17e446396e6b6a3afe8d293039f3") version("6.3.2", sha256="7a71dcfec782338af1d838f86b692974368e362de8ad85d5ec26c23b0afbab9e") version("6.3.1", sha256="c5093cd6641de478b940d2e36d6723f7ef1ccad3f4f96caf0394def2e6c7e325") @@ -28,11 +29,12 @@ class RocmExamples(CMakePackage): version("6.2.1", sha256="2e426572aa5f5b44c7893ea256945c8733b79db39cca84754380f40c8b44a563") version("6.2.0", sha256="6fb1f954ed32b5c4085c7f071058d278c2e1e8b7b71118ee5e85cf9bbc024df0") + depends_on("c", type="build") depends_on("cxx", type="build") depends_on("glfw", type="build") - for ver in ["6.3.3", "6.3.2", "6.3.1", "6.3.0", "6.2.4", "6.2.1", "6.2.0"]: + for ver in ["6.4.0", "6.3.3", "6.3.2", "6.3.1", "6.3.0", "6.2.4", "6.2.1", "6.2.0"]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"hipify-clang@{ver}", when=f"@{ver}") depends_on(f"hipcub@{ver}", when=f"@{ver}") @@ -44,6 +46,10 @@ class RocmExamples(CMakePackage): depends_on(f"rocsparse@{ver}", when=f"@{ver}") depends_on(f"rocsolver@{ver}", when=f"@{ver}") + for ver in ["6.4.0", "6.3.3", "6.3.2", "6.3.1", "6.3.0"]: + depends_on(f"hipfft@{ver}", when=f"@{ver}") + depends_on(f"rocfft@{ver}", when=f"@{ver}") + def patch(self): filter_file( r"${ROCM_ROOT}/bin/hipify-perl", diff --git a/var/spack/repos/spack_repo/builtin/packages/rocm_gdb/package.py b/var/spack/repos/spack_repo/builtin/packages/rocm_gdb/package.py index 14addf82acf..c2c386b1642 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocm_gdb/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocm_gdb/package.py @@ -19,6 +19,7 @@ class RocmGdb(AutotoolsPackage): license("LGPL-2.0-or-later") maintainers("srekolam", "renjithravindrankannath") + version("6.4.0", sha256="ef32529b2e3799dd8ab15647701063fcdcadd6d043a0d376a98c3ca10813817a") version("6.3.3", sha256="51678b588f65f92f50c2336707322cf4973fa96d03e268ec5956ac1a9f2ebaa3") version("6.3.2", sha256="85b03c1fb99f55272f4732dff58e8ba0a1add454a79d2b9d471df200366d0c7e") version("6.3.1", sha256="954236518491ba547f849be7c86e71ff95ef24535f66acabfd45040e11c25d7b") @@ -83,6 +84,7 @@ class RocmGdb(AutotoolsPackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-dbgapi@{ver}", type="link", when=f"@{ver}") depends_on(f"comgr@{ver}", type="link", when=f"@{ver}") @@ -106,6 +108,7 @@ class RocmGdb(AutotoolsPackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocm_opencl/package.py b/var/spack/repos/spack_repo/builtin/packages/rocm_opencl/package.py index 1f4a8d53207..4924e4d8052 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocm_opencl/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocm_opencl/package.py @@ -37,6 +37,7 @@ def url_for_version(self, version): license("MIT") version("master", branch="main", deprecated=True) + version("6.4.0", sha256="76fd0ad83da0dabf7c91ca4cff6c51f2be8ab259e08ad9743af47d1b3473c2ff") version("6.3.3", sha256="8e5adca8f8c2d99d4a4e49605dd6b56b7881b762ee8ce15b4a7000e3cd982fec") version("6.3.2", sha256="ec13dc4ffe212beee22171cb2825d2b16cdce103c835adddb482b9238cf4f050") version("6.3.1", sha256="bfb8a4a59e7bd958e2cd4bf6f14c6cdea601d9827ebf6dc7af053a90e963770f") @@ -135,6 +136,7 @@ def url_for_version(self, version): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", "master", ]: depends_on(f"comgr@{ver}", type="build", when=f"@{ver}") @@ -153,6 +155,7 @@ def url_for_version(self, version): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"aqlprofile@{ver}", type="link", when=f"@{ver}") @@ -175,6 +178,7 @@ def url_for_version(self, version): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocm_openmp_extras/0001-Avoid-duplicate-registration-on-cuda-env-6.4.patch b/var/spack/repos/spack_repo/builtin/packages/rocm_openmp_extras/0001-Avoid-duplicate-registration-on-cuda-env-6.4.patch new file mode 100644 index 00000000000..ef9f002dee4 --- /dev/null +++ b/var/spack/repos/spack_repo/builtin/packages/rocm_openmp_extras/0001-Avoid-duplicate-registration-on-cuda-env-6.4.patch @@ -0,0 +1,13 @@ +diff --git a/rocm-openmp-extras/llvm-project/offload/plugins-nextgen/cuda/CMakeLists.txt b/rocm-openmp-extras/llvm-project/offload/plugins-nextgen/cuda/CMakeLists.txt + index 5fdfb8f..7e13320 100644 + --- a/rocm-openmp-extras/llvm-project/offload/plugins-nextgen/cuda/CMakeLists.txt + +++ b/rocm-openmp-extras/llvm-project/offload/plugins-nextgen/cuda/CMakeLists.txt + @@ -18,8 +18,6 @@ endif() + option(LIBOMPTARGET_FORCE_NVIDIA_TESTS "Build NVIDIA libomptarget tests" OFF) + if (LIBOMPTARGET_FOUND_NVIDIA_GPU OR LIBOMPTARGET_FORCE_NVIDIA_TESTS) + message(STATUS "Enable tests using CUDA plugin") + - set(LIBOMPTARGET_SYSTEM_TARGETS + - "${LIBOMPTARGET_SYSTEM_TARGETS} nvptx64-nvidia-cuda nvptx64-nvidia-cuda-LTO" PARENT_SCOPE) + list(APPEND LIBOMPTARGET_TESTED_PLUGINS "omptarget.rtl.cuda") + set(LIBOMPTARGET_TESTED_PLUGINS "${LIBOMPTARGET_TESTED_PLUGINS}" PARENT_SCOPE) + else() diff --git a/var/spack/repos/spack_repo/builtin/packages/rocm_openmp_extras/package.py b/var/spack/repos/spack_repo/builtin/packages/rocm_openmp_extras/package.py index 0430c59ebce..875d7a05440 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocm_openmp_extras/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocm_openmp_extras/package.py @@ -39,6 +39,7 @@ "8fefdd0d9eecd11866ddecbe039347560469eb69d974934005d480eac4432b81", "eeda81dafd17df7e1d2b9dbf91a23924c6dd8de29f0792725fc25a6cd1d9c5fa", "b43b889b5778572d6d348c6a6614dc02258212004d1f1f64f0cdc74dc3249e86", + "b9b1537fcbb7226d99145a1c01e8c5961ab83a5834286397943ff86676d545ed", ] devlib = [ @@ -64,6 +65,7 @@ "e9c2481cccacdea72c1f8d3970956c447cec47e18dfb9712cbbba76a2820552c", "1f52e45660ea508d3fe717a9903fe27020cee96de95a3541434838e0193a4827", "4df9aba24e574edf23844c0d2d9dda112811db5c2b08c9428604a21b819eb23d", + "dca1c145a23f05229d5d646241f9d1d3c5dbf1d745b338ae020eabe33beb965c", ] llvm = [ @@ -89,6 +91,7 @@ "e9c2481cccacdea72c1f8d3970956c447cec47e18dfb9712cbbba76a2820552c", "1f52e45660ea508d3fe717a9903fe27020cee96de95a3541434838e0193a4827", "4df9aba24e574edf23844c0d2d9dda112811db5c2b08c9428604a21b819eb23d", + "dca1c145a23f05229d5d646241f9d1d3c5dbf1d745b338ae020eabe33beb965c", ] flang = [ @@ -114,6 +117,7 @@ "2e38ba138312d18b2677347839a960802bb04090bb92b5e6a15ac06ed789dbc0", "4b4d8025a215c52e62dd6317cafce224d95f91040e90942c9a93ade568a8dd48", "e0f650fc633ab4a8eab30b0c1ba0efb46ec596b540c3a4c13ca24d92c512d255", + "a51fbdda9d5d968fe6d23eaeabbe04a0db810a88a7a609ae924e3caaed4539f1", ] extras = [ @@ -139,6 +143,7 @@ "4050c60cbbf582122cc0a30b4a99200341c426f2fa3d81ac8dc61f5a0890ed15", "70b49c1198bf176498ec4a94584b8ed8a07f623ebfa567e4fcf1a6545b635185", "9615235b4d5ae78e43ca4854f316b83e75f7d9ed3fc187ed1869b7d8d7e26341", + "105dd0ccae2864275de5a6370010d923d25307e6a8c35af3befdd0064ea743bc", ] versions = [ @@ -164,6 +169,7 @@ "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ] versions_dict = dict() # type: Dict[str,Dict[str,str]] components = ["aomp", "devlib", "llvm", "flang", "extras"] @@ -187,6 +193,7 @@ class RocmOpenmpExtras(Package): license("Apache-2.0") maintainers("srekolam", "renjithravindrankannath", "estewart08", "afzpatel") + version("6.4.0", sha256=versions_dict["6.4.0"]["aomp"]) version("6.3.3", sha256=versions_dict["6.3.3"]["aomp"]) version("6.3.2", sha256=versions_dict["6.3.2"]["aomp"]) version("6.3.1", sha256=versions_dict["6.3.1"]["aomp"]) @@ -247,6 +254,7 @@ class RocmOpenmpExtras(Package): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") @@ -321,6 +329,7 @@ class RocmOpenmpExtras(Package): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"comgr@{ver}", when=f"@{ver}") depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") @@ -362,12 +371,20 @@ class RocmOpenmpExtras(Package): when="@6.1", ) patch("0001-Avoid-duplicate-registration-on-cuda-env.patch", when="@6.1") - patch("0001-Avoid-duplicate-registration-on-cuda-env-6.2.patch", when="@6.2:") + patch("0001-Avoid-duplicate-registration-on-cuda-env-6.2.patch", when="@6.2:6.3") + patch("0001-Avoid-duplicate-registration-on-cuda-env-6.4.patch", when="@6.4:") def setup_run_environment(self, env: EnvironmentModifications) -> None: - devlibs_prefix = self.spec["llvm-amdgpu"].prefix - llvm_prefix = self.spec["llvm-amdgpu"].prefix - hsa_prefix = self.spec["hsa-rocr-dev"].prefix + if self.spec.external: + devlibs_prefix = self.prefix + llvm_prefix = self.prefix + # prefix is set to either /llvm or /lib/llvm + path_parts = self.prefix.rstrip("llvm").rstrip("lib/") + hsa_prefix = os.path.dirname(path_parts) + else: + devlibs_prefix = self.spec["llvm-amdgpu"].prefix + llvm_prefix = self.spec["llvm-amdgpu"].prefix + hsa_prefix = self.spec["hsa-rocr-dev"].prefix env.set("AOMP", f"{llvm_prefix}") env.set("HIP_DEVICE_LIB_PATH", f"{devlibs_prefix}/amdgcn/bitcode") env.prepend_path("CPATH", f"{self.prefix}/include") @@ -391,7 +408,10 @@ def setup_build_environment(self, env: EnvironmentModifications) -> None: def patch(self): src = self.stage.source_path - libomptarget = "{0}/rocm-openmp-extras/llvm-project/openmp/libomptarget" + if self.spec.satisfies("@6.4:"): + libomptarget = "{0}/rocm-openmp-extras/llvm-project/offload" + else: + libomptarget = "{0}/rocm-openmp-extras/llvm-project/openmp/libomptarget" flang = "{0}/rocm-openmp-extras/flang/" plugin = "/plugins/amdgpu/CMakeLists.txt" diff --git a/var/spack/repos/spack_repo/builtin/packages/rocm_smi_lib/0001-add-libdrm-include-dir.patch b/var/spack/repos/spack_repo/builtin/packages/rocm_smi_lib/0001-add-libdrm-include-dir.patch new file mode 100644 index 00000000000..48ac154a611 --- /dev/null +++ b/var/spack/repos/spack_repo/builtin/packages/rocm_smi_lib/0001-add-libdrm-include-dir.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 289cca0..d05a779 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -41,6 +41,8 @@ set(SHARE_INSTALL_PREFIX + # provide git to utilities + find_program (GIT NAMES git) + ++pkg_check_modules(DRM REQUIRED libdrm) ++pkg_check_modules(AMDGPU_DRM REQUIRED libdrm_amdgpu) + + ## Setup the package version based on git tags. + set(PKG_VERSION_GIT_TAG_PREFIX "rsmi_pkg_ver") +diff --git a/rocm_smi/CMakeLists.txt b/rocm_smi/CMakeLists.txt +index 257309b..a3d7357 100755 +--- a/rocm_smi/CMakeLists.txt ++++ b/rocm_smi/CMakeLists.txt +@@ -98,6 +98,13 @@ if(FILE_REORG_BACKWARD_COMPATIBILITY) + "$") + endif() + ++ ++target_include_directories(${ROCM_SMI_TARGET} ++ INTERFACE ++ ${DRM_INCLUDE_DIRS} ++ ${AMDGPU_DRM_INCLUDE_DIRS} ++) ++ + ## Set the VERSION and SOVERSION values + set_property(TARGET ${ROCM_SMI_TARGET} PROPERTY + SOVERSION "${VERSION_MAJOR}") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocm_smi_lib/package.py b/var/spack/repos/spack_repo/builtin/packages/rocm_smi_lib/package.py index c3d59fece5b..304e90ceb89 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocm_smi_lib/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocm_smi_lib/package.py @@ -25,6 +25,7 @@ class RocmSmiLib(CMakePackage): libraries = ["librocm_smi64"] version("master", branch="master", deprecated=True) + version("6.4.0", sha256="0c462520b4fa0cf9b49515b207b0ead32a5f96ddba487c5d4fa07a403690c05a") version("6.3.3", sha256="679dfd0cbd213d27660e546584ab013afea286eff95928d748d168503305c9c4") version("6.3.2", sha256="29a9190143dfcbafeac93d8064b00c9320dbca57a3344adb009ec17d9b09d036") version("6.3.1", sha256="0f45e4823e361a1c6ac560eabf6000c3b59e08bcd96e87150149149e861c6a63") @@ -77,6 +78,7 @@ class RocmSmiLib(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") @@ -91,9 +93,13 @@ class RocmSmiLib(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on("llvm-amdgpu", when=f"@{ver}+asan") + depends_on("pkg-config", when="@6.4:") + depends_on("libdrm", when="@6.4:") + patch( "https://github.com/ROCm/rocm_smi_lib/commit/11f12b86517d0e9868f4d16d74d4e8504c3ba7da.patch?full_index=1", sha256="62be7262f6e1e71bf82a03f500a424a536638f04e913d0f4b477f60e8e1190fd", @@ -101,6 +107,12 @@ class RocmSmiLib(CMakePackage): ) patch("disable_pdf_generation_with_doxygen_and_latex.patch", when="@:5.6") + patch( + "https://github.com/ROCm/rocm_smi_lib/commit/ce405476cabf66a884a351cb2e3253bd5c29e06b.patch?full_index=1", + sha256="54094b5dbd05b79341e38e95f785dcbb0ba4a5aef4bad19e075ea77470164138", + when="@6.4", + ) + patch("0001-add-libdrm-include-dir.patch", when="@6.4") def cmake_args(self): args = [ diff --git a/var/spack/repos/spack_repo/builtin/packages/rocm_tensile/0004-replace_rocm_smi.patch b/var/spack/repos/spack_repo/builtin/packages/rocm_tensile/0004-replace_rocm_smi.patch new file mode 100644 index 00000000000..65ca29e638f --- /dev/null +++ b/var/spack/repos/spack_repo/builtin/packages/rocm_tensile/0004-replace_rocm_smi.patch @@ -0,0 +1,24 @@ +diff --git a/Tensile/Source/client/CMakeLists.txt b/Tensile/Source/client/CMakeLists.txt +index a9ac80a..087e0c5 100644 +--- a/Tensile/Source/client/CMakeLists.txt ++++ b/Tensile/Source/client/CMakeLists.txt +@@ -58,8 +58,8 @@ set_target_properties(TensileClient + find_package(Boost COMPONENTS program_options REQUIRED) + + if (NOT WIN32) +- find_package(ROCmSMI QUIET) +- if(NOT ROCmSMI_FOUND) ++ find_package(rocm_smi CONFIG QUIET) ++ if(NOT rocm_smi_FOUND) + set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${Tensile_DIR}" "${Tensile_DIR}/../Source/cmake" "${CMAKE_HOME_DIRECTORY}/cmake") + find_package(ROCmSMI REQUIRED) + endif() +@@ -72,7 +72,7 @@ target_include_directories(TensileClient PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/inc + target_link_libraries(TensileClient PRIVATE TensileHost ${Boost_LIBRARIES}) + + if(NOT WIN32) +- target_link_libraries(TensileClient PRIVATE TensileHost rocm_smi) ++ target_link_libraries(TensileClient PRIVATE TensileHost ${ROCM_SMI_LIBRARY}) + endif() + + if(TENSILE_USE_OPENMP) diff --git a/var/spack/repos/spack_repo/builtin/packages/rocm_tensile/package.py b/var/spack/repos/spack_repo/builtin/packages/rocm_tensile/package.py index 2d26088aecc..daa448edbf5 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocm_tensile/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocm_tensile/package.py @@ -21,6 +21,7 @@ class RocmTensile(CMakePackage): license("MIT") maintainers("srekolam", "renjithravindrankannath", "haampie", "afzpatel") + version("6.4.0", sha256="cfe32aa31aa0dd79018d0cdd36e09df3a548159cb7b8e18d0ef6513d0febce90") version("6.3.3", sha256="5849fc3898e9cea05569c0ee102c13043c4df67079119572687bc42f274ae496") version("6.3.2", sha256="700e43a22d7e6309bf74624b18a42bb0132ef35716fccec897d3045a97759e6a") version("6.3.1", sha256="9882e8f949e1eb1d4b7dbd215370ecce643852dd2ce6e021d59cd49d32ba9dea") @@ -65,6 +66,7 @@ class RocmTensile(CMakePackage): ) variant("openmp", default=True, description="Enable OpenMP") + depends_on("c", type="build") depends_on("cxx", type="build") # generated depends_on("cmake@3:", type="build") @@ -95,6 +97,7 @@ class RocmTensile(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-cmake@{ver}", type="build", when=f"@{ver}") depends_on(f"hip@{ver}", when=f"@{ver}") @@ -106,6 +109,7 @@ class RocmTensile(CMakePackage): root_cmakelists_dir = "Tensile/Source" patch("0003-require-openmp-extras-when-tensile-use-openmp.patch", when="@5.1.0:") + patch("0004-replace_rocm_smi.patch", when="@6.4") def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) diff --git a/var/spack/repos/spack_repo/builtin/packages/rocm_validation_suite/010-add-drm-include-path.patch b/var/spack/repos/spack_repo/builtin/packages/rocm_validation_suite/010-add-drm-include-path.patch new file mode 100644 index 00000000000..4e9aab13963 --- /dev/null +++ b/var/spack/repos/spack_repo/builtin/packages/rocm_validation_suite/010-add-drm-include-path.patch @@ -0,0 +1,16 @@ +diff --git a/rvslib/CMakeLists.txt b/rvslib/CMakeLists.txt +index d3ea8af..55b26c3 100644 +--- a/rvslib/CMakeLists.txt ++++ b/rvslib/CMakeLists.txt +@@ -114,9 +114,10 @@ else() + set(ASAN_LIB_PATH "$ENV{LD_LIBRARY_PATH}") + endif() + ++find_path(DRM_INCLUDE_DIR libdrm/drm.h PATHS /usr/include /usr/local/include) + ## define include directories + include_directories(./ ../ ../rvs +- ${ROCM_SMI_INC_DIR} ${ROCR_INC_DIR} ${ROCBLAS_INC_DIR} ${HIP_INC_DIR} ${HIPBLASLT_INC_DIR} ${YAML_CPP_INCLUDE_DIR} ${HIPRAND_INC_DIR} ${ROCRAND_INC_DIR} ${HIPBLAS-COMMON_INCLUDE_DIR}) ++ ${ROCM_SMI_INC_DIR} ${ROCR_INC_DIR} ${ROCBLAS_INC_DIR} ${HIP_INC_DIR} ${HIPBLASLT_INC_DIR} ${YAML_CPP_INCLUDE_DIR} ${HIPRAND_INC_DIR} ${ROCRAND_INC_DIR} ${HIPBLAS-COMMON_INCLUDE_DIR} ${DRM_INCLUDE_DIR}) + + link_directories(${ASAN_LIB_PATH} ${ROCM_SMI_LIB_DIR}) + diff --git a/var/spack/repos/spack_repo/builtin/packages/rocm_validation_suite/package.py b/var/spack/repos/spack_repo/builtin/packages/rocm_validation_suite/package.py index dd87274a363..43b6d0189b2 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocm_validation_suite/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocm_validation_suite/package.py @@ -23,6 +23,7 @@ class RocmValidationSuite(CMakePackage): license("MIT") maintainers("srekolam", "renjithravindrankannath", "afzpatel") + version("6.4.0", sha256="1963aa0ec6f6b7e957a5521dbfba615c2047ef7f432048b4a14c979c90a6f995") version("6.3.3", sha256="3d1afc47f6bd491991f6deb80f84d00041497e7fd564fd0129622263b5b87cc1") version("6.3.2", sha256="c13d1efc21358901074f73c48f9cc8531cd5c6d28b7702d022f3efbbaf4b4286") version("6.3.1", sha256="5a5ec682729292d57838191e217a3475d662c5c25a7bd79c4996fdf4b5e36a5a") @@ -47,6 +48,7 @@ class RocmValidationSuite(CMakePackage): version("5.3.3", sha256="9acbc8de9b2e18659f51bd49f6e92ab6c93742e2ed0046322025f017fc12497f") version("5.3.0", sha256="d6afb8a5f4eaf860fd510bcfe65e735cbf96d4b8817c758ea7aee84d4c994382") + depends_on("c", type="build") depends_on("cxx", type="build") # generated patch( @@ -69,13 +71,15 @@ class RocmValidationSuite(CMakePackage): patch( "https://github.com/ROCm/ROCmValidationSuite/commit/bd63256d43d11ae09a2c203e05cb002c7a730c59.patch?full_index=1", sha256="bd63baeb4dea00ac4104ef7e9fab907bc04a1eccb93036478c005d0ac11034de", - when="@6.3.0:", + when="@6.3", ) + patch("010-add-drm-include-path.patch", when="@6.4") depends_on("cmake@3.5:", type="build") depends_on("zlib-api", type="link") depends_on("yaml-cpp~shared") depends_on("googletest") depends_on("doxygen", type="build") + depends_on("libdrm", when="@6.4:") def setup_build_environment(self, env: EnvironmentModifications) -> None: spec = self.spec @@ -126,17 +130,18 @@ def setup_build_environment(self, env: EnvironmentModifications) -> None: "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocminfo@{ver}", when=f"@{ver}") depends_on(f"rocblas@{ver}", when=f"@{ver}") depends_on(f"rocm-smi-lib@{ver}", when=f"@{ver}") depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") - for ver in ["6.2.1", "6.2.4", "6.3.0", "6.3.1", "6.3.2", "6.3.3"]: + for ver in ["6.2.1", "6.2.4", "6.3.0", "6.3.1", "6.3.2", "6.3.3", "6.4.0"]: depends_on(f"hiprand@{ver}", when=f"@{ver}") depends_on(f"rocrand@{ver}", when=f"@{ver}") - for ver in ["6.3.0", "6.3.1", "6.3.2", "6.3.3"]: + for ver in ["6.3.0", "6.3.1", "6.3.2", "6.3.3", "6.4.0"]: depends_on(f"hipblaslt@{ver}", when=f"@{ver}") def patch(self): diff --git a/var/spack/repos/spack_repo/builtin/packages/rocminfo/package.py b/var/spack/repos/spack_repo/builtin/packages/rocminfo/package.py index a831bd374a5..9f8e94b54df 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocminfo/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocminfo/package.py @@ -19,6 +19,7 @@ class Rocminfo(CMakePackage): maintainers("srekolam", "renjithravindrankannath", "haampie") version("master", branch="master", deprecated=True) + version("6.4.0", sha256="060184e70755cb267017553ec37cc5b36af2c94e6b0643cad4b9fed270199a79") version("6.3.3", sha256="08390b2babe6dc832887098c5d3a5253d655430a18751f3446a56c7422b26dd2") version("6.3.2", sha256="a98a32bae0e118397b5559b4a584c9363191bb2d1f45fe13b09f502016745e8f") version("6.3.1", sha256="30cf7ed537c066e325a8731d0fbe62be2f0f66c8700a06f334e787e9f0f87437") @@ -94,6 +95,7 @@ class Rocminfo(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", "master", ]: depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") @@ -117,6 +119,7 @@ class Rocminfo(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocmlir/package.py b/var/spack/repos/spack_repo/builtin/packages/rocmlir/package.py index 520c786c769..e2b6fcb0f2f 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocmlir/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocmlir/package.py @@ -19,6 +19,7 @@ class Rocmlir(CMakePackage): maintainers("srekolam", "afzpatel", "renjithravindrankannath") + version("6.4.0", sha256="e377ad70fd5a5723427edf9464dde8e7892dabd1f783123d39a2fa2faf87079f") version("6.3.3", sha256="87242b811536132a02ce79fe430c70485f9b1477de22d8376e7e923a9c9ad98b") version("6.3.2", sha256="5911e880a66faecb08d242efa3e5eb6f8ce32cb21ea09dec36f4aef111c395fb") version("6.3.1", sha256="b9e0ea8cfb83c20553b1ec1556752958afaa421a8d7326b1da748395ba7b75ac") @@ -84,6 +85,7 @@ def patch(self): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocprim/package.py b/var/spack/repos/spack_repo/builtin/packages/rocprim/package.py index d4c1a95bf40..4d87e7807d4 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocprim/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocprim/package.py @@ -19,6 +19,7 @@ class Rocprim(CMakePackage): license("MIT") maintainers("cgmb", "srekolam", "renjithravindrankannath", "afzpatel") + version("6.4.0", sha256="c35c568b83f8894fc3b9b722343b0ea75c3bd961be24075fb3527d5230788e26") version("6.3.3", sha256="15e4f8dfc71175c568f8afa87e3e0e3c7ad0680c8bca0d9db3a39936ec185813") version("6.3.2", sha256="fbb4839992eaba838f798408636da30f0d61b669513dae185ab790c5fa5595c4") version("6.3.1", sha256="37690d9f326d68379d52a21fe9184061d38b15263a566f1f182d539e4b3277d5") @@ -86,6 +87,7 @@ class Rocprim(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"comgr@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocprofiler_compute/package.py b/var/spack/repos/spack_repo/builtin/packages/rocprofiler_compute/package.py index 30b3a740921..b5194b7d61e 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocprofiler_compute/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocprofiler_compute/package.py @@ -19,6 +19,8 @@ class RocprofilerCompute(CMakePackage): maintainers("afzpatel", "srekolam", "renjithravindrankannath") license("MIT") + + version("6.4.0", sha256="484a8974ebf973fa00241bf3665eac790b3c317aa36b794cc2998f892b3036fc") version("6.3.3", sha256="0f563874f71b593cbdcdf0eea58b08c7437f1abf807f0886a3a30afa9e7f4953") version("6.3.2", sha256="317f19acfa6e6780923e6c8144c3c223b523c382588df528b6df001fae38d13d") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocprofiler_dev/package.py b/var/spack/repos/spack_repo/builtin/packages/rocprofiler_dev/package.py index ae257032969..3b1f8d9aa8e 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocprofiler_dev/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocprofiler_dev/package.py @@ -20,6 +20,7 @@ class RocprofilerDev(CMakePackage): maintainers("srekolam", "renjithravindrankannath", "afzpatel") libraries = ["librocprofiler64"] license("MIT") + version("6.4.0", sha256="c605bdbf5245f46267d4a422746fc941213beae494cd3f902b67fc5423979a57") version("6.3.3", sha256="7ca6900b4a81f9dc0d7cdfe3be39372b3bf25f3c8304256705003294772890bd") version("6.3.2", sha256="c440ac79fa9f3e8c1decbfd83557d5cbbc4bb720927880b33dc36e682f37ec26") version("6.3.1", sha256="c4666c1167e551cfafc343b092506834477556ba6f7b0739552d660fd69c30fb") @@ -114,6 +115,7 @@ class RocprofilerDev(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocm-smi-lib@{ver}", when=f"@{ver}") @@ -137,6 +139,7 @@ class RocprofilerDev(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"aqlprofile@{ver}", when=f"@{ver}") depends_on(f"comgr@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocprofiler_register/package.py b/var/spack/repos/spack_repo/builtin/packages/rocprofiler_register/package.py index 339ae08b70c..e093ac55e29 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocprofiler_register/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocprofiler_register/package.py @@ -21,6 +21,7 @@ class RocprofilerRegister(CMakePackage): maintainers("afzpatel", "srekolam", "renjithravindrankannath") license("MIT") + version("6.4.0", sha256="7439d789f722971b2dd2f8e7b5c5cbdb1522e47a6fbb428fd9bcb24234c6fd48") version("6.3.3", sha256="afe4b1017ca604259de8cf7d06f98680bae63180214b914fcd7bd5da116b58c3") version("6.3.2", sha256="2e973dd10af220cd37838c13f3c7d52671f5cf846a3f06311b138770b62f51f4") version("6.3.1", sha256="82e2fbd2da058503398848c3e662f518e99f9bccb7b98880aa321c1f6511fca9") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocprofiler_sdk/package.py b/var/spack/repos/spack_repo/builtin/packages/rocprofiler_sdk/package.py index a44c6be30fa..9ead90f9a91 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocprofiler_sdk/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocprofiler_sdk/package.py @@ -23,6 +23,12 @@ class RocprofilerSdk(CMakePackage): license("MIT") + version( + "6.4.0", + tag="rocm-6.4.0", + commit="e8e49fe76971000a42a5a177d9a727d16dd0ebcf", + submodules=True, + ) version( "6.3.3", tag="rocm-6.3.3", @@ -56,9 +62,15 @@ class RocprofilerSdk(CMakePackage): depends_on("c", type="build") depends_on("cxx", type="build") - for ver in ["6.2.4", "6.3.0", "6.3.1", "6.3.2", "6.3.3"]: + for ver in ["6.2.4", "6.3.0", "6.3.1", "6.3.2", "6.3.3", "6.4.0"]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocm-cmake@{ver}", when=f"@{ver}") depends_on(f"aqlprofile@{ver}", when=f"@{ver}") depends_on(f"rccl@{ver}", when=f"@{ver}") depends_on(f"rocprofiler-register@{ver}", when=f"@{ver}") + + for ver in ["6.4.0"]: + depends_on(f"rocdecode@{ver}", when=f"@{ver}") + + def setup_run_environment(self, env): + env.prepend_path("LD_LIBRARY_PATH", self.spec["aqlprofile"].prefix.lib) diff --git a/var/spack/repos/spack_repo/builtin/packages/rocpydecode/package.py b/var/spack/repos/spack_repo/builtin/packages/rocpydecode/package.py index cc71693489f..2605fee32ad 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocpydecode/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocpydecode/package.py @@ -15,6 +15,7 @@ class Rocpydecode(CMakePackage): url = "https://github.com/ROCm/rocPyDecode/archive/refs/tags/rocm-6.2.0.tar.gz" maintainers("afzpatel", "srekolam", "renjithravindrankannath") + version("6.4.0", sha256="c7fd47f98dc0ef005a0fda0dc73e71e1d5318901d038489ba69f51473b7aca6a") version("6.3.3", sha256="df45b4a64ed3e550229fd91bcf7896d1a8fe377dd1ff88d2e6a71897b981180d") version("6.3.2", sha256="c1b4dba9f8a28299279ad4e4aeb0c857c3a9772d016fcc0f164940f22faa6dee") version("6.3.1", sha256="77ed22ee23409b004676fb1a11b963324b878e786dae0a56fdef58375716c9eb") @@ -27,7 +28,7 @@ class Rocpydecode(CMakePackage): depends_on("ffmpeg@4.4:6") depends_on("dlpack") - for ver in ["6.2.0", "6.2.1", "6.2.4", "6.3.0", "6.3.1", "6.3.2", "6.3.3"]: + for ver in ["6.2.0", "6.2.1", "6.2.4", "6.3.0", "6.3.1", "6.3.2", "6.3.3", "6.4.0"]: depends_on(f"rocdecode@{ver}", when=f"@{ver}") def patch(self): @@ -55,7 +56,6 @@ def cmake_args(self): self.define("rocDecode_PATH", self.spec["rocdecode"].prefix), self.define("FFMPEG_INCLUDE_DIR", self.spec["ffmpeg"].prefix.include), self.define("CMAKE_INSTALL_PREFIX_PYTHON", self.spec.prefix), - self.define("CMAKE_CXX_FLAGS", "-I{0}".format(self.spec["dlpack"].prefix.include)), self.define( "CMAKE_CXX_FLAGS", "-DUSE_AVCODEC_GREATER_THAN_58_134 -I{0}".format( @@ -63,4 +63,13 @@ def cmake_args(self): ), ), ] + if self.spec.satisfies("@6.4.0:"): + args.append( + self.define("CMAKE_C_COMPILER", f"{self.spec['llvm-amdgpu'].prefix}/bin/amdclang") + ) + args.append( + self.define( + "CMAKE_CXX_COMPILER", f"{self.spec['llvm-amdgpu'].prefix}/bin/amdclang++" + ) + ) return args diff --git a/var/spack/repos/spack_repo/builtin/packages/rocrand/package.py b/var/spack/repos/spack_repo/builtin/packages/rocrand/package.py index bc26ae2ce7b..50c407c2ffb 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocrand/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocrand/package.py @@ -27,6 +27,7 @@ class Rocrand(CMakePackage): version("develop", branch="develop", deprecated=True) version("master", branch="master", deprecated=True) + version("6.4.0", sha256="689bc7de81741a0b3feb9f4415a55c2cf1ae58a378fbd9b1a33769caf62bbf95") version("6.3.3", sha256="d55be9d367af28d87d983d649329b7ef04641e74d39064b98aeee4b9980af4eb") version("6.3.2", sha256="57f364806369ddb80761ce44187920075cf446de527dd1fbc6adbb4b4b3e9bb8") version("6.3.1", sha256="80d86c31ec9cb40f5c5532281b42cf99fbc8a81e3ffd3bc8b3bbe4a7e509bf5f") @@ -136,6 +137,7 @@ class Rocrand(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocsolver/package.py b/var/spack/repos/spack_repo/builtin/packages/rocsolver/package.py index 1d3a7906314..26633dcd56d 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocsolver/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocsolver/package.py @@ -48,6 +48,7 @@ class Rocsolver(CMakePackage): version("develop", branch="develop", deprecated=True) version("master", branch="master", deprecated=True) + version("6.4.0", sha256="48930842ac441a6a5d7e25d6c5c6ac6b5fe26549a1add49a102b374e02f5b60e") version("6.3.3", sha256="0e8bb906513555d349b6a20cb17976402f5ea6702668efcdda595a2e2d516b46") version("6.3.2", sha256="834f532c54bdf0e4900e73ffb0544068071976175559c8bf3c50d7a3b7230a3a") version("6.3.1", sha256="ffa70c4dedeb20a33cf79d4ae3e95ade2ae5202f819459b19a0ebf62c380bba0") @@ -118,6 +119,7 @@ class Rocsolver(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocblas@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocsparse/package.py b/var/spack/repos/spack_repo/builtin/packages/rocsparse/package.py index 318818001d1..86968f5784c 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocsparse/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocsparse/package.py @@ -41,6 +41,7 @@ class Rocsparse(CMakePackage): conflicts("+asan", when="os=centos8") license("MIT") + version("6.4.0", sha256="a0fb423b80da72f072a6d80b9837c80c671b5fae719f57c0e83d7e4e27d3d187") version("6.3.3", sha256="e316d46b40e99976f4acaa097d6ebf5c2caf1ff2bd3c5b1de04c93c1dac90516") version("6.3.2", sha256="665a85517d50e5ef37b1f953ccb17108d6a5cb30db21c5364bd50a41d44c61f2") version("6.3.1", sha256="95c9dcc8421711f2f203a34c2830c5ac504e127922e0a83dbc68bccd5509c72f") @@ -94,6 +95,7 @@ class Rocsparse(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocprim@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocthrust/package.py b/var/spack/repos/spack_repo/builtin/packages/rocthrust/package.py index 2eba14b0df2..2cf2f46d454 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocthrust/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocthrust/package.py @@ -20,6 +20,7 @@ class Rocthrust(CMakePackage): tags = ["rocm"] maintainers("cgmb", "srekolam", "renjithravindrankannath", "afzpatel") + version("6.4.0", sha256="b590b69cfecf30b66202e426ad1adcb577651d72ed9dd7425281b5668e6262fe") version("6.3.3", sha256="564f5b2621bc707c0dda0d09702642876fc4d1b8cd9a83d1324539b768653e8b") version("6.3.2", sha256="c3991bbd9f8b0e3ecbc18a7d014446608bfe2a3660a8d9e3dcc136d784883935") version("6.3.1", sha256="a63dd161f4b30be7fcc4ad4184b948646233d59b5ca13c239f723ab59c607a1a") @@ -85,6 +86,7 @@ class Rocthrust(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hip@{ver}", when=f"@{ver}") depends_on(f"rocprim@{ver}", when=f"@{ver}") diff --git a/var/spack/repos/spack_repo/builtin/packages/roctracer_dev/package.py b/var/spack/repos/spack_repo/builtin/packages/roctracer_dev/package.py index 275605c78da..a7fac13d2c6 100644 --- a/var/spack/repos/spack_repo/builtin/packages/roctracer_dev/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/roctracer_dev/package.py @@ -24,6 +24,7 @@ class RoctracerDev(CMakePackage, ROCmPackage): libraries = ["libroctracer64"] license("MIT") + version("6.4.0", sha256="e5c6e3b20ed3c0d2dca61ad472f9878107c9ce09a2108ff6583ae32031298022") version("6.3.3", sha256="0d03ebd058291d584be6bf8b114292c666a799b0fd23c697e1c6cb2b6d43f990") version("6.3.2", sha256="ca8e93fc37f4671db28df5cb7a24b48f3d4879a188e4780e45961bba3725bb8a") version("6.3.1", sha256="89e4ab249f527131f684714c9135c69eaad1a63b7e74bae718b1617543b94426") @@ -102,6 +103,7 @@ class RoctracerDev(CMakePackage, ROCmPackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") depends_on(f"rocminfo@{ver}", when=f"@{ver}") @@ -129,6 +131,7 @@ class RoctracerDev(CMakePackage, ROCmPackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on(f"rocm-core@{ver}", when=f"@{ver}") @@ -169,6 +172,7 @@ def cmake_args(self): self.define("CMAKE_MODULE_PATH", f"{self.stage.source_path}/cmake_modules"), self.define("HSA_RUNTIME_HSA_INC_PATH", self.spec["hsa-rocr-dev"].prefix.include), self.define("CMAKE_POSITION_INDEPENDENT_CODE", True), + self.define("HIP_CXX_COMPILER", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang++"), ] if self.spec.satisfies("@:5.4.0"): args.append(self.define("ROCPROFILER_PATH", self.spec["rocprofiler-dev"].prefix)) diff --git a/var/spack/repos/spack_repo/builtin/packages/roctracer_dev_api/package.py b/var/spack/repos/spack_repo/builtin/packages/roctracer_dev_api/package.py index 25a7f006292..e4e5be8a520 100644 --- a/var/spack/repos/spack_repo/builtin/packages/roctracer_dev_api/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/roctracer_dev_api/package.py @@ -20,6 +20,7 @@ class RoctracerDevApi(Package): license("MIT") maintainers("srekolam", "renjithravindrankannath", "afzpatel") + version("6.4.0", sha256="e5c6e3b20ed3c0d2dca61ad472f9878107c9ce09a2108ff6583ae32031298022") version("6.3.3", sha256="0d03ebd058291d584be6bf8b114292c666a799b0fd23c697e1c6cb2b6d43f990") version("6.3.2", sha256="ca8e93fc37f4671db28df5cb7a24b48f3d4879a188e4780e45961bba3725bb8a") version("6.3.1", sha256="89e4ab249f527131f684714c9135c69eaad1a63b7e74bae718b1617543b94426") diff --git a/var/spack/repos/spack_repo/builtin/packages/rocwmma/0002-use-find-package-rocm-smi.patch b/var/spack/repos/spack_repo/builtin/packages/rocwmma/0002-use-find-package-rocm-smi.patch new file mode 100644 index 00000000000..e0d273684d2 --- /dev/null +++ b/var/spack/repos/spack_repo/builtin/packages/rocwmma/0002-use-find-package-rocm-smi.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index eced8d8..c017349 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -132,13 +132,16 @@ find_package( hip REQUIRED ) + find_package( hiprtc REQUIRED ) + find_package( OpenMP REQUIRED ) + +-find_path(ROCM_SMI_ROOT "include/rocm_smi/rocm_smi.h" +- PATHS "${ROCM_ROOT}" +- PATH_SUFFIXES "rocm_smi" +- ) +- +-find_library(ROCM_SMI_LIBRARY rocm_smi64 +- PATHS "${ROCM_SMI_ROOT}/lib") ++## Check for ROCM-smi ++find_package(rocm_smi PATHS ${ROCM_PATH}/lib/cmake/rocm_smi) ++if (rocm_smi_FOUND) ++ message(STATUS "Found rocm_smi at ${ROCM_SMI_INCLUDE_DIR}") ++else() ++ message(STATUS "Checking old include directory structure for rocm_smi") ++ set(ROCM_SMI_INCLUDE_DIR "${ROCM_PATH}/rocm_smi/include") ++ set(ROCM_SMI_LIB_DIR "${ROCM_PATH}/rocm_smi/lib") ++ set(ROCM_SMI_LIBRARIES rocm_smi64) ++endif() + + add_library(rocwmma INTERFACE) + target_link_libraries(rocwmma INTERFACE hip::device hip::host OpenMP::OpenMP_CXX ${ROCM_SMI_LIBRARY}) diff --git a/var/spack/repos/spack_repo/builtin/packages/rocwmma/package.py b/var/spack/repos/spack_repo/builtin/packages/rocwmma/package.py index a847d2765d6..711ea1be94b 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rocwmma/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rocwmma/package.py @@ -28,6 +28,7 @@ class Rocwmma(CMakePackage): license("MIT") maintainers("srekolam", "renjithravindrankannath", "afzpatel") + version("6.4.0", sha256="d95d53f70b4a2adc565bf4490515626cb7109f1d2e8a9978626610d3f178cf42") version("6.3.3", sha256="5bfd2909cc9b4601bb83ddd79da6cfa4075afa6d6e9396d9bbe1df844163fbd2") version("6.3.2", sha256="f9dc5e837ac30efe4600775fb309e46ed8ef112a673435663d2ef7fdf28f8f12") version("6.3.1", sha256="9afd06c58b405dd86535ea1ca479fd6f9d717fa8665710bb64fc8027a26e6ac7") @@ -70,6 +71,7 @@ class Rocwmma(CMakePackage): description="CMake build type", ) + depends_on("c", type="build") depends_on("cxx", type="build") # generated depends_on("cmake@3.16:", type="build", when="@5.2.0:") @@ -100,6 +102,7 @@ class Rocwmma(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver) depends_on("llvm-amdgpu@" + ver, type="build", when="@" + ver) @@ -124,13 +127,15 @@ class Rocwmma(CMakePackage): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on("rocm-smi-lib@" + ver, when="@" + ver) for tgt in itertools.chain(["auto"], amdgpu_targets): depends_on("rocblas amdgpu_target={0}".format(tgt), when="amdgpu_target={0}".format(tgt)) - patch("0001-add-rocm-smi-lib-path-for-building-tests.patch", when="@5.6:") + patch("0001-add-rocm-smi-lib-path-for-building-tests.patch", when="@5.6:6.3") + patch("0002-use-find-package-rocm-smi.patch", when="@6.4:") def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CXX", self.spec["hip"].hipcc) diff --git a/var/spack/repos/spack_repo/builtin/packages/rpp/package.py b/var/spack/repos/spack_repo/builtin/packages/rpp/package.py index 223918a2a3b..89595baea74 100644 --- a/var/spack/repos/spack_repo/builtin/packages/rpp/package.py +++ b/var/spack/repos/spack_repo/builtin/packages/rpp/package.py @@ -15,13 +15,13 @@ class Rpp(CMakePackage): performance computer vision library for AMD (CPU and GPU) with HIP and OPENCL back-ends""" - 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/refs/tags/rocm-6.1.2.tar.gz" + homepage = "https://github.com/ROCm/rpp" + git = "https://github.com/ROCm/rpp.git" + url = "https://github.com/ROCm/rpp/archive/refs/tags/rocm-6.4.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" + url = "https://github.com/ROCm/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) @@ -30,6 +30,7 @@ def url_for_version(self, version): maintainers("srekolam", "afzpatel") license("MIT") + version("6.4.0", sha256="e59e5aa6b140de062430cab03c9c2b88a3b444c53ae17c6b885898e16aefd39b") version("6.3.3", sha256="e6b586679a3705bf6b7bb3c5852541d329bd967e110999ac59dc052b49a92cbc") version("6.3.2", sha256="05f0e063c61f5039661a4d5a80113ebb7b9782d0958c29375a8e1e2e759b88bc") version("6.3.1", sha256="6e7da82bf7b6d642d605370329e4e719af10bb5c6af30079b5d0b60cdcb91a48") @@ -76,7 +77,7 @@ def url_for_version(self, version): patch("0001-include-half-openmp-through-spack-package.patch", when="@:5.7") patch("0002-declare-handle-in-header.patch") - patch("0003-include-half-through-spack-package.patch", when="@6.0:") + patch("0003-include-half-through-spack-package.patch", when="@6.0:6.3") # adds half.hpp include directory and modifies how the libjpegturbo # library is linked for the rpp unit test @@ -177,6 +178,7 @@ def patch(self): "6.3.1", "6.3.2", "6.3.3", + "6.4.0", ]: depends_on("hip@" + ver, when="@" + ver) with when("@:1.2"): @@ -193,7 +195,7 @@ def setup_run_environment(self, env: EnvironmentModifications) -> None: def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("+asan"): env.set("CC", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") - env.set("CXX", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang") + env.set("CXX", f"{self.spec['llvm-amdgpu'].prefix}/bin/clang++") env.set("ASAN_OPTIONS", "detect_leaks=0") env.set("CFLAGS", "-fsanitize=address -shared-libasan") env.set("CXXFLAGS", "-fsanitize=address -shared-libasan") @@ -215,4 +217,10 @@ def cmake_args(self): "COMPILER_FOR_HIP", "{0}/bin/clang++".format(spec["llvm-amdgpu"].prefix) ) ) + if self.spec.satisfies("@6.4:"): + args.append( + self.define( + "CMAKE_CXX_COMPILER", f"{self.spec['llvm-amdgpu'].prefix}/bin/amdclang++" + ) + ) return args