diff options
49 files changed, 684 insertions, 120 deletions
diff --git a/var/spack/repos/builtin/packages/atmi/package.py b/var/spack/repos/builtin/packages/atmi/package.py index 6a16f01892..96548b9468 100644 --- a/var/spack/repos/builtin/packages/atmi/package.py +++ b/var/spack/repos/builtin/packages/atmi/package.py @@ -15,9 +15,10 @@ class Atmi(CMakePackage): homepage = "https://github.com/RadeonOpenCompute/atmi" git = "https://github.com/RadeonOpenCompute/atmi.git" - url = "https://github.com/RadeonOpenCompute/atmi/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/RadeonOpenCompute/atmi/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.5.0', sha256='64eeb0244cedae99db7dfdb365e0ad624106cc1090a531f94885ae81e254aabf') version('4.3.1', sha256='4497fa6d33547b946e2a51619f2777ec36e9cff1b07fd534eb8a5ef0d8e30650') version('4.3.0', sha256='1cbe0e9258ce7cce7b7ccc288335dffbac821ceb745c4f3fd48e2a258abada89') version('4.2.0', sha256='c1c89c00d2dc3e764c63b2e51ff7fd5c06d5881ed56aed0adf639582d3389585') @@ -35,7 +36,7 @@ class Atmi(CMakePackage): depends_on('rsync') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('comgr@' + ver, type='link', when='@' + ver) depends_on('hsa-rocr-dev@' + ver, type='link', when='@' + ver) depends_on('libelf@0.8:', type='link', when='@' + ver) diff --git a/var/spack/repos/builtin/packages/comgr/package.py b/var/spack/repos/builtin/packages/comgr/package.py index 04060daafd..fa000f4468 100644 --- a/var/spack/repos/builtin/packages/comgr/package.py +++ b/var/spack/repos/builtin/packages/comgr/package.py @@ -18,6 +18,7 @@ class Comgr(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] version('master', branch='amd-stg-open') + version('4.5.0', sha256='03c5880e0922fcff31306f7da2eb9d3a3709d9b5b75b3524dcfae85f4b181678') version('4.3.1', sha256='f1d99550383ed7b3a01d304eedc3d86a8e45b271aa5a80b1dd099c22fda3f745') version('4.3.0', sha256='f77b505abb474078374701dfc49e651ad3eeec5349ce6edda54549943a3775ee') version('4.2.0', sha256='40a1ea50d2aea0cf75c4d17cdd6a7fe44ae999bf0147d24a756ca4675ce24e36') @@ -43,7 +44,7 @@ class Comgr(CMakePackage): depends_on('ncurses', type='link') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1', 'master']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0', 'master']: # llvm libs are linked statically, so this *could* be a build dep depends_on('llvm-amdgpu@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/hip-rocclr/package.py b/var/spack/repos/builtin/packages/hip-rocclr/package.py index 4ce7fbbf9f..756374f8a1 100644 --- a/var/spack/repos/builtin/packages/hip-rocclr/package.py +++ b/var/spack/repos/builtin/packages/hip-rocclr/package.py @@ -26,6 +26,7 @@ class HipRocclr(CMakePackage): return url.format(version) version('master', branch='main') + version('4.5.0', sha256='ca8d6305ff0e620d9cb69ff7ac3898917db9e9b6996a7320244b48ab6511dd8e') version('4.3.1', sha256='bda52c65f03a69a9d8ab1a118d45646d76843249fb975d67e5141e63fa3acc79') version('4.3.0', sha256='8a86b4f2a1b1c7ac628262e5b11b07ff42a224e62e594a4e0683aeb616062538') version('4.2.0', sha256='c57525af32c59becf56fd83cdd61f5320a95024d9baa7fb729a01e7a9fcdfd78') @@ -45,7 +46,7 @@ class HipRocclr(CMakePackage): depends_on('numactl', type='link', when="@3.7.0:") for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1', 'master']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0', 'master']: depends_on('hsakmt-roct@' + ver, when='@' + ver) depends_on('hsa-rocr-dev@' + ver, when='@' + ver) depends_on('comgr@' + ver, when='@' + ver) @@ -64,6 +65,7 @@ class HipRocclr(CMakePackage): # Add opencl sources thru the below for d_version, d_shasum in [ + ('4.5.0', '3a163aed24619b3faf5e8ba17325bdcedd1667a904ea20914ac6bdd33fcdbca8'), ('4.3.1', '7f98f7d4707b4392f8aa7017aaca9e27cb20263428a1a81fb7ec7c552e60c4ca'), ('4.3.0', 'd37bddcc6835b6c0fecdf4d02c204ac1d312076f3eef2b1faded1c4c1bc651e9'), ('4.2.0', '18133451948a83055ca5ebfb5ba1bd536ed0bcb611df98829f1251a98a38f730'), @@ -93,6 +95,12 @@ class HipRocclr(CMakePackage): when='@master' ) + @property + def install_targets(self): + if self.spec.satisfies('@4.5.0'): + return [] + return ['install'] + @run_after('install') def deploy_missing_files(self): if '@3.5.0' in self.spec: @@ -104,7 +112,7 @@ class HipRocclr(CMakePackage): 'amdrocclr_staticTargets.cmake') filter_file(self.build_directory, self.prefix.lib, cmakefile) install(cmakefile, self.prefix.lib) - else: + elif self.spec.satisfies('@3.7.0:4.3.2'): path = join_path(self.prefix.lib, 'cmake/rocclr/ROCclrConfig.cmake') filter_file(self.build_directory, self.prefix, path) diff --git a/var/spack/repos/builtin/packages/hip/0009-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host_disabletests.4.5.0.patch b/var/spack/repos/builtin/packages/hip/0009-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host_disabletests.4.5.0.patch new file mode 100644 index 0000000000..8541bf45df --- /dev/null +++ b/var/spack/repos/builtin/packages/hip/0009-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host_disabletests.4.5.0.patch @@ -0,0 +1,101 @@ +diff --git a/hipamd/CMakeLists.txt b/hipamd/CMakeLists.txt +index b1ab39e..f1459ea 100755 +--- a/hipamd/CMakeLists.txt ++++ b/hipamd/CMakeLists.txt +@@ -87,7 +87,20 @@ string(REPLACE "-" ";" VERSION_LIST ${HIP_VERSION_PATCH_GITHASH}) + list(GET VERSION_LIST 0 HIP_VERSION_PATCH) + set(HIP_VERSION_GITDATE 0) + +-find_package(Git) ++# only look for git when we have a git repo ++if (IS_DIRECTORY "${PROJECT_SOURCE_DIR}/.git") ++ find_package(Git) ++endif() ++ ++# FIXME: Two different version strings used. ++ ++set(HIP_PACKAGING_VERSION_PATCH "0") ++set(HIP_VERSION_GITDATE "0") ++set(HIP_VERSION_PATCH "0") ++set(HIP_VERSION_GITHASH "0") ++set(HIP_VERSION_PATCH_GITHASH "0") ++set (HIP_LIB_VERSION_PATCH "0") ++ + + # FIXME: Two different version strings used. + # Below we use UNIX commands, not compatible with Windows. +@@ -132,9 +145,6 @@ if(GIT_FOUND) + else() + set(HIP_PACKAGING_VERSION_PATCH ${HIP_VERSION_PATCH}-${HIP_VERSION_GITHASH}) + endif() +-else() +- # FIXME: Some parts depend on this being set. +- set(HIP_PACKAGING_VERSION_PATCH "0") + endif() + + ## Debian package specific variables +@@ -177,7 +187,7 @@ set (HIP_LIB_VERSION_MINOR ${HIP_VERSION_MINOR}) + if (${ROCM_PATCH_VERSION} ) + set (HIP_LIB_VERSION_PATCH ${ROCM_PATCH_VERSION}) + else () +- set (HIP_LIB_VERSION_PATCH ${HIP_VERSION_PATCH}-${HIP_VERSION_GITHASH}) ++ set (HIP_LIB_VERSION_PATCH "0") + endif () + set (HIP_LIB_VERSION_STRING "${HIP_LIB_VERSION_MAJOR}.${HIP_LIB_VERSION_MINOR}.${HIP_LIB_VERSION_PATCH}") + if (DEFINED ENV{ROCM_RPATH}) +@@ -484,34 +494,6 @@ if(CLANGFORMAT_EXE) + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + endif() + +-############################# +-# Testing steps +-############################# +-# HIT is not compatible with Windows +-if(NOT WIN32) +-set(HIP_ROOT_DIR ${CMAKE_CURRENT_BINARY_DIR}) +-set(HIP_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}) +-if(HIP_PLATFORM STREQUAL "nvidia") +- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/include" "${HIP_ROOT_DIR}/include" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-endif() +-execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_COMMON_INCLUDE_DIR}/hip/" "${HIP_ROOT_DIR}/include/hip/" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_COMMON_DIR}/cmake" "${HIP_ROOT_DIR}/cmake" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-if(${RUN_HIT} EQUAL 0) +- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_COMMON_BIN_DIR}" "${HIP_ROOT_DIR}/bin" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-endif() +-if(HIP_CATCH_TEST EQUAL "1") +- enable_testing() +- add_subdirectory(${HIP_COMMON_DIR}/tests/catch ${PROJECT_BINARY_DIR}/catch) +-else() +- if(${RUN_HIT} EQUAL 0) +- set(CMAKE_MODULE_PATH "${HIP_ROOT_DIR}/cmake" ${CMAKE_MODULE_PATH}) +- include(${HIP_COMMON_DIR}/tests/hit/HIT.cmake) +- include(${HIP_COMMON_DIR}/tests/Tests.cmake) +- else() +- message(STATUS "Testing targets will not be available. To enable them please ensure that the HIP installation directory is writeable. Use -DCMAKE_INSTALL_PREFIX to specify a suitable location") +- endif() +-endif() +-endif() + + ############################# + # Code analysis +diff --git a/hipamd/hip-config.cmake.in b/hipamd/hip-config.cmake.in +index 2edce6c..ee7d70c 100755 +--- a/hipamd/hip-config.cmake.in ++++ b/hipamd/hip-config.cmake.in +@@ -212,7 +212,7 @@ if(HIP_RUNTIME MATCHES "rocclr") + + if(NOT WIN32) + set_target_properties(hip::device PROPERTIES +- INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/../include" ++ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/../include" + ) + endif() +@@ -271,7 +271,6 @@ if(HIP_COMPILER STREQUAL "clang") + endif() + + # Add support for __fp16 and _Float16, explicitly link with compiler-rt +- hip_add_interface_link_flags(hip::host -L\"${HIP_CLANG_INCLUDE_PATH}/../lib/linux\" -lclang_rt.builtins-x86_64) + hip_add_interface_link_flags(hip::device -L\"${HIP_CLANG_INCLUDE_PATH}/../lib/linux\" -lclang_rt.builtins-x86_64) + endif() + diff --git a/var/spack/repos/builtin/packages/hip/package.py b/var/spack/repos/builtin/packages/hip/package.py index e136a5d3ca..45128a4594 100644 --- a/var/spack/repos/builtin/packages/hip/package.py +++ b/var/spack/repos/builtin/packages/hip/package.py @@ -20,6 +20,7 @@ class Hip(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] version('master', branch='master') + version('4.5.0', sha256='4026f31fb4f8050e9aa9d4294f29c3410bfb38422dbbae4236ccd65fed4d55b2') version('4.3.1', sha256='955311193819f487f9a2d64bffe07c4b8c3a0dc644dc3ad984f7c66a325bdd6f') version('4.3.0', sha256='293b5025b5e153f2f25e465a2e0006a2b4606db7b7ec2ae449f8a4c0b52d491b') version('4.2.0', sha256='ecb929e0fc2eaaf7bbd16a1446a876a15baf72419c723734f456ee62e70b4c24') @@ -40,6 +41,8 @@ class Hip(CMakePackage): for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', '4.3.0', '4.3.1']: depends_on('hip-rocclr@' + ver, when='@' + ver) + for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('hsakmt-roct@' + ver, when='@' + ver) depends_on('hsa-rocr-dev@' + ver, when='@' + ver) depends_on('comgr@' + ver, when='@' + ver) @@ -51,6 +54,44 @@ class Hip(CMakePackage): # ref https://github.com/ROCm-Developer-Tools/HIP/pull/2202 depends_on('numactl', when='@3.7.0:') + # Add hip-amd sources thru the below + for d_version, d_shasum in [ + ('4.5.0', '7b93ab64d6894ff9b5ba0be35e3ed8501d6b18a2a14223d6311d72ab8a9cdba6') + ]: + resource( + name='hipamd', + url='https://github.com/ROCm-Developer-Tools/hipamd/archive/rocm-{0}.tar.gz'.format(d_version), + sha256=d_shasum, + expand=True, + destination='', + placement='hipamd', + when='@{0}'.format(d_version) + ) + # Add opencl sources thru the below + for d_version, d_shasum in [ + ('4.5.0', '3a163aed24619b3faf5e8ba17325bdcedd1667a904ea20914ac6bdd33fcdbca8') + ]: + resource( + name='opencl', + url='https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-{0}.tar.gz'.format(d_version), + sha256=d_shasum, + expand=True, + destination='', + placement='opencl', + when='@{0}'.format(d_version) + ) + for d_version, d_shasum in [ + ('4.5.0', 'ca8d6305ff0e620d9cb69ff7ac3898917db9e9b6996a7320244b48ab6511dd8e') + ]: + resource( + name='rocclr', + url='https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-{0}.tar.gz'.format(d_version), + sha256=d_shasum, + expand=True, + destination='', + placement='rocclr', + when='@{0}'.format(d_version) + ) # Note: the ROCm ecosystem expects `lib/` and `bin/` folders with symlinks # in the parent directory of the package, which is incompatible with spack. # In hipcc the ROCM_PATH variable is used to point to the parent directory @@ -66,8 +107,8 @@ class Hip(CMakePackage): patch('0003-Improve-compilation-without-git-repo.3.7.0.patch', when='@3.7.0:3.9.0') patch('0003-Improve-compilation-without-git-repo.3.10.0.patch', when='@3.10.0:4.0.0') patch('0003-Improve-compilation-without-git-repo.4.1.0.patch', when='@4.1.0') - patch('0003-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.4.2.0.patch', when='@4.2.0:') - + patch('0003-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.4.2.0.patch', when='@4.2.0:4.3.2') + patch('0009-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host_disabletests.4.5.0.patch', when='@4.5.0') # See https://github.com/ROCm-Developer-Tools/HIP/pull/2219 patch('0004-Drop-clang-rt-builtins-linking-on-hip-host.3.7.0.patch', when='@3.7.0:3.9.0') patch('0004-Drop-clang-rt-builtins-linking-on-hip-host.3.10.0.patch', when='@3.10.0:4.1.0') @@ -77,9 +118,16 @@ class Hip(CMakePackage): patch('0005-Disable-tests-3.5.0.patch', when='@3.5.0') patch('0005-Disable-tests-3.6.0.patch', when='@3.6.0:3.8.0') patch('0005-Disable-tests-3.9.0.patch', when='@3.9.0:4.0.0') - patch('0005-Disable-tests-4.1.0.patch', when='@4.1.0:') + patch('0005-Disable-tests-4.1.0.patch', when='@4.1.0:4.3.2') - patch('Add_missing_open_cl_header_file_for_4.3.0.patch', when='@4.3.0:') + patch('Add_missing_open_cl_header_file_for_4.3.0.patch', when='@4.3.0:4.3.2') + + @property + def root_cmakelists_dir(self): + if self.spec.satisfies('@:4.3.2'): + return self.stage.source_path + else: + return 'hipamd' def get_paths(self): if self.spec.external: @@ -200,10 +248,11 @@ class Hip(CMakePackage): self.spec.hipcc = join_path(self.prefix.bin, 'hipcc') def patch(self): - filter_file( - 'INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/../include"', - 'INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"', - 'hip-config.cmake.in', string=True) + if self.spec.satisfies('@:4.3.2'): + filter_file( + 'INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/../include"', + 'INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"', + 'hip-config.cmake.in', string=True) perl = self.spec['perl'].command kwargs = {'ignore_absent': False, 'backup': False, 'string': False} @@ -217,19 +266,28 @@ class Hip(CMakePackage): 'hipify-perl', 'hipcc', 'extractkernel', 'hipconfig', 'hipify-cmakefile' ] - else: + elif self.spec.satisfies('@4.0.0:4.3.2'): files = [ 'hipify-perl', 'hipcc', 'roc-obj-extract', 'hipconfig', 'hipify-cmakefile', 'roc-obj-ls', 'hipvars.pm' ] - + elif self.spec.satisfies('@4.5.0:'): + files = [] filter_file(match, substitute, *files, **kwargs) - # This guy is used during the cmake phase, so we have to fix the # shebang already here in case it is too long. filter_shebang('hipconfig') - + if self.spec.satisfies('@4.5.0:'): + perl = self.spec['perl'].command + kwargs = {'ignore_absent': False, 'backup': False, 'string': False} + with working_dir('hipamd/bin'): + match = '^#!/usr/bin/perl' + substitute = "#!{perl}".format(perl=perl) + files = [ + 'roc-obj-extract', 'roc-obj-ls' + ] + filter_file(match, substitute, *files, **kwargs) if '@3.7.0:' in self.spec: numactl = self.spec['numactl'].prefix.lib kwargs = {'ignore_absent': False, 'backup': False, 'string': False} @@ -240,7 +298,7 @@ class Hip(CMakePackage): filter_file(match, substitute, 'hipcc', **kwargs) def flag_handler(self, name, flags): - if name == 'cxxflags' and '@3.7.0:' in self.spec: + if name == 'cxxflags' and self.spec.satisfies('@3.7.0:4.3.2'): incl = self.spec['hip-rocclr'].prefix.include flags.append('-I {0}/compiler/lib/include'.format(incl)) flags.append('-I {0}/elf'.format(incl)) @@ -250,7 +308,8 @@ class Hip(CMakePackage): def cmake_args(self): args = [ self.define('PROF_API_HEADER_PATH', join_path( - self.spec['roctracer-dev-api'].prefix, 'roctracer', 'inc', 'ext')), + self.spec['roctracer-dev-api'].prefix, + 'roctracer', 'inc', 'ext')), self.define('HIP_COMPILER', 'clang'), self.define('HSA_PATH', self.spec['hsa-rocr-dev'].prefix) ] @@ -262,8 +321,14 @@ class Hip(CMakePackage): args.append(self.define('HIP_PLATFORM', 'amd')) # LIBROCclr_STATIC_DIR is unused from 3.6.0 and above - if '@3.5.0' in self.spec: + if '@3.5.0:4.3.2' in self.spec: args.append(self.define('LIBROCclr_STATIC_DIR', self.spec['hip-rocclr'].prefix.lib)) + if '@4.5.0' in self.spec: + args.append(self.define('HIP_COMMON_DIR', self.stage.source_path)) + args.append(self.define('HIP_CATCH_TEST', 'OFF')) + args.append(self.define('ROCCLR_PATH', self.stage.source_path + '/rocclr')) + args.append(self.define('AMD_OPENCL_PATH', + self.stage.source_path + '/opencl')) return args diff --git a/var/spack/repos/builtin/packages/hipblas/link-clients-blas-4.5.0.patch b/var/spack/repos/builtin/packages/hipblas/link-clients-blas-4.5.0.patch new file mode 100644 index 0000000000..9f4d9c6e6f --- /dev/null +++ b/var/spack/repos/builtin/packages/hipblas/link-clients-blas-4.5.0.patch @@ -0,0 +1,26 @@ +diff --git a/clients/benchmarks/CMakeLists.txt b/clients/benchmarks/CMakeLists.txt +index 9c9e1d7..c9ce5f0 100644 +--- a/clients/benchmarks/CMakeLists.txt ++++ b/clients/benchmarks/CMakeLists.txt +@@ -93,7 +93,7 @@ if(LINK_BLIS) + endif() + + if (NOT WIN32) +- target_link_libraries( hipblas-bench PRIVATE hipblas_fortran_client roc::hipblas cblas lapack) ++ target_link_libraries( hipblas-bench PRIVATE hipblas_fortran_client roc::hipblas cblas lapack blas) + endif() + + if(LINK_BLIS) +diff --git a/clients/gtest/CMakeLists.txt b/clients/gtest/CMakeLists.txt +index 75dcce8..620102d 100644 +--- a/clients/gtest/CMakeLists.txt ++++ b/clients/gtest/CMakeLists.txt +@@ -172,7 +172,7 @@ if (NOT WIN32) + target_link_libraries( hipblas-test PRIVATE hipblas_fortran_client roc::hipblas cblas lapack) + endif() + +-target_link_libraries( hipblas-test PRIVATE roc::hipblas cblas lapack ${GTEST_LIBRARIES} ${Boost_LIBRARIES} ) ++target_link_libraries( hipblas-test PRIVATE roc::hipblas cblas lapack blas ${GTEST_LIBRARIES} ${Boost_LIBRARIES} ) + + if(LINK_BLIS) + target_link_libraries( hipblas-test PRIVATE ${BLIS_LIBRARY} ) diff --git a/var/spack/repos/builtin/packages/hipblas/package.py b/var/spack/repos/builtin/packages/hipblas/package.py index e56c6aa432..6d65700578 100644 --- a/var/spack/repos/builtin/packages/hipblas/package.py +++ b/var/spack/repos/builtin/packages/hipblas/package.py @@ -12,10 +12,11 @@ class Hipblas(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/hipBLAS" git = "https://github.com/ROCmSoftwarePlatform/hipBLAS.git" - url = "https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] + version('4.5.0', sha256='187777ed49cc7c496c897e8ba80532d458c9afbc51a960e45f96923ad896c18e') version('4.3.1', sha256='7b1f774774de5fa3d2b777e3a262328559d56165c32aa91b002505694362e7b2') version('4.3.0', sha256='0631e21c588794ea1c8413ef8ff293606bcf7a52c0c3ff88da824f103395a76a') version('4.2.0', sha256='c7ce7f69c7596b5a54e666fb1373ef41d1f896dd29260a691e2eadfa863e2b1a') @@ -31,16 +32,17 @@ class Hipblas(CMakePackage): depends_on('googletest@1.10.0:', type='test') depends_on('netlib-lapack@3.7.1:', type='test') - depends_on('boost@1.64.0: cxxstd=14', type='test') + depends_on('boost@1.64.0:1.76.0 cxxstd=14', type='test') - patch('link-clients-blas.patch', when='@4.3.0:') + patch('link-clients-blas.patch', when='@4.3.0:4.3.2') + patch('link-clients-blas-4.5.0.patch', when='@4.5.0:') def check(self): exe = join_path(self.build_directory, 'clients', 'staging', 'hipblas-test') self.run_test(exe) for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('rocsolver@' + ver, when='@' + ver) depends_on('rocblas@' + ver, type='link', when='@' + ver) diff --git a/var/spack/repos/builtin/packages/hipcub/package.py b/var/spack/repos/builtin/packages/hipcub/package.py index b42ddbe77f..9aa578f7e5 100644 --- a/var/spack/repos/builtin/packages/hipcub/package.py +++ b/var/spack/repos/builtin/packages/hipcub/package.py @@ -15,6 +15,7 @@ class Hipcub(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.5.0', sha256='5902fae0485789f1d1cc6b8e81d9f1b39338170d3139844d5edf0d324f9694c9') version('4.3.1', sha256='20fcd34323c541c182655b7ff6dc6ff268c0127596f0d9993884621c2b14b67a') version('4.3.0', sha256='733499a8d55e2d73bf874d43a98ee7425e4325f77e03fb0c80debf36c740cb70') version('4.2.0', sha256='56b50e185b7cdf4615d2f56d3a4e86fe76f885e9ad04845f3d0671afcb315c69') @@ -32,7 +33,7 @@ class Hipcub(CMakePackage): depends_on('numactl', type='link', when='@3.7.0:') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('rocprim@' + ver, when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) diff --git a/var/spack/repos/builtin/packages/hipfft/package.py b/var/spack/repos/builtin/packages/hipfft/package.py index c97a4bdd2d..1ee9ad6a57 100644 --- a/var/spack/repos/builtin/packages/hipfft/package.py +++ b/var/spack/repos/builtin/packages/hipfft/package.py @@ -22,6 +22,7 @@ class Hipfft(CMakePackage): version('master', branch='master') + version('4.5.0', sha256='96636713bc6cdafbd5a9c1e98e816895448960c86b380fc0c3c9ffa28f670844') version('4.3.1', sha256='429cfd40415856da8f5c2c321b612800d6826ee121df5a4e6d1596cad5b51727') version('4.3.0', sha256='6e52e0eb5b2a13adaf317fe5b20b3e059589aabf2af87e4c67cb1022b861ba84') version('4.2.0', sha256='74253b0d92feff55ebb39b3fe4a22a6454160a60bdad37384aa5340fd8843f8a') @@ -31,7 +32,7 @@ class Hipfft(CMakePackage): depends_on('cmake@3:', type='build') - for ver in ['4.1.0', '4.2.0', '4.3.0', '4.3.1']: + for ver in ['4.1.0', '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('hip@' + ver, when='@' + ver) depends_on('rocfft@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/hipfort/package.py b/var/spack/repos/builtin/packages/hipfort/package.py index 4dec46b088..818cf39b18 100644 --- a/var/spack/repos/builtin/packages/hipfort/package.py +++ b/var/spack/repos/builtin/packages/hipfort/package.py @@ -11,10 +11,11 @@ class Hipfort(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/hipfort" git = "https://github.com/ROCmSoftwarePlatform/hipfort.git" - url = "https://github.com/ROCmSoftwarePlatform/hipfort/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/hipfort/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.5.0', sha256='48626dfb15bb5dcb044c9e1d4dc4b0654a2cd0abfc69485aa285dc20d7f40d51') version('4.3.1', sha256='279a35edbc0c22fa930a4355e663a86adf4d0316c5b1b6b9ccc6ee5c19c8c2e4') version('4.3.0', sha256='fd0ffdafdc17ac42c7dae3f89991651f15affdef9b2354da05c7493d09d8974e') version('4.2.0', sha256='b411cb32bf87927eba4c5573b412c56d75d15165e2f1c8ac5ac18e624ed3a4b4') @@ -29,7 +30,7 @@ class Hipfort(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', - '4.3.0', '4.3.1']: + '4.3.0', '4.3.1', '4.5.0']: depends_on('hip@' + ver, type='build', when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) diff --git a/var/spack/repos/builtin/packages/hipify-clang/package.py b/var/spack/repos/builtin/packages/hipify-clang/package.py index d1ebb220e2..d17f884645 100644 --- a/var/spack/repos/builtin/packages/hipify-clang/package.py +++ b/var/spack/repos/builtin/packages/hipify-clang/package.py @@ -12,11 +12,12 @@ class HipifyClang(CMakePackage): homepage = "https://github.com/ROCm-Developer-Tools/HIPIFY" git = "https://github.com/ROCm-Developer-Tools/HIPIFY.git" - url = "https://github.com/ROCm-Developer-Tools/HIPIFY/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/ROCm-Developer-Tools/HIPIFY/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] version('master', branch='master') + version('4.5.0', sha256='1f6e1bd4b9d64eed67f519c453fa65b362a20583df1f35fd09d08de831f3c8de') version('4.3.1', sha256='c5754f7c2c68ea4f65cc0ffc1e8ccc30634181525b25c10817e07eaa75ca8157') version('4.3.0', sha256='182b336a994e3de0dfbce935dc35091388d18a29e3cfdadb2ab7da8a2dc121a2') version('4.2.0', sha256='afdc82ae00e14e8e742be6cd47d8fb120d18fc52fe96cba8d8ac4c56176a432e') @@ -32,5 +33,5 @@ class HipifyClang(CMakePackage): depends_on('cmake@3.5:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1', 'master']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0', 'master']: depends_on('llvm-amdgpu@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/hipsolver/package.py b/var/spack/repos/builtin/packages/hipsolver/package.py new file mode 100644 index 0000000000..f909998b7f --- /dev/null +++ b/var/spack/repos/builtin/packages/hipsolver/package.py @@ -0,0 +1,40 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Hipsolver(CMakePackage): + """hipSOLVER is a LAPACK marshalling library, with multiple supported backends. + It sits between the application and a 'worker' LAPACK library, marshalling + inputs into the backend library and marshalling results back to the application. + hipSOLVER exports an interface that does not require the client to change, + regardless of the chosen backend. Currently, hipSOLVER supports rocSOLVER + and cuSOLVER as backends.""" + + homepage = "https://github.com/ROCmSoftwarePlatform/hipSOLVER" + git = "https://github.com/ROCmSoftwarePlatform/hipSOLVER.git" + url = "https://github.com/ROCmSoftwarePlatform/hipSOLVER/archive/rocm-4.5.0.tar.gz" + + maintainers = ['srekolam'] + + version('4.5.0', sha256='ee1176e977736a6e6fcba507fe6f56fcb3cefd6ba741cceb28464ea8bc476cd8') + + variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type') + + for ver in ['4.5.0']: + depends_on('hip@' + ver, when='@' + ver) + depends_on('rocblas@' + ver, when='@' + ver) + depends_on('rocsolver@' + ver, when='@' + ver) + depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) + + def setup_build_environment(self, env): + env.set('CXX', self.spec['hip'].hipcc) + + def cmake_args(self): + args = [ + self.define('BUILD_CLIENTS_SAMPLES', 'OFF'), + ] + return args diff --git a/var/spack/repos/builtin/packages/hipsparse/package.py b/var/spack/repos/builtin/packages/hipsparse/package.py index 4105c09fd9..e763fa22f7 100644 --- a/var/spack/repos/builtin/packages/hipsparse/package.py +++ b/var/spack/repos/builtin/packages/hipsparse/package.py @@ -16,6 +16,7 @@ class Hipsparse(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] + version('4.5.0', sha256='1049c490fc2008d701a16d14e11004e3bc5b4da993aa48b117e3c44be5677e3c') version('4.3.1', sha256='e5757b5213b880237ae0f24616088f79c449c2955cf2133642dbbc9c655f4691') version('4.3.0', sha256='194fbd589ce34471f3255f71ea5fca2d27bee47a464558a86d0713b4d26237ea') version('4.2.0', sha256='cdedf3766c10200d3ebabe86cbb9c0fe6504e4b3317dccca289327d7c189bb3f') @@ -33,13 +34,12 @@ class Hipsparse(CMakePackage): depends_on('git', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('hip@' + ver, when='@' + ver) depends_on('rocsparse@' + ver, when='@' + ver) - for ver in ['3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', - '4.3.0', '4.3.1']: + '4.3.0', '4.3.1', '4.5.0']: depends_on('rocprim@' + ver, when='@' + ver) patch('e79985dccde22d826aceb3badfc643a3227979d2.patch', when='@3.5.0') diff --git a/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py index 4229562c1f..ab0b9558cb 100644 --- a/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py +++ b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py @@ -20,6 +20,8 @@ class HsaRocrDev(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] version('master', branch='master') + + version('4.5.0', sha256='fbf550f243dddfef46a716e360b77c43886fed3eef67215ab9dab1c82f3851ca') version('4.3.1', sha256='85fbd1645120b71635844090ce8bd9f7af0a3d1065d5fae476879f99ba0c0475') version('4.3.0', sha256='2a08657a517971447fc233cb2c8ee2e117c6ab5efc31af147b28b3ef59b3847d') version('4.2.0', sha256='fa0e7bcd64e97cbff7c39c9e87c84a49d2184dc977b341794770805ec3f896cc') @@ -43,7 +45,7 @@ class HsaRocrDev(CMakePackage): depends_on('libelf@0.8:', type='link') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1', 'master']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0', 'master']: depends_on('hsakmt-roct@' + ver, when='@' + ver) depends_on('llvm-amdgpu@' + ver, when='@' + ver) # allow standalone rocm-device-libs (useful for aomp) diff --git a/var/spack/repos/builtin/packages/hsakmt-roct/package.py b/var/spack/repos/builtin/packages/hsakmt-roct/package.py index 87fa05b2d5..1751b1c244 100644 --- a/var/spack/repos/builtin/packages/hsakmt-roct/package.py +++ b/var/spack/repos/builtin/packages/hsakmt-roct/package.py @@ -14,11 +14,12 @@ class HsakmtRoct(CMakePackage): homepage = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface" git = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface.git" - url = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] version('master', branch='master') + version('4.5.0', sha256='620b39959e0ee5d709b8cf6eb3cc06c8356d72838343756230c638899b10bb9a') version('4.3.1', sha256='9d0727e746d4ae6e2709e3534d91046640be511a71c027f47db25e529fe3b4d4') version('4.3.0', sha256='1ef5fe687bc23ffda17841fe354c1fb94e9aaf276ca9e5757488852f9066f231') version('4.2.0', sha256='cc325d4b9a96062f2ad0515fce724a8c64ba56a7d7f1ac4a0753941b8599c52e') @@ -35,6 +36,7 @@ class HsakmtRoct(CMakePackage): depends_on('cmake@3:', type='build') depends_on('numactl') + depends_on('libdrm', when='@4.5.0:') @property def install_targets(self): diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py index 762ed13d6a..90781f8f94 100644 --- a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py +++ b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py @@ -15,11 +15,12 @@ class LlvmAmdgpu(CMakePackage): homepage = "https://github.com/RadeonOpenCompute/llvm-project" git = "https://github.com/RadeonOpenCompute/llvm-project.git" - url = "https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] version('master', branch='amd-stg-open') + version('4.5.0', sha256='b71451bf26650ba06c0c5c4c7df70f13975151eaa673ef0cc77c1ab0000ccc97') version('4.3.1', sha256='b53c6b13be7d77dc93a7c62e4adbb414701e4e601e1af2d1e98da4ee07c9837f') version('4.3.0', sha256='1567d349cd3bcd2c217b3ecec2f70abccd5e9248bd2c3c9f21d4cdb44897fc87') version('4.2.0', sha256='751eca1d18595b565cfafa01c3cb43efb9107874865a60c80d6760ba83edb661') @@ -61,6 +62,7 @@ class LlvmAmdgpu(CMakePackage): # Add device libs sources so they can be an external LLVM project for d_version, d_shasum in [ + ('4.5.0', '78412fb10ceb215952b5cc722ed08fa82501b5848d599dc00744ae1bdc196f77'), ('4.3.1', 'a7291813168e500bfa8aaa5d1dccf5250764ddfe27535def01b51eb5021d4592'), ('4.3.0', '055a67e63da6491c84cd45865500043553fb33c44d538313dd87040a6f3826f2'), ('4.2.0', '34a2ac39b9bb7cfa8175cbab05d30e7f3c06aaffce99eed5f79c616d0f910f5f'), @@ -95,9 +97,8 @@ class LlvmAmdgpu(CMakePackage): 'clang-tools-extra', 'compiler-rt' ] - args = [] - if self.spec.satisfies('@4.3.0:'): + if self.spec.satisfies('@4.3.0:4.5.0'): llvm_projects.append('libcxx') llvm_projects.append('libcxxabi') @@ -109,6 +110,9 @@ class LlvmAmdgpu(CMakePackage): self.define('LIBCXXABI_ENABLE_SHARED', 'OFF'), self.define('LIBCXXABI_ENABLE_STATIC', 'ON'), self.define('LIBCXXABI_INSTALL_STATIC_LIBRARY', 'OFF'), + self.define('LLVM_ENABLE_Z3_SOLVER', 'OFF'), + self.define('LLLVM_ENABLE_ZLIB', 'ON'), + self.define('CLANG_DEFAULT_LINKER', 'lld'), ] if '+openmp' in self.spec: @@ -116,6 +120,9 @@ class LlvmAmdgpu(CMakePackage): args.extend([self.define('LLVM_ENABLE_PROJECTS', ';'.join(llvm_projects))]) + if self.spec.satisfies('@4.5.0:'): + args.extend([self.define('PACKAGE_VENDOR', 'AMD')]) + # Enable rocm-device-libs as a external project if '+rocm-device-libs' in self.spec: dir = os.path.join(self.stage.source_path, 'rocm-device-libs') @@ -140,3 +147,22 @@ class LlvmAmdgpu(CMakePackage): args.append(self.define('GCC_INSTALL_PREFIX', gcc_prefix)) return args + + @run_after("install") + def post_install(self): + # TODO:Enabling LLVM_ENABLE_RUNTIMES for libcxx,libcxxabi did not build. + # bootstraping the libcxx with the just built clang + if self.spec.satisfies('@4.5.0:'): + spec = self.spec + define = CMakePackage.define + libcxxdir = "build-bootstrapped-libcxx" + with working_dir(libcxxdir, create=True): + cmake_args = [ + self.stage.source_path + "/libcxx", + define("CMAKE_C_COMPILER", spec.prefix.bin + "/clang"), + define("CMAKE_CXX_COMPILER", spec.prefix.bin + "/clang++"), + define("CMAKE_INSTALL_PREFIX", spec.prefix), + ] + cmake_args.extend(self.cmake_args()) + cmake(*cmake_args) + make() diff --git a/var/spack/repos/builtin/packages/migraphx/0002-restrict-python-2.7-usage.patch b/var/spack/repos/builtin/packages/migraphx/0002-restrict-python-2.7-usage.patch new file mode 100644 index 0000000000..8cb736a9b5 --- /dev/null +++ b/var/spack/repos/builtin/packages/migraphx/0002-restrict-python-2.7-usage.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/PythonModules.cmake b/cmake/PythonModules.cmake +index 96727cc..51a970c 100755 +--- a/cmake/PythonModules.cmake ++++ b/cmake/PythonModules.cmake +@@ -53,7 +53,7 @@ function(py_add_module NAME) + ) + + endfunction() +-set(PYTHON_SEARCH_VERSIONS 2.7 3.5 3.6 3.7 3.8 3.9) ++set(PYTHON_SEARCH_VERSIONS 3.5 3.6 3.7 3.8 3.9) + + set(_PYTHON_VERSIONS) + foreach(PYTHON_VERSION ${PYTHON_SEARCH_VERSIONS}) diff --git a/var/spack/repos/builtin/packages/migraphx/package.py b/var/spack/repos/builtin/packages/migraphx/package.py index 318b7be25f..5bdc8dd3ed 100644 --- a/var/spack/repos/builtin/packages/migraphx/package.py +++ b/var/spack/repos/builtin/packages/migraphx/package.py @@ -11,10 +11,11 @@ class Migraphx(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX" git = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX.git" - url = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.5.0', sha256='8d243a48406af7f960c03bc28a16fad931de8e008ae848799adae504cc5f1355') version('4.3.1', sha256='e0b04da37aed937a2b2218059c189559a15460c191b5e9b00c7366c81c90b06e') version('4.3.0', sha256='99cf202a5e86cf5502b0f8bf12f152dbd5a6aacc204b3d9d5efca67a54793408') version('4.2.0', sha256='93f22f6c641dde5d7fb8abcbd99621b3c81e332e125a6f3a258d5e4cf2055f55') @@ -38,6 +39,7 @@ class Migraphx(CMakePackage): variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type') patch('0001-Adding-nlohmann-json-include-directory.patch', when='@3.9.0:') + patch('0002-restrict-python-2.7-usage.patch', when='@3.9.0:') depends_on('cmake@3:', type='build') depends_on('protobuf', type='link') @@ -45,12 +47,12 @@ class Migraphx(CMakePackage): depends_on('nlohmann-json', type='link') depends_on('msgpack-c', type='link') depends_on('half@1.12.0', type='link') - depends_on('python@3:', type='build') + depends_on('python@3.5:', type='build') depends_on('py-pybind11', type='build', when='@:4.0.0') depends_on('py-pybind11@2.6:', type='build', when='@4.1.0:') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('hip@' + ver, when='@' + ver) depends_on('llvm-amdgpu@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/miopen-hip/package.py b/var/spack/repos/builtin/packages/miopen-hip/package.py index 812a20e9ee..666c5b639b 100644 --- a/var/spack/repos/builtin/packages/miopen-hip/package.py +++ b/var/spack/repos/builtin/packages/miopen-hip/package.py @@ -16,6 +16,7 @@ class MiopenHip(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.5.0', sha256='be2f5ce962e15e62d427978422498c0ddf821b91fd40777a1ba915a2794d6fda') version('4.3.1', sha256='1fb2fd8b24f984174ec5338a58b7964e128b74dafb101373a41c8ed33955251a') version('4.3.0', sha256='034445470cfd44480a1d9854f9fdfe92cfb8efa3f002dee508eb9585e338486d') version('4.2.0', sha256='8ab02e784c8b3471159794766ed6303c333b33c69dc5186c0930e56504373b7c') @@ -40,7 +41,7 @@ class MiopenHip(CMakePackage): patch('0001-Add-rocm-path-and-rocm-device-lib-path-flags.patch', when='@3.9.0:') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('hip@' + ver, when='@' + ver) depends_on('rocm-clang-ocl@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/miopen-opencl/package.py b/var/spack/repos/builtin/packages/miopen-opencl/package.py index 79d8229e2b..529cd0a383 100644 --- a/var/spack/repos/builtin/packages/miopen-opencl/package.py +++ b/var/spack/repos/builtin/packages/miopen-opencl/package.py @@ -12,10 +12,11 @@ class MiopenOpencl(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/MIOpen" git = "https://github.com/ROCmSoftwarePlatform/MIOpen.git" - url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.5.0', sha256='be2f5ce962e15e62d427978422498c0ddf821b91fd40777a1ba915a2794d6fda') version('4.3.1', sha256='1fb2fd8b24f984174ec5338a58b7964e128b74dafb101373a41c8ed33955251a') version('4.3.0', sha256='034445470cfd44480a1d9854f9fdfe92cfb8efa3f002dee508eb9585e338486d') version('4.2.0', sha256='8ab02e784c8b3471159794766ed6303c333b33c69dc5186c0930e56504373b7c') @@ -38,13 +39,13 @@ class MiopenOpencl(CMakePackage): depends_on('miopengemm@1.1.6', type='link', when='@3.5.0') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('hip@' + ver, when='@' + ver) depends_on('rocm-opencl@' + ver, when='@' + ver) for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('miopengemm@' + ver, when='@' + ver) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/miopengemm/package.py b/var/spack/repos/builtin/packages/miopengemm/package.py index 92d42bc7a4..9f697aa331 100644 --- a/var/spack/repos/builtin/packages/miopengemm/package.py +++ b/var/spack/repos/builtin/packages/miopengemm/package.py @@ -22,6 +22,7 @@ class Miopengemm(CMakePackage): url = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/archive/rocm-{0}.tar.gz" return url.format(version) + version('4.5.0', sha256='54ec908109a91f9022b61e63e3a1b9706cdcf133ba6fb3b39a65ca0e79be7747') version('4.3.1', sha256='0aee2281d9b8c625e9bda8efff3067237d6155a53f6c720dcb4e3b3ec8bf8d14') version('4.3.0', sha256='d32b3b98e695b7db2fd2faa6587a57728d1252d6d649dcb2db3102f98cd5930e') version('4.2.0', sha256='a11fa063248ed339fe897ab4c5d338b7279035fa37fcbe0909e2c4c352aaefb1') @@ -40,6 +41,6 @@ class Miopengemm(CMakePackage): depends_on('rocm-opencl@3.5.0', when='@1.1.6') for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('rocm-opencl@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/mivisionx/package.py b/var/spack/repos/builtin/packages/mivisionx/package.py index c126838c52..83bb36cfd3 100644 --- a/var/spack/repos/builtin/packages/mivisionx/package.py +++ b/var/spack/repos/builtin/packages/mivisionx/package.py @@ -13,7 +13,7 @@ class Mivisionx(CMakePackage): 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-4.3.0.tar.gz" + url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] @@ -24,6 +24,7 @@ class Mivisionx(CMakePackage): url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/rocm-{0}.tar.gz" return url.format(version) + version('4.5.0', sha256='518834893d3fcdb7ecff179b3f3992ca1aacb30b6d95711c74918abb6f80b925') version('4.3.1', sha256='d77d63c0f148870dcd2a39a823e94b28adef9e84d2c37dfc3b05db5de4d7af83') version('4.3.0', sha256='31f6ab9fb7f40b23d4b24c9a70f809623720943e0492c3d357dd22dcfa50efb2') version('4.2.0', sha256='172857b1b340373ae81ed6aa241559aa781e32250e75c82d7ba3c002930a8a3a') @@ -47,6 +48,11 @@ class Mivisionx(CMakePackage): self.spec['mivisionx'].prefix.include, 'utilities/mv_deploy/CMakeLists.txt', string=True) + if '@4.5.0:' in self.spec: + filter_file('${ROCM_PATH}/miopen', + self.spec['miopen-hip'].prefix.miopen, + 'amd_openvx_extensions/CMakeLists.txt', + string=True) def flag_handler(self, name, flags): spec = self.spec @@ -66,10 +72,12 @@ class Mivisionx(CMakePackage): depends_on('openssl', when='@4.0.0:') for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', - '4.3.0', '4.3.1']: + '4.3.0', '4.3.1', '4.5.0']: depends_on('rocm-opencl@' + ver, when='@' + ver) depends_on('miopengemm@' + ver, when='@' + ver) depends_on('miopen-opencl@' + ver, when='@' + ver) + for ver in ['4.5.0']: + depends_on('miopen-hip@' + ver, when='@' + ver) def cmake_args(self): spec = self.spec diff --git a/var/spack/repos/builtin/packages/rccl/0002-Fix-numactl-rocm-smi-path-issue.patch b/var/spack/repos/builtin/packages/rccl/0002-Fix-numactl-rocm-smi-path-issue.patch new file mode 100644 index 0000000000..30c8b92a68 --- /dev/null +++ b/var/spack/repos/builtin/packages/rccl/0002-Fix-numactl-rocm-smi-path-issue.patch @@ -0,0 +1,24 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1deb1ba..f2bbf30 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -117,6 +117,8 @@ include_directories(src) + include_directories(src/include) + include_directories(src/collectives) + include_directories(src/collectives/device) ++include_directories(${NUMACTL_DIR}/include) ++link_directories(${NUMACTL_DIR}/lib) + + set(CU_SOURCES + src/collectives/device/all_reduce.cu +@@ -241,8 +243,8 @@ if("${HIP_COMPILER}" MATCHES "hcc") + endif() + endif() + +-target_include_directories(rccl PRIVATE ${ROCM_PATH}/rocm_smi/include) +-target_link_libraries(rccl PRIVATE hip::device dl -lrocm_smi64 -L${ROCM_PATH}/rocm_smi/lib) ++target_include_directories(rccl PRIVATE ${ROCM_SMI_DIR}/include) ++target_link_libraries(rccl PRIVATE hip::device dl -lrocm_smi64 -L${ROCM_SMI_DIR}/lib) + target_link_libraries(rccl INTERFACE hip::host) + + #Setup librccl.so version diff --git a/var/spack/repos/builtin/packages/rccl/package.py b/var/spack/repos/builtin/packages/rccl/package.py index 3464e0d9b1..a9e4b7ef94 100644 --- a/var/spack/repos/builtin/packages/rccl/package.py +++ b/var/spack/repos/builtin/packages/rccl/package.py @@ -12,12 +12,13 @@ class Rccl(CMakePackage): implementing all-reduce, all-gather, reduce, broadcast, and reduce-scatter.""" - homepage = "https://github.com/RadeonOpenCompute/rccl" - git = "https://github.com/RadeonOpenCompute/rccl.git" - url = "https://github.com/ROCmSoftwarePlatform/rccl/archive/rocm-4.3.0.tar.gz" + homepage = "https://github.com/ROCmSoftwarePlatform/rccl" + git = "https://github.com/ROCmSoftwarePlatform/rccl.git" + url = "https://github.com/ROCmSoftwarePlatform/rccl/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.5.0', sha256='f806f9f65c490abddc562cb4812e12701582bbb449e41cc4797d00e0dedf084e') version('4.3.1', sha256='c5db71423dc654e8d2c3111e142e65c89436bc636827d95d41a09a87f44fe246') version('4.3.0', sha256='b5231d8c5ab034a583feceebcef68d0cc0b05ec5a683f802fc7747c89f27d5f6') version('4.2.0', sha256='2829fae40ebc1d8be201856d2193a941c87e9cf38dca0a2f4414e675c1742f20') @@ -31,19 +32,22 @@ class Rccl(CMakePackage): variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type') - patch('0001-Fix-numactl-path-issue.patch', when='@3.7.0:') + patch('0001-Fix-numactl-path-issue.patch', when='@3.7.0:4.3.2') + patch('0002-Fix-numactl-rocm-smi-path-issue.patch', when='@4.5.0:') depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('hip@' + ver, when='@' + ver) depends_on('comgr@' + ver, when='@' + ver) depends_on('hsa-rocr-dev@' + ver, when='@' + ver) for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', - '4.3.0', '4.3.1']: + '4.3.0', '4.3.1', '4.5.0']: depends_on('numactl@2:', when='@' + ver) + for ver in ['4.5.0']: + depends_on('rocm-smi-lib@' + ver, when='@' + ver) def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) @@ -59,4 +63,6 @@ class Rccl(CMakePackage): if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) + if self.spec.satisfies('@4.5.0:'): + args.append(self.define('ROCM_SMI_DIR', self.spec['rocm-smi-lib'].prefix)) return args diff --git a/var/spack/repos/builtin/packages/rdc/package.py b/var/spack/repos/builtin/packages/rdc/package.py index 926b7936e9..8f7e727c3b 100644 --- a/var/spack/repos/builtin/packages/rdc/package.py +++ b/var/spack/repos/builtin/packages/rdc/package.py @@ -22,6 +22,7 @@ class Rdc(CMakePackage): url = "https://github.com/RadeonOpenCompute/rdc/archive/rocm-{0}.tar.gz" return url.format(version) + version('4.5.0', sha256='e9bc53d068e9a4fdccff587e34c7fe0880f003a18652cd48c29faf031dd2c98f') version('4.3.1', sha256='aae028aae61eb0f4dd30708c4bbb8c5c57a426f10dae9b967b81500fb106d981') version('4.3.0', sha256='d3dda2022ec1f8c7de4de64696009125a903fcb2f82c38b3ac07e4ab35bf9190') version('4.2.0', sha256='ea2c7c07d55f607968f58d7e30326cae5db5b48c1ba354caa5727394d5bad258') @@ -39,7 +40,7 @@ class Rdc(CMakePackage): depends_on('libcap', type=('build', 'link')) for ver in ['3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', - '4.3.0', '4.3.1']: + '4.3.0', '4.3.1', '4.5.0']: depends_on('rocm-smi-lib@' + ver, type=('build', 'link'), when='@' + ver) def patch(self): diff --git a/var/spack/repos/builtin/packages/rocalution/package.py b/var/spack/repos/builtin/packages/rocalution/package.py index 9a5059f467..847f3180ec 100644 --- a/var/spack/repos/builtin/packages/rocalution/package.py +++ b/var/spack/repos/builtin/packages/rocalution/package.py @@ -21,6 +21,7 @@ class Rocalution(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.5.0', sha256='191629fef002fd1a0793a6b4fe5a6b8c43ac49d3cd173ba64a91359f54659e5b') version('4.3.1', sha256='d3a7b9290f99bdc7382d1d5259c3f5e0e66a43aef4d05b7c2cd78b0e4a5c59bc') version('4.3.0', sha256='f064b96f9f04cf22b89f95f72147fcfef28e2c56ecd764008c060f869c74c144') version('4.2.0', sha256='0424adf522ded41de5b77666e04464a25c73c92e34025762f30837f90a797445') @@ -36,7 +37,7 @@ class Rocalution(CMakePackage): depends_on('cmake@3.5:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('rocblas@' + ver, when='@' + ver) depends_on('rocprim@' + ver, when='@' + ver) @@ -45,7 +46,8 @@ class Rocalution(CMakePackage): depends_on('llvm-amdgpu@' + ver, type='build', when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) - for ver in ['3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', '4.3.0', '4.3.1']: + for ver in ['3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', + '4.3.0', '4.3.1', '4.5.0']: depends_on('rocrand@' + ver, when='@' + ver) def setup_build_environment(self, env): diff --git a/var/spack/repos/builtin/packages/rocblas/package.py b/var/spack/repos/builtin/packages/rocblas/package.py index a6666d321b..8018601a6a 100644 --- a/var/spack/repos/builtin/packages/rocblas/package.py +++ b/var/spack/repos/builtin/packages/rocblas/package.py @@ -12,9 +12,10 @@ class Rocblas(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/rocBLAS/" git = "https://github.com/ROCmSoftwarePlatform/rocBLAS.git" - url = "https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] + version('4.5.0', sha256='22d15a1389a10f1324f5e0ceac1a6ec0758a2801a18419a55e37e2bc63793eaf') version('4.3.1', sha256='ad3c09573cb2bcfdb12bfb5a05e85f9c95073993fd610981df24dda792727b4b') version('4.3.0', sha256='b15a66c861b3394cb83c56b64530b2c7e57b2b4c50f55d0e66bb3d1483b50ec4') version('4.2.0', sha256='547f6d5d38a41786839f01c5bfa46ffe9937b389193a8891f251e276a1a47fb0') @@ -26,17 +27,32 @@ class Rocblas(CMakePackage): version('3.7.0', sha256='9425db5f8e8b6f7fb172d09e2a360025b63a4e54414607709efc5acb28819642') version('3.5.0', sha256='8560fabef7f13e8d67da997de2295399f6ec595edfd77e452978c140d5f936f0') - tensile_architecture = ('all', 'gfx803', 'gfx900', 'gfx906:xnack-', 'gfx908:xnack-', - 'gfx90a:xnack+', 'gfx90a:xnack-', 'gfx1010', 'gfx1011', + tensile_architecture = ('all', 'gfx906', 'gfx908', 'gfx803', 'gfx900', + 'gfx906:xnack-', 'gfx908:xnack-', 'gfx90a:xnack+', + 'gfx90a:xnack-', 'gfx1010', 'gfx1011', 'gfx1012', 'gfx1030') variant('tensile_architecture', default='all', values=tensile_architecture, multi=True) variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type') + # gfx906, gfx908,gfx803,gfx900 are valid for @:4.0.0 + # gfx803,gfx900,gfx:xnack-,gfx908:xnack- are valid gpus for @4.1.0:4.2.0 + # gfx803 till gfx1030 are valid gpus for @4.3.0: + conflicts('tensile_architecture=gfx906', when='@4.0.1:') + conflicts('tensile_architecture=gfx908', when='@4.0.1:') + conflicts('tensile_architecture=gfx906:xnack-', when='@:4.0.0') + conflicts('tensile_architecture=gfx908:xnack-', when='@:4.0.0') + conflicts('tensile_architecture=gfx90a:xnack+', when='@:4.2.1') + conflicts('tensile_architecture=gfx90a:xnack-', when='@:4.2.1') + conflicts('tensile_architecture=gfx1010', when='@:4.2.1') + conflicts('tensile_architecture=gfx1011', when='@:4.2.1') + conflicts('tensile_architecture=gfx1012', when='@:4.2.1') + conflicts('tensile_architecture=gfx1030', when='@:4.2.1') + depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('llvm-amdgpu@' + ver, when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) @@ -45,7 +61,7 @@ class Rocblas(CMakePackage): for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0']: depends_on('rocm-smi@' + ver, type='build', when='@' + ver) - for ver in ['4.0.0', '4.1.0', '4.2.0', '4.3.0', '4.3.1']: + for ver in ['4.0.0', '4.1.0', '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('rocm-smi-lib@' + ver, type='build', when='@' + ver) # This is the default library format since 3.7.0 @@ -69,7 +85,8 @@ class Rocblas(CMakePackage): ('@4.1.0', 'd175277084d3253401583aa030aba121e8875bfd'), ('@4.2.0', '3438af228dc812768b20a068b0285122f327fa5b'), ('@4.3.0', '9cbabb07f81e932b9c98bf5ae48fbd7fcef615cf'), - ('@4.3.1', '9cbabb07f81e932b9c98bf5ae48fbd7fcef615cf') + ('@4.3.1', '9cbabb07f81e932b9c98bf5ae48fbd7fcef615cf'), + ('@4.5.0', '0f6a6d1557868d6d563cb1edf167c32c2e34fda0') ]: resource(name='Tensile', git='https://github.com/ROCmSoftwarePlatform/Tensile.git', @@ -86,12 +103,10 @@ class Rocblas(CMakePackage): def get_gpulist_for_tensile_support(self): arch = self.spec.variants['tensile_architecture'].value if arch[0] == 'all': - if self.spec.satisfies('@:4.0.0'): - arch_value = self.tensile_architecture[1:2] + 'gfx906,gfx908' - elif self.spec.satisfies('@4.1.0:4.2.0'): - arch_value = self.tensile_architecture[1:4] + if self.spec.satisfies('@:4.2.1'): + arch_value = self.tensile_architecture[0] elif self.spec.satisfies('@4.3.0:'): - arch_value = self.tensile_architecture[1:] + arch_value = self.tensile_architecture[3:] return arch_value else: return arch diff --git a/var/spack/repos/builtin/packages/rocfft/package.py b/var/spack/repos/builtin/packages/rocfft/package.py index d3c61fc4ff..c735173418 100644 --- a/var/spack/repos/builtin/packages/rocfft/package.py +++ b/var/spack/repos/builtin/packages/rocfft/package.py @@ -12,10 +12,10 @@ class Rocfft(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/rocFFT/" git = "https://github.com/ROCmSoftwarePlatform/rocFFT.git" - url = "https://github.com/ROCmSoftwarePlatform/rocfft/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/rocfft/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] - + version('4.5.0', sha256='045c1cf1737db6e7ee332c274dacdb565f99c976ed4cc5626a116878dc80a48c') version('4.3.1', sha256='fcdc4d12b93d967b6f992b4045da98433eabf2ee0ba84fc6b6f81e380584fbc9') version('4.3.0', sha256='cb5b8f62330bc61b17a3a2fd1500068ee05d48cb51797901dd259dbc84610478') version('4.2.0', sha256='db29c9067f0cfa98bddd3574f6aa7200cfc790cc6da352d19e4696c3f3982163') @@ -40,7 +40,7 @@ class Rocfft(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py b/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py index f7c208acad..3cb5b264ff 100644 --- a/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py +++ b/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py @@ -17,6 +17,7 @@ class RocmBandwidthTest(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala'] version('master', branch='master') + version('4.5.0', sha256='4d20a6017ca6975df98f3ca61ba95fa0c7c62fbf63cd6abae3396c30a423933f') version('4.3.1', sha256='a4804c28586457c231594b4e7689872eaf91972119d892325468f3fe8fdbe5ef') version('4.3.0', sha256='c6eb406cd2836af61dd5987f6b761340a1be20f66a9325f480423d10b9d3ec1b') version('4.2.0', sha256='d268365e3bb8031c1201c05e705074d1fd794d236843f80064855cf31e4412f5') @@ -33,7 +34,7 @@ class RocmBandwidthTest(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1', 'master']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0', 'master']: depends_on('hsa-rocr-dev@' + ver, when='@' + ver) depends_on('hsakmt-roct@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py b/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py index 4a8e959b2b..4e824bd452 100644 --- a/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py +++ b/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py @@ -11,10 +11,11 @@ class RocmClangOcl(CMakePackage): homepage = "https://github.com/RadeonOpenCompute/clang-ocl" git = "https://github.com/RadeonOpenCompute/clang-ocl.git" - url = "https://github.com/RadeonOpenCompute/clang-ocl/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/RadeonOpenCompute/clang-ocl/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] version('master', branch='master') + version('4.5.0', sha256='b9ab42629c8697f8ffdae99ffd25f939161fa8a7a1c49a9ce19d8b207bedbbae') version('4.3.1', sha256='12461d4fd4f3f40710d2c041cfee37da83ccda9d2761d7708335349e7ec5ad87') version('4.3.0', sha256='bc5650f2f105b10a1e22d8e5cc9464b0f960252a08e5e1fdee222af1fc5c022c') version('4.2.0', sha256='702796f4e31f6119173d915db9bee13c060a75d9eb5b1f8e3d20779d6702dfdc') @@ -31,7 +32,7 @@ class RocmClangOcl(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1', 'master']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0', 'master']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('llvm-amdgpu@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocm-cmake/package.py b/var/spack/repos/builtin/packages/rocm-cmake/package.py index c8a35a9e10..c4d733c588 100644 --- a/var/spack/repos/builtin/packages/rocm-cmake/package.py +++ b/var/spack/repos/builtin/packages/rocm-cmake/package.py @@ -13,11 +13,12 @@ class RocmCmake(CMakePackage): homepage = "https://github.com/RadeonOpenCompute/rocm-cmake" git = "https://github.com/RadeonOpenCompute/rocm-cmake.git" - url = "https://github.com/RadeonOpenCompute/rocm-cmake/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/RadeonOpenCompute/rocm-cmake/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] version('master', branch='master') + version('4.5.0', sha256='c77b71454010adbeea5357773aa98dd0725f655f51a411815807cabf29258395') version('4.3.1', sha256='acf2a58e2cd486f473194bf01247c52dbf20bd5f6465810fb221470298f2557f') version('4.3.0', sha256='bb752d8d2727b7ef2754838e389075dd4212cf5439d099392141f93d05391415') version('4.2.0', sha256='299e190ec3d38c2279d9aec762469628f0b2b1867adc082edc5708d1ac785c3b') diff --git a/var/spack/repos/builtin/packages/rocm-dbgapi/package.py b/var/spack/repos/builtin/packages/rocm-dbgapi/package.py index 8f9bdfc3f8..de1acbad8b 100644 --- a/var/spack/repos/builtin/packages/rocm-dbgapi/package.py +++ b/var/spack/repos/builtin/packages/rocm-dbgapi/package.py @@ -20,6 +20,7 @@ class RocmDbgapi(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala'] version('master', branch='amd-master') + version('4.5.0', sha256='583bbf18df593f376c4cc70f25b68c191bd38fde20a336c0f5c8e5d85fda2fcf') version('4.3.1', sha256='dddf2549ad6bb806f7e5d5a5336f5a00fe87a124f2a778be18ec4dc41f891912') version('4.3.0', sha256='4255d83d218bb0db8be9fef18e03a955ea1c6de1c635c31685ee5fc1540ddde6') version('4.2.0', sha256='fcdee5aaf5ed40c0377ce007a2947da9e718eeee86ca3e13192ff9e96a1b7373') @@ -36,7 +37,7 @@ class RocmDbgapi(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1', 'master']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0', 'master']: depends_on('hsa-rocr-dev@' + ver, type='build', when='@' + ver) depends_on('comgr@' + ver, type=('build', 'link'), when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocm-debug-agent/package.py b/var/spack/repos/builtin/packages/rocm-debug-agent/package.py index cdff0ca987..2dd448f2b7 100644 --- a/var/spack/repos/builtin/packages/rocm-debug-agent/package.py +++ b/var/spack/repos/builtin/packages/rocm-debug-agent/package.py @@ -15,6 +15,7 @@ class RocmDebugAgent(CMakePackage): url = "https://github.com/ROCm-Developer-Tools/rocr_debug_agent/archive/rocm-4.3.1.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.5.0', sha256='6486b1a8515da4711d3c85f8e41886f8fe6ba37ca2c63664f00c811f6296ac20') version('4.3.1', sha256='7bee6be6c29883f03f47a8944c0d50b7cf43a6b5eeed734602f521c3c40a18d0') version('4.3.0', sha256='0cdee5792b808e03b839070da0d1b08dc4078a7d1fc295f0c99c6a5ae7d636a6') version('4.2.0', sha256='ce02a5b752291882daa0a2befa23944e59087ce9fe65a91061476c3c399e4a0c') @@ -41,12 +42,12 @@ class RocmDebugAgent(CMakePackage): depends_on('elfutils@:0.168', type='link') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('hsa-rocr-dev@' + ver, when='@' + ver) depends_on('hsakmt-roct@' + ver, when='@' + ver) for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', - '4.3.0', '4.3.1']: + '4.3.0', '4.3.1', '4.5.0']: depends_on('rocm-dbgapi@' + ver, when='@' + ver) depends_on('hip@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocm-device-libs/package.py b/var/spack/repos/builtin/packages/rocm-device-libs/package.py index 07fd9c81b2..2490c39718 100644 --- a/var/spack/repos/builtin/packages/rocm-device-libs/package.py +++ b/var/spack/repos/builtin/packages/rocm-device-libs/package.py @@ -12,11 +12,13 @@ class RocmDeviceLibs(CMakePackage): homepage = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs" git = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs.git" - url = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-4.3.1.tar.gz" + url = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] version('master', branch='amd-stg-open') + + version('4.5.0', sha256='78412fb10ceb215952b5cc722ed08fa82501b5848d599dc00744ae1bdc196f77') version('4.3.1', sha256='a7291813168e500bfa8aaa5d1dccf5250764ddfe27535def01b51eb5021d4592') version('4.3.0', sha256='055a67e63da6491c84cd45865500043553fb33c44d538313dd87040a6f3826f2') version('4.2.0', sha256='34a2ac39b9bb7cfa8175cbab05d30e7f3c06aaffce99eed5f79c616d0f910f5f') @@ -39,7 +41,7 @@ class RocmDeviceLibs(CMakePackage): depends_on('llvm-amdgpu ~rocm-device-libs') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1', 'master']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0', 'master']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('llvm-amdgpu@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocm-gdb/package.py b/var/spack/repos/builtin/packages/rocm-gdb/package.py index 9b031706a4..cd6151ba17 100644 --- a/var/spack/repos/builtin/packages/rocm-gdb/package.py +++ b/var/spack/repos/builtin/packages/rocm-gdb/package.py @@ -12,9 +12,11 @@ class RocmGdb(AutotoolsPackage): based on GDB, the GNU source-level debugger.""" homepage = "https://github.com/ROCm-Developer-Tools/ROCgdb/" - url = "https://github.com/ROCm-Developer-Tools/ROCgdb/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/ROCm-Developer-Tools/ROCgdb/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + + version('4.5.0', sha256='dd37c8b1ea6bb41b1263183637575d7bf4746cabc573dbff888e23b0379877b0') version('4.3.1', sha256='995756a24b1e1510647dac1476a3a9a8e3af8e9fd9f4af1d00dd2db28e7a4ef2') version('4.3.0', sha256='8ee0667ab2cd91b2cc41d3a7af046d36a6b4e2007f050265aa65e0aedec83fd7') version('4.2.0', sha256='4bc579584a1f8614111e7e44d8aa1c6d5d06be3f5db055aba2cf1abc140122ac') @@ -35,9 +37,10 @@ class RocmGdb(AutotoolsPackage): depends_on('python', type=('build', 'link')) depends_on('zlib', type='link') depends_on('babeltrace@1.2.4', type='link') + depends_on('gmp', type=('build', 'link'), when='@4.5.0:') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('rocm-dbgapi@' + ver, type='link', when='@' + ver) depends_on('comgr@' + ver, type='link', when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocm-opencl/package.py b/var/spack/repos/builtin/packages/rocm-opencl/package.py index e511e309a0..f93a7fd3d9 100644 --- a/var/spack/repos/builtin/packages/rocm-opencl/package.py +++ b/var/spack/repos/builtin/packages/rocm-opencl/package.py @@ -21,6 +21,8 @@ class RocmOpencl(CMakePackage): url = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-{0}.tar.gz" return url.format(version) version('master', branch='main') + + version('4.5.0', sha256='3a163aed24619b3faf5e8ba17325bdcedd1667a904ea20914ac6bdd33fcdbca8') version('4.3.1', sha256='7f98f7d4707b4392f8aa7017aaca9e27cb20263428a1a81fb7ec7c552e60c4ca') version('4.3.0', sha256='d37bddcc6835b6c0fecdf4d02c204ac1d312076f3eef2b1faded1c4c1bc651e9') version('4.2.0', sha256='18133451948a83055ca5ebfb5ba1bd536ed0bcb611df98829f1251a98a38f730') @@ -38,9 +40,24 @@ class RocmOpencl(CMakePackage): depends_on('mesa18~llvm@18.3:', type='link') depends_on('numactl', type='link', when='@3.7.0:') + for d_version, d_shasum in [ + ('4.5.0', 'ca8d6305ff0e620d9cb69ff7ac3898917db9e9b6996a7320244b48ab6511dd8e') + ]: + resource( + name='rocclr', + url='https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-{0}.tar.gz'.format(d_version), + sha256=d_shasum, + expand=True, + destination='', + placement='rocclr', + when='@{0}'.format(d_version) + ) + for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', '4.3.0', '4.3.1', 'master']: depends_on('hip-rocclr@' + ver, type='build', when='@' + ver) + for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', + '4.2.0', '4.3.0', '4.3.1', '4.5.0', 'master']: depends_on('comgr@' + ver, type='build', when='@' + ver) depends_on('hsa-rocr-dev@' + ver, type='link', when='@' + ver) @@ -51,7 +68,7 @@ class RocmOpencl(CMakePackage): # commented out. So instead we provide # all the includes... - if name in ('cflags', 'cxxflags'): + if (self.spec.satisfies('@:4.3.2') and name in ('cflags', 'cxxflags')): rocclr = self.spec['hip-rocclr'].prefix extra_includes = [ 'include', @@ -72,11 +89,15 @@ class RocmOpencl(CMakePackage): def cmake_args(self): args = [ - '-DUSE_COMGR_LIBRARY=yes', + '-DUSE_COMGR_LIBRARY=yes' + ] + if self.spec.satisfies('@:4.3.0'): '-DROCclr_DIR={0}'.format(self.spec['hip-rocclr'].prefix), '-DLIBROCclr_STATIC_DIR={0}/lib'.format (self.spec['hip-rocclr'].prefix) - ] + if '@4.5.0' in self.spec: + args.append(self.define('ROCCLR_PATH', self.stage.source_path + '/rocclr')) + args.append(self.define('AMD_OPENCL_PATH', self.stage.source_path)) return args def setup_run_environment(self, env): diff --git a/var/spack/repos/builtin/packages/rocm-smi-lib/package.py b/var/spack/repos/builtin/packages/rocm-smi-lib/package.py index 381913e393..a43f5f0c92 100644 --- a/var/spack/repos/builtin/packages/rocm-smi-lib/package.py +++ b/var/spack/repos/builtin/packages/rocm-smi-lib/package.py @@ -21,6 +21,7 @@ class RocmSmiLib(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala'] version('master', branch='master') + version('4.5.0', sha256='43a2cc2ec548cc28698ca4fa01a947a4414febd433936a8d9770bf6f6ed55e4f') version('4.3.1', sha256='ea2f9d8a9999e4aac1cb969e6bf2a9f0b6d02f29d0c319b36cce26412ab8a8b0') version('4.3.0', sha256='c3ff56a14d334cb688a2e9a748dac46d9c2f7f576fe1f53416b1a0edbe842f8b') version('4.2.0', sha256='c31bf91c492f00d0c5ab21e45afbd7baa990e4a8d7ce9b01e3b988e5fdd53f50') diff --git a/var/spack/repos/builtin/packages/rocm-tensile/package.py b/var/spack/repos/builtin/packages/rocm-tensile/package.py index ca4ce6ade6..31db794312 100644 --- a/var/spack/repos/builtin/packages/rocm-tensile/package.py +++ b/var/spack/repos/builtin/packages/rocm-tensile/package.py @@ -12,10 +12,11 @@ class RocmTensile(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/Tensile/" git = "https://github.com/ROCmSoftwarePlatform/Tensile.git" - url = "https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] + version('4.5.0', sha256='26a27659c864b5372ca4407671c6e8d4be3bbc05c64fc18762ad570cd3b3af1f') version('4.3.1', sha256='6fce0ac22051a454fe984283766eb473dc50752cd30bad05acb3dbde6ef4f8b1') version('4.3.0', sha256='911c0cdb0146d43a2a59170e6a803f414a2b68df7d9ff369ab784d11a08d7264') version('4.2.0', sha256='198e357a14a79366b27b1097856d4821996bc36163be0cd2668910b253721060') @@ -42,7 +43,7 @@ class RocmTensile(CMakePackage): depends_on('boost', type=('build', 'link')) for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('hip@' + ver, when='@' + ver) depends_on('comgr@' + ver, when='@' + ver) @@ -53,7 +54,7 @@ class RocmTensile(CMakePackage): for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0']: depends_on('rocm-smi@' + ver, type='build', when='@' + ver) - for ver in ['4.0.0', '4.1.0', '4.2.0', '4.3.0', '4.3.1']: + for ver in ['4.0.0', '4.1.0', '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('rocm-smi-lib@' + ver, type='build', when='@' + ver) root_cmakelists_dir = 'Tensile/Source' diff --git a/var/spack/repos/builtin/packages/rocm-validation-suite/005-cleanup-path-reference-donot-download-googletest-yaml.patch b/var/spack/repos/builtin/packages/rocm-validation-suite/005-cleanup-path-reference-donot-download-googletest-yaml.patch new file mode 100644 index 0000000000..2162ac4516 --- /dev/null +++ b/var/spack/repos/builtin/packages/rocm-validation-suite/005-cleanup-path-reference-donot-download-googletest-yaml.patch @@ -0,0 +1,159 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9ce8b3b..8644d10 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -43,14 +43,12 @@ endif(rocblas_FOUND) + # variables since we will pass them as cmake params appropriately, and + # all find_packages relevant to this build will be in ROCM path hence appending it to CMAKE_PREFIX_PATH + set(ROCM_PATH "/opt/rocm" CACHE PATH "ROCM install path") +-set(CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE PATH "CMAKE installation directory") +-set(CMAKE_PACKAGING_INSTALL_PREFIX "/opt/rocm" CACHE PATH "Prefix used in built packages") ++set (CMAKE_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ) + list(APPEND CMAKE_PREFIX_PATH "${ROCM_PATH}") +-set(ROCR_INC_DIR "${ROCM_PATH}/include" CACHE PATH "Contains header files exported by ROC Runtime" FORCE) +-set(ROCR_LIB_DIR "${ROCM_PATH}/lib" CACHE PATH "Contains library files exported by ROC Runtime" FORCE) +-set(HIP_INC_DIR "${ROCM_PATH}/hip" ) +-set(HIP_INC_DIR "${ROCM_PATH}/hip" CACHE PATH "Contains header files exported by ROC Runtime" FORCE) +-set(ROCT_INC_DIR "${ROCM_PATH}/include" CACHE PATH "Contains header files exported by ROC Trunk" FORCE) ++set(ROCR_INC_DIR "${ROCM_PATH}/include" CACHE PATH "Contains header files exported by ROC Runtime") ++set(ROCR_LIB_DIR "${ROCM_PATH}/lib" CACHE PATH "Contains library files exported by ROC Runtime") ++set(HIP_INC_DIR "${ROCM_PATH}/hip" CACHE PATH "Contains header files exported by ROC Runtime") ++set(ROCT_INC_DIR "${ROCM_PATH}/include" CACHE PATH "Contains header files exported by ROC Trunk") + + + # +@@ -162,8 +160,6 @@ set(RVS_ROCBLAS "0" CACHE STRING "1 = use local rocBLAS") + set(RVS_ROCMSMI "0" CACHE STRING "1 = use local rocm_smi_lib") + + set(RVS_LIB_DIR "${CMAKE_BINARY_DIR}/rvslib" CACHE PATH "Contains RVS library") +-set(YAML_INC_DIR "${CMAKE_BINARY_DIR}/yaml-src/include" CACHE PATH "Contains header files exported by yaml-cpp") +-set(YAML_LIB_DIR "${CMAKE_BINARY_DIR}/yaml-build" CACHE PATH "Contains library files exported by yaml-cpp") + + if (${RVS_OS_TYPE} STREQUAL "centos") + set(ROCT_LIB_DIR "${ROCM_PATH}/lib64" CACHE PATH "Contains library files exported by ROC Trunk") +@@ -207,86 +203,6 @@ if (NOT DEFINED CPACK_GENERATOR ) + endif() + message (STATUS "CPACK_GENERATOR ${CPACK_GENERATOR}" ) + +- +-################################################################################ +-# Download and unpack yaml-cpp at configure time +-configure_file(CMakeYamlDownload.cmake yaml-download/CMakeLists.txt) +-execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . +- RESULT_VARIABLE result +- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/yaml-download ) +-if(result) +- message(FATAL_ERROR "CMake step for yaml-download failed: ${result}") +-endif() +-execute_process(COMMAND ${CMAKE_COMMAND} --build . +- RESULT_VARIABLE result +- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/yaml-download ) +-if(result) +- message(FATAL_ERROR "Build step for yaml-download failed: ${result}") +-endif() +-execute_process(COMMAND ${CMAKE_COMMAND} ${CMAKE_BINARY_DIR}/yaml-src -B${CMAKE_BINARY_DIR}/yaml-build +- RESULT_VARIABLE result +- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/yaml-src ) +-if(result) +- message(FATAL_ERROR "Config step for yaml-src failed: ${result}") +-endif() +- +-add_custom_target(rvs_yaml_target +- DEPENDS ${CMAKE_BINARY_DIR}/yaml-build/libyaml-cpp.a +-) +- +-add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/yaml-build/libyaml-cpp.a +- COMMAND make -C ${CMAKE_BINARY_DIR}/yaml-build +- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/yaml-src +- COMMENT "Generating yaml-cpp targets" +- VERBATIM) +- +-################################################################################ +-## GOOGLE TEST +-if(RVS_BUILD_TESTS) +- # Download and unpack googletest at configure time +- configure_file(CMakeGtestDownload.cmake googletest-download/CMakeLists.txt) +- execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . +- RESULT_VARIABLE result +- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-download ) +- if(result) +- message(FATAL_ERROR "CMake step for googletest failed: ${result}") +- endif() +- execute_process(COMMAND ${CMAKE_COMMAND} --build . +- RESULT_VARIABLE result +- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-download ) +- if(result) +- message(FATAL_ERROR "Build step for googletest failed: ${result}") +- endif() +- execute_process(COMMAND ${CMAKE_COMMAND} ${CMAKE_BINARY_DIR}/googletest-src -B${CMAKE_BINARY_DIR}/googletest-build +- RESULT_VARIABLE result +- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-src ) +- if(result) +- message(FATAL_ERROR "Config step for googletest-src failed: ${result}") +- endif() +- +- add_custom_target(rvs_gtest_target +- DEPENDS ${CMAKE_BINARY_DIR}/googletest-build/lib/libgtest_main.a +- ) +- +- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/googletest-build/lib/libgtest_main.a +- COMMAND make -C ${CMAKE_BINARY_DIR}/googletest-build +- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-src +- COMMENT "Generating googletest targets" +- VERBATIM) +- +- ## Set default unit test framework include path +- if (NOT DEFINED UT_INC) +- set (UT_INC "${CMAKE_BINARY_DIR}/googletest-src/googletest/include") +- message ("UT_INC ${UT_INC}") +- endif () +- +- ## Set default unit test framework include path +- if (NOT DEFINED UT_LIB) +- set (UT_LIB "${CMAKE_BINARY_DIR}/googletest-build/lib") +- message ("UT_LIB ${UT_LIB}") +- endif() +- +-endif() + ################################################################################ + ## rocBLAS + +@@ -410,16 +326,16 @@ if (RVS_ROCBLAS EQUAL 1) + set(ROCBLAS_INC_DIR "${CMAKE_BINARY_DIR}/rvs_rblas-src/build/release/rocblas-install") + set(ROCBLAS_LIB_DIR "${CMAKE_BINARY_DIR}/rvs_rblas-src/build/release/rocblas-install/lib/") + else() +- set(ROCBLAS_INC_DIR "${ROCM_PATH}/include") +- set(ROCBLAS_LIB_DIR "${ROCM_PATH}/lib") ++ set(ROCBLAS_INC_DIR "${ROCBLAS_DIR}/include") ++ set(ROCBLAS_LIB_DIR "${ROCBLAS_DIR}/lib") + endif() + + if (RVS_ROCMSMI EQUAL 1) + set(ROCM_SMI_INC_DIR "${CMAKE_BINARY_DIR}/rvs_smi-src/include") + set(ROCM_SMI_LIB_DIR "${CMAKE_BINARY_DIR}/rvs_smi-build") + else() +- set(ROCM_SMI_INC_DIR "${ROCM_PATH}/rocm_smi/include") +- set(ROCM_SMI_LIB_DIR "${ROCM_PATH}/rocm_smi/lib") ++ set(ROCM_SMI_INC_DIR "${ROCM_SMI_DIR}/include") ++ set(ROCM_SMI_LIB_DIR "${ROCM_SMI_DIR}/lib") + endif() + set(ROCM_SMI_LIB "rocm_smi64" CACHE STRING "rocm_smi library name") + +@@ -454,7 +370,7 @@ if (RVS_BUILD_TESTS) + add_subdirectory(testif.so) + endif() + +-add_dependencies(rvshelper rvs_bin_folder rvs_doc rvs_yaml_target) ++add_dependencies(rvshelper rvs_bin_folder rvs_doc) + + + add_dependencies(pesm rvslib rvslibrt) +@@ -489,7 +405,7 @@ if (RVS_BUILD_TESTS) + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMENT "Create the bintest directory" + VERBATIM) +- add_dependencies(rvshelper rvs_bintest_folder rvs_gtest_target) ++ add_dependencies(rvshelper rvs_bintest_folder) + endif() + + add_custom_target(rvs_doc ALL diff --git a/var/spack/repos/builtin/packages/rocm-validation-suite/package.py b/var/spack/repos/builtin/packages/rocm-validation-suite/package.py index 833cce2fe5..5ac9a86555 100644 --- a/var/spack/repos/builtin/packages/rocm-validation-suite/package.py +++ b/var/spack/repos/builtin/packages/rocm-validation-suite/package.py @@ -19,6 +19,7 @@ class RocmValidationSuite(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.5.0', sha256='54181dd5a132a7f4a34a9316d8c00d78343ec45c069c586134ce4e61e68747f5') version('4.3.1', sha256='779a3b0afb53277e41cf863185e87f95d9b2bbb748fcb062cbb428d0b510fb69') version('4.3.0', sha256='f7a918b513c51dd5eadce3f2e091679b2dfe6544a913960ac483567792a06a4c') version('4.2.0', sha256='b25e58a842a8eb90bfd6c4ae426ca5cfdd5de2f8a091761f83597f7cfc2cd0f3') @@ -32,21 +33,24 @@ class RocmValidationSuite(CMakePackage): variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type') - patch('001-fixes-for-rocblas-rocm-smi-install-prefix-path.patch') - patch('002-remove-force-setting-hip-inc-path.patch', when='@4.1.0:') - patch('003-cmake-change-to-remove-installs-and-sudo.patch', when='@4.1.0:') - patch('004-remove-git-download-yaml-cpp-use-yaml-cpp-recipe.patch', when='@4.3.0:') + patch('001-fixes-for-rocblas-rocm-smi-install-prefix-path.patch', when='@4.1.0:4.3.2') + patch('002-remove-force-setting-hip-inc-path.patch', when='@4.1.0:4.3.2') + patch('003-cmake-change-to-remove-installs-and-sudo.patch', when='@4.1.0:4.3.2') + patch('004-remove-git-download-yaml-cpp-use-yaml-cpp-recipe.patch', when='@4.3.0:4.3.2') + patch('005-cleanup-path-reference-donot-download-googletest-yaml.patch', when='@4.5.0:') depends_on('cmake@3.5:', type='build') depends_on('zlib', type='link') depends_on('yaml-cpp~shared') + depends_on('googletest~shared', when='@4.5.0:') + depends_on('doxygen', type='build', when='@4.5.0:') def setup_build_environment(self, build_env): spec = self.spec build_env.set("HIPCC_PATH", spec['hip'].prefix) for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('hip-rocclr@' + ver, when='@' + ver) depends_on('rocminfo@' + ver, when='@' + ver) @@ -54,10 +58,14 @@ class RocmValidationSuite(CMakePackage): depends_on('rocm-smi-lib@' + ver, when='@' + ver) def cmake_args(self): - return [ + args = [ self.define('HIP_INC_DIR', self.spec['hip'].prefix), self.define('ROCM_SMI_DIR', self.spec['rocm-smi-lib'].prefix), self.define('ROCBLAS_DIR', self.spec['rocblas'].prefix), self.define('YAML_INC_DIR', self.spec['yaml-cpp'].prefix.include), - self.define('YAML_LIB_DIR', self.spec['yaml-cpp'].libs.directories[0]) + self.define('YAML_LIB_DIR', self.spec['yaml-cpp'].libs.directories[0]), ] + if self.spec.satisfies('@4.5.0:'): + args.append(self.define('UT_INC', self.spec['googletest'].prefix.include)) + args.append(self.define('UT_LIB', self.spec['googletest'].prefix.lib64)) + return args diff --git a/var/spack/repos/builtin/packages/rocminfo/package.py b/var/spack/repos/builtin/packages/rocminfo/package.py index e1ee5b74ee..335573ad31 100644 --- a/var/spack/repos/builtin/packages/rocminfo/package.py +++ b/var/spack/repos/builtin/packages/rocminfo/package.py @@ -17,6 +17,7 @@ class Rocminfo(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] version('master', branch='master') + version('4.5.0', sha256='421ed55192780eb478f0341fd1ce47a0dd3ffafbec9d7a02109a411878a58ee5') version('4.3.1', sha256='d042947d3f29e943a2e3294a2a2d759ca436cebe31151ce048e49bc4f02d6993') version('4.3.0', sha256='2cc1f251c0ed9c3ea413cc15cb5ce11559e4497540eebbf5e8dcfd52b03e53d1') version('4.2.0', sha256='6952b6e28128ab9f93641f5ccb66201339bb4177bb575b135b27b69e2e241996') @@ -33,7 +34,7 @@ class Rocminfo(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1', 'master']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0', 'master']: depends_on('hsakmt-roct@' + ver, when='@' + ver) depends_on('hsa-rocr-dev@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocprim/package.py b/var/spack/repos/builtin/packages/rocprim/package.py index 4f7b9e9a89..4b2f542643 100644 --- a/var/spack/repos/builtin/packages/rocprim/package.py +++ b/var/spack/repos/builtin/packages/rocprim/package.py @@ -15,6 +15,7 @@ class Rocprim(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.5.0', sha256='6f0ca1da9a93064af662d6c61fbdb56bb313f8edca85615ead0dd284eb481089') version('4.3.1', sha256='d29ffcb5dd1c6155c586b9952fa4c11b717d90073feb083db6b03ea74746194b') version('4.3.0', sha256='f6cf53b5fa07a0d6f508e39c7da5b11f562c0cac4b041ec5c41a8fc733f707c7') version('4.2.0', sha256='3932cd3a532eea0d227186febc56747dd95841732734d9c751c656de9dd770c8') @@ -32,7 +33,7 @@ class Rocprim(CMakePackage): depends_on('numactl', type='link', when='@3.7.0:') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('comgr@' + ver, when='@' + ver) depends_on('hsa-rocr-dev@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocprofiler-dev/package.py b/var/spack/repos/builtin/packages/rocprofiler-dev/package.py index 558a4b63ea..169926f1ec 100644 --- a/var/spack/repos/builtin/packages/rocprofiler-dev/package.py +++ b/var/spack/repos/builtin/packages/rocprofiler-dev/package.py @@ -12,10 +12,10 @@ class RocprofilerDev(CMakePackage): homepage = "https://github.com/ROCm-Developer-Tools/rocprofiler" git = "https://github.com/ROCm-Developer-Tools/rocprofiler.git" - url = "https://github.com/ROCm-Developer-Tools/rocprofiler/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/ROCm-Developer-Tools/rocprofiler/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] - + version('4.5.0', sha256='9b47b086d28fc831dbe0f83ec7e4640057b97edc961f2f050a0968633f32a06b') version('4.3.1', sha256='c6f5fa192c9cdb32553d24ed5c847107d312042e39fa3dd17c83e237c9542a2d') version('4.3.0', sha256='3b876a0e601d2c6ae56ddf2a6027afe45b3533f4445b0c2da748d020b6b00cf2') version('4.2.0', sha256='c5888eda1404010f88219055778cfeb00d9c21901e172709708720008b1af80f') @@ -31,7 +31,7 @@ class RocprofilerDev(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('hsakmt-roct@' + ver, when='@' + ver) depends_on('hsa-rocr-dev@' + ver, when='@' + ver) depends_on('rocminfo@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocrand/package.py b/var/spack/repos/builtin/packages/rocrand/package.py index ddff08970e..047d1cc8e4 100644 --- a/var/spack/repos/builtin/packages/rocrand/package.py +++ b/var/spack/repos/builtin/packages/rocrand/package.py @@ -19,6 +19,7 @@ class Rocrand(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.5.0', sha256='fd391f81b9ea0b57808d93e8b72d86eec1b4c3529180dfb99ed6d3e2aa1285c2') version('4.3.1', sha256='b3d6ae0cdbbdfb56a73035690f8cb9e173fec1ccaaf9a4c5fdbe5e562e50c901') version('4.3.0', sha256='a85ced6c155befb7df8d58365518f4d9afc4407ee4e01d4640b5fd94604ca3e0') version('4.2.0', sha256='15725c89e9cc9cc76bd30415fd2c0c5b354078831394ab8b23fe6633497b92c8') @@ -36,15 +37,9 @@ class Rocrand(CMakePackage): depends_on('numactl', when='@3.7.0:') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: - depends_on('hip@' + ver, type='build', when='@' + ver) - depends_on('comgr@' + ver, type='build', when='@' + ver) - depends_on('llvm-amdgpu@' + ver, type='build', when='@' + ver) - depends_on('rocminfo@' + ver, type='build', when='@' + ver) - depends_on('hsa-rocr-dev@' + ver, type='build', when='@' + ver) + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: + depends_on('hip@' + ver, when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) - for ver in ['4.1.0', '4.2.0', '4.3.0', '4.3.1']: - depends_on('hip-rocclr@' + ver, when='@' + ver) def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) diff --git a/var/spack/repos/builtin/packages/rocsolver/package.py b/var/spack/repos/builtin/packages/rocsolver/package.py index f5273f545a..58180fd145 100644 --- a/var/spack/repos/builtin/packages/rocsolver/package.py +++ b/var/spack/repos/builtin/packages/rocsolver/package.py @@ -12,7 +12,7 @@ class Rocsolver(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/rocSOLVER" git = "https://github.com/ROCmSoftwarePlatform/rocSOLVER.git" - url = "https://github.com/ROCmSoftwarePlatform/rocSOLVER/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/rocSOLVER/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] @@ -26,6 +26,7 @@ class Rocsolver(CMakePackage): size and compile time by adding specialized kernels \ for small matrix sizes') + version('4.5.0', sha256='0295862da941f31f4d43b19195b79331bd17f5968032f75c89d2791a6f8c1e8c') version('4.3.1', sha256='c6e7468d7041718ce6e1c7f50ec80a552439ac9cfed2dc3f753ae417dda5724f') version('4.3.0', sha256='63cc88dd285c0fe01ec2394321ec3b4e1e59bb98ce05b06e4b4d8fadcf1ff028') version('4.2.0', sha256='e9ef72d7c29e7c36bf02be63a64ca23b444e1ca71751749f7d66647873d9fdea') @@ -41,18 +42,19 @@ class Rocsolver(CMakePackage): depends_on('cmake@3.8:', type='build', when='@4.1.0:') depends_on('cmake@3.5:', type='build') + depends_on('fmt@7.1.3:', type='build', when='@4.5.0:') depends_on('googletest@1.10.0:', type='test') depends_on('netlib-lapack@3.7.1:', type='test') - patch('link-clients-blas.patch', when='@4.3.0:') + patch('link-clients-blas.patch', when='@4.3.0:4.3.2') def check(self): exe = join_path(self.build_directory, 'clients', 'staging', 'rocsolver-test') self.run_test(exe, options=['--gtest_filter=checkin*']) for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('rocblas@' + ver, when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) @@ -84,6 +86,9 @@ class Rocsolver(CMakePackage): if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) + if self.spec.satisfies('@4.5.0:'): + args.append(self.define('ROCSOLVER_EMBED_FMT', 'ON')) + return args def setup_build_environment(self, env): diff --git a/var/spack/repos/builtin/packages/rocsparse/package.py b/var/spack/repos/builtin/packages/rocsparse/package.py index 8fe9f6bb04..65d264b104 100644 --- a/var/spack/repos/builtin/packages/rocsparse/package.py +++ b/var/spack/repos/builtin/packages/rocsparse/package.py @@ -21,6 +21,7 @@ class Rocsparse(CMakePackage): variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type') + version('4.5.0', sha256='b120e9e17e7e141caee4c8c4288c9d1902bad0cec2ea76458d3ba11343376938') version('4.3.1', sha256='fa5ea64f71e1cfbebe41618cc183f501b387824a6dc58486ab1214d7af5cbef2') version('4.3.0', sha256='1a8109bdc8863b3acfe991449360c9361cae7cabdbe753c553bc57872cd0ad5e') version('4.2.0', sha256='8a86ed49d278e234c82e406a1430dc28f50d416f8f1065cf5bdf25cc5721129c') @@ -35,7 +36,7 @@ class Rocsparse(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('rocprim@' + ver, when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocthrust/package.py b/var/spack/repos/builtin/packages/rocthrust/package.py index b8cecb200e..763afdf1e0 100644 --- a/var/spack/repos/builtin/packages/rocthrust/package.py +++ b/var/spack/repos/builtin/packages/rocthrust/package.py @@ -14,10 +14,11 @@ class Rocthrust(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/rocThrust" git = "https://github.com/ROCmSoftwarePlatform/rocThrust.git" - url = "https://github.com/ROCmSoftwarePlatform/rocThrust/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/rocThrust/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.5.0', sha256='86cf897b01a6f5df668d978ce42d44a6ae9df9f8adc92d0a1a49a7c3bbead259') version('4.3.1', sha256='86fcd3bc275efe9a485aed48afdc6d3351804c076caee43e3fb8bd69752865e9') version('4.3.0', sha256='a50eb6500687b4ea9e0b3affb1daff8bbc56199d39fbed3ee61d2d5bfc1a0271') version('4.2.0', sha256='da2b6c831c26c26058218b0c5b7b2e43fd7f0dac3b2e3a8e39a839145592c727') @@ -35,7 +36,7 @@ class Rocthrust(CMakePackage): depends_on('numactl', when='@3.7.0:') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('rocprim@' + ver, when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) diff --git a/var/spack/repos/builtin/packages/roctracer-dev-api/package.py b/var/spack/repos/builtin/packages/roctracer-dev-api/package.py index 7388d869bd..93efd2431c 100644 --- a/var/spack/repos/builtin/packages/roctracer-dev-api/package.py +++ b/var/spack/repos/builtin/packages/roctracer-dev-api/package.py @@ -17,6 +17,7 @@ class RoctracerDevApi(Package): maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.5.0', sha256='83dcd8987e129b14da0fe74e24ce8d027333f8fedc9247a402d3683765983296') version('4.3.1', sha256='88ada5f256a570792d1326a305663e94cf2c3b0cbd99f7e745326923882dafd2') version('4.3.0', sha256='c3d9f408df8d4dc0e9c0026217b8c684f68e775da80b215fecb3cd24419ee6d3') version('4.2.0', sha256='62a9c0cb1ba50b1c39a0636c886ac86e75a1a71cbf5fec05801517ceb0e67a37') diff --git a/var/spack/repos/builtin/packages/roctracer-dev/package.py b/var/spack/repos/builtin/packages/roctracer-dev/package.py index f7fbc2dd55..882da30854 100644 --- a/var/spack/repos/builtin/packages/roctracer-dev/package.py +++ b/var/spack/repos/builtin/packages/roctracer-dev/package.py @@ -14,9 +14,11 @@ class RoctracerDev(CMakePackage): homepage = "https://github.com/ROCm-Developer-Tools/roctracer" git = "https://github.com/ROCm-Developer-Tools/roctracer.git" - url = "https://github.com/ROCm-Developer-Tools/roctracer/archive/rocm-4.3.0.tar.gz" + url = "https://github.com/ROCm-Developer-Tools/roctracer/archive/rocm-4.5.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + + version('4.5.0', sha256='83dcd8987e129b14da0fe74e24ce8d027333f8fedc9247a402d3683765983296') version('4.3.1', sha256='88ada5f256a570792d1326a305663e94cf2c3b0cbd99f7e745326923882dafd2') version('4.3.0', sha256='c3d9f408df8d4dc0e9c0026217b8c684f68e775da80b215fecb3cd24419ee6d3') version('4.2.0', sha256='62a9c0cb1ba50b1c39a0636c886ac86e75a1a71cbf5fec05801517ceb0e67a37') @@ -36,13 +38,13 @@ class RoctracerDev(CMakePackage): depends_on('py-cppheaderparser', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', '4.3.0', '4.3.1']: + '4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('hsakmt-roct@' + ver, when='@' + ver) depends_on('hsa-rocr-dev@' + ver, when='@' + ver) depends_on('rocminfo@' + ver, when='@' + ver) depends_on('hip@' + ver, when='@' + ver) - for ver in ['4.2.0', '4.3.0', '4.3.1']: + for ver in ['4.2.0', '4.3.0', '4.3.1', '4.5.0']: depends_on('rocprofiler-dev@' + ver, when='@' + ver) def setup_build_environment(self, build_env): @@ -58,9 +60,14 @@ class RoctracerDev(CMakePackage): match = '^#!/usr/bin/python[23]' python = self.spec['python'].command.path substitute = "#!{python}".format(python=python) - files = [ - 'check_trace.py', 'gen_ostream_ops.py', 'hsaap.py', 'kfdap.py' - ] + if self.spec.satisfies('@:4.3.2'): + files = [ + 'check_trace.py', 'gen_ostream_ops.py', 'hsaap.py', 'kfdap.py' + ] + else: + files = [ + 'check_trace.py', 'gen_ostream_ops.py', 'hsaap.py' + ] filter_file(match, substitute, *files, **kwargs) def cmake_args(self): |