Update the rocm recipes for 4.5.0 release (#27535)

* rocm recipes updates for 4.5.0

* update to rocm recipes for 4.5.0 release

* updates to the rocm recipes for rocm-4.5.0 release

* fix style errors

* update to rocm-validation-suite for rocm-4.5.0 release

* bump up rccl recipe for rocm-4.5.0

* bump up version for rdc for rocm-4.5.0

* update miopengemm, miopen-opencl,rocm-opencl recipes for 4.5.0 release

* bump up version for mivisiox for rocm-4.5.0 release

* update the rocm-validation-suite recipe

* no need to change the perl path for 4.5.0

* fix the build failure with the recent change made for hip package

* modify checksum for the llvm-amdgpu for 4.5.0

* fix the build issue aftere recent changes made for enabling test

* fix the build issue with 4.5.0

* add new recipe for hipsolver

* address review comments
This commit is contained in:
Sreenivasa Murthy Kolam 2022-01-06 13:24:00 -08:00 committed by GitHub
parent 186730a284
commit 94bd667ba6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
49 changed files with 684 additions and 120 deletions

View File

@ -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)

View File

@ -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)

View File

@ -26,6 +26,7 @@ def url_for_version(self, version):
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 @@ def url_for_version(self, version):
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 @@ def url_for_version(self, version):
# 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 @@ def url_for_version(self, version):
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 @@ def deploy_missing_files(self):
'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)

View File

@ -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()

View File

@ -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 @@ def setup_dependent_package(self, module, dependent_spec):
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 @@ def patch(self):
'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 @@ def patch(self):
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 @@ def flag_handler(self, name, flags):
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 @@ def cmake_args(self):
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

View File

@ -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} )

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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')

View File

@ -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)

View File

@ -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):

View File

@ -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 @@ def cmake_args(self):
'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 @@ def cmake_args(self):
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 @@ def cmake_args(self):
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 @@ def cmake_args(self):
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()

View File

@ -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})

View File

@ -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 @@ def url_for_version(self, version):
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 @@ def url_for_version(self, version):
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)

View File

@ -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)

View File

@ -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):

View File

@ -22,6 +22,7 @@ def url_for_version(self, version):
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 @@ def url_for_version(self, version):
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)

View File

@ -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 @@ def url_for_version(self, version):
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 @@ def patch(self):
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 @@ def flag_handler(self, name, flags):
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

View File

@ -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

View File

@ -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 @@ def cmake_args(self):
if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
args.append(self.define('__skip_rocmclang', 'ON'))
if self.spec.satisfies('@4.5.0:'):
args.append(self.define('ROCM_SMI_DIR', self.spec['rocm-smi-lib'].prefix))
return args

View File

@ -22,6 +22,7 @@ def url_for_version(self, version):
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 @@ def url_for_version(self, version):
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):

View File

@ -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):

View File

@ -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 @@ def setup_build_environment(self, env):
def get_gpulist_for_tensile_support(self):
arch = self.spec.variants['tensile_architecture'].value
if arch[0] == 'all':
if self.spec.satisfies('@:4.0.0'):
arch_value = self.tensile_architecture[1: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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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')

View File

@ -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)

View File

@ -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 @@ def url_for_version(self, version):
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)

View File

@ -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)

View File

@ -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)

View File

@ -21,6 +21,8 @@ def url_for_version(self, version):
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 @@ def url_for_version(self, version):
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 @@ def flag_handler(self, name, flags):
# 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 @@ def flag_handler(self, name, flags):
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):

View File

@ -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')

View File

@ -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'

View File

@ -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

View File

@ -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 @@ def setup_build_environment(self, build_env):
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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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 @@ def cmake_args(self):
if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
args.append(self.define('__skip_rocmclang', 'ON'))
if self.spec.satisfies('@4.5.0:'):
args.append(self.define('ROCSOLVER_EMBED_FMT', 'ON'))
return args
def setup_build_environment(self, env):

View File

@ -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)

View File

@ -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)

View File

@ -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')

View File

@ -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 @@ def patch(self):
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):