ROCm 3.8 Stage1 Components (#18830)

* ROCm 3.8 Stage1 Components

* version review comments

* 3.5 dependency restrictions

Co-authored-by: root <root@mlseqa-hyd-virt-srv-07.amd.com>
This commit is contained in:
Ganesh Kumar 2020-09-22 21:39:03 +05:30 committed by GitHub
parent 7d0ae0f295
commit 9e906e2d47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 52 additions and 38 deletions

View File

@ -12,24 +12,23 @@ class Comgr(CMakePackage):
contains one library, the Code Object Manager (Comgr)"""
homepage = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
url = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-3.5.0.tar.gz"
url = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-3.8.0.tar.gz"
maintainers = ['srekolam', 'arjun-raj-kuppala']
version('3.8.0', sha256='62a35480dfabaa98883d91ed0f7c490daa9bbd424af37e07e5d85a6e8030b146')
version('3.7.0', sha256='73e56ec3c63dade24ad351e9340e2f8e127694028c1fb7cec5035376bf098432')
version('3.5.0', sha256='25c963b46a82d76d55b2302e0e18aac8175362656a465549999ad13d07b689b9')
variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
depends_on('zlib', type='link')
depends_on('z3', type='link')
depends_on('ncurses', type='link')
depends_on('cmake@3:', type='build')
for ver in ['3.5.0', '3.7.0']:
for ver in ['3.5.0', '3.7.0', '3.8.0']:
depends_on('llvm-amdgpu@' + ver, type='build', when='@' + ver)
depends_on('rocm-device-libs@' + ver, type='build', when='@' + ver)
depends_on('rocm-cmake@' + ver, type='build', when='@' + ver)
depends_on('zlib', type='link')
depends_on('z3', type='link')
depends_on('ncurses', type='link')
root_cmakelists_dir = 'lib/comgr'

View File

@ -13,10 +13,11 @@ class Hip(CMakePackage):
single source code."""
homepage = "https://github.com/ROCm-Developer-Tools/HIP"
url = "https://github.com/ROCm-Developer-Tools/HIP/archive/rocm-3.5.0.tar.gz"
url = "https://github.com/ROCm-Developer-Tools/HIP/archive/rocm-3.8.0.tar.gz"
maintainers = ['srekolam', 'arjun-raj-kuppala']
version('3.8.0', sha256='6450baffe9606b358a4473d5f3e57477ca67cff5843a84ee644bcf685e75d839')
version('3.7.0', sha256='757b392c3beb29beea27640832fbad86681dbd585284c19a4c2053891673babd')
version('3.5.0', sha256='ae8384362986b392288181bcfbe5e3a0ec91af4320c189bd83c844ed384161b3')
@ -24,7 +25,7 @@ class Hip(CMakePackage):
depends_on('perl@5.10:', type=('build', 'run'))
depends_on('mesa~llvm@18.3:')
for ver in ['3.5.0', '3.7.0']:
for ver in ['3.5.0', '3.7.0', '3.8.0']:
depends_on('rocclr@' + ver, type='build', when='@' + ver)
depends_on('hsakmt-roct@' + ver, type='build', when='@' + ver)
depends_on('hsa-rocr-dev@' + ver, type='link', when='@' + ver)
@ -66,7 +67,7 @@ def patch(self):
'hip-config.cmake.in', string=True)
def flag_handler(self, name, flags):
if name == 'cxxflags' and '@3.7.0' in self.spec:
if name == 'cxxflags' and '@3.7.0:' in self.spec:
incl = self.spec['rocclr'].prefix.include
flags.append('-I {0}/compiler/lib/include'.format(incl))

View File

@ -14,25 +14,26 @@ class HsaRocrDev(CMakePackage):
Linux HSA Runtime for Boltzmann (ROCm) platforms."""
homepage = "https://github.com/RadeonOpenCompute/ROCR-Runtime"
url = "https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-3.5.0.tar.gz"
url = "https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-3.8.0.tar.gz"
maintainers = ['srekolam', 'arjun-raj-kuppala']
version('3.8.0', sha256='1dfad4d89d6c099e15073ed38e083bcf6cc463470dcc8a1e1b9e22060c060c72')
version('3.7.0', sha256='0071d14431f73ce74574e61d0786f2b7cf34b14ea898a1f54b6e1b06b2d468c0')
version('3.5.0', sha256='52c12eec3e3404c0749c70f156229786ee0c3e6d3c979aed9bbaea500fa1f3b8')
variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
for ver in ['3.5.0', '3.7.0']:
depends_on('hsakmt-roct@' + ver, type=('link', 'run'), when='@' + ver)
depends_on('llvm-amdgpu@3.7.0', when='@3.7.0')
depends_on('libelf@0.8:', type='link')
depends_on('cmake@3:', type="build")
depends_on('libelf@0.8:', type='link')
for ver in ['3.5.0', '3.7.0', '3.8.0']:
depends_on('hsakmt-roct@' + ver, type=('link', 'run'), when='@' + ver)
if '@3.7.0:' in ver:
depends_on('llvm-amdgpu@' + ver, type=('link', 'run'), when='@' + ver)
# Both 3.5.0 and 3.7.0 force INSTALL_RPATH in different ways
patch('0001-Do-not-set-an-explicit-rpath-by-default-since-packag.patch', when='@3.5.0')
patch('0002-Remove-explicit-RPATH-again.patch', when='@3.7.0')
patch('0002-Remove-explicit-RPATH-again.patch', when='@3.7.0:')
root_cmakelists_dir = 'src'
@ -40,7 +41,7 @@ def cmake_args(self):
libelf_include = self.spec['libelf'].prefix.include.libelf
args = ['-DLIBELF_INCLUDE_DIRS=%s' % libelf_include]
if '@3.7.0' in self.spec:
if '@3.7.0:' in self.spec:
args.append('-DIMAGE_SUPPORT=OFF')
return args

View File

@ -13,10 +13,11 @@ class HsakmtRoct(CMakePackage):
with the ROCk driver."""
homepage = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
url = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-3.5.0.tar.gz"
url = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-3.8.0.tar.gz"
maintainers = ['srekolam', 'arjun-raj-kuppala']
version('3.8.0', sha256='cd5440f31f592737b5d05448704bd01f91f73cfcab8a7829922e81332575cfe8')
version('3.7.0', sha256='b357fe7f425996c49f41748923ded1a140933de7564a70a828ed6ded6d896458')
version('3.5.0', sha256='d9f458c16cb62c3c611328fd2f2ba3615da81e45f3b526e45ff43ab4a67ee4aa')

View File

@ -12,10 +12,11 @@ class LlvmAmdgpu(CMakePackage):
optimizers, and run-time environments."""
homepage = "https://github.com/RadeonOpenCompute/llvm-project"
url = "https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-3.5.0.tar.gz"
url = "https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-3.8.0.tar.gz"
maintainers = ['srekolam', 'arjun-raj-kuppala']
version('3.8.0', sha256='93a28464a4d0c1c9f4ba55e473e5d1cde4c5c0e6d087ec8a0a3aef1f5f5208e8')
version('3.7.0', sha256='3e2542ce54b91b5c841f33d542143e0e43eae95e8785731405af29f08ace725b')
version('3.5.0', sha256='4878fa85473b24d88edcc89938441edc85d2e8a785e567b7bd7ce274ecc2fd9c')

View File

@ -24,21 +24,19 @@ def url_for_version(self, version):
url = "https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-{0}.tar.gz"
return url.format(version)
version('3.8.0', sha256='10d8aa6f5af7b51813015da603c4e75edc863c3530793f6ed9769ca345c08ed6')
version('3.7.0', sha256='a49f464bb2eab6317e87e3cc249aba3b2517a34fbdfe50175f0437f69a219adc')
version('3.5.0', sha256='87c1ee9f02b8aa487b628c543f058198767c474cec3d21700596a73c028959e1')
depends_on('cmake@3:', type='build')
for ver in ['3.5.0', '3.7.0']:
depends_on('mesa~llvm@18.3:', type='link')
depends_on('libelf', type='link', when="@3.7.0:")
depends_on('numactl', type='link', when="@3.7.0:")
for ver in ['3.5.0', '3.7.0', '3.8.0']:
depends_on('hsakmt-roct@' + ver, type='build', when='@' + ver)
depends_on('hsa-rocr-dev@' + ver, type='build', when='@' + ver)
depends_on('comgr@' + ver, type='build', when='@' + ver)
depends_on('libelf', type='link', when='@3.7.0')
depends_on('numactl', type='link', when='@3.7.0')
depends_on('mesa~llvm@18.3:', type='link')
# See: https://github.com/ROCm-Developer-Tools/ROCclr/pull/16
# In 3.7.0 the find opengl things have changed slightly.
patch('opengl.patch', when='@3.5.0')
@ -59,6 +57,14 @@ def url_for_version(self, version):
placement='opencl-on-vdi',
when='@3.7.0')
resource(name='opencl-on-vdi',
url='https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-3.8.0.tar.gz',
sha256='7f75dd1abf3d771d554b0e7b0a7d915ab5f11a74962c92b013ee044a23c1270a',
expand=True,
destination='',
placement='opencl-on-vdi',
when='@3.8.0')
@run_after('install')
def deploy_missing_files(self):
if '@3.5.0' in self.spec:
@ -70,8 +76,7 @@ def deploy_missing_files(self):
'amdrocclr_staticTargets.cmake')
filter_file(self.build_directory, self.prefix.lib, cmakefile)
install(cmakefile, self.prefix.lib)
if '@3.7.0' in self.spec:
else:
path = join_path(self.prefix.lib,
'cmake/rocclr/ROCclrConfig.cmake')
filter_file(self.build_directory, self.prefix, path)

View File

@ -11,10 +11,11 @@ class RocmBandwidthTest(CMakePackage):
"""Test to measure PciE bandwidth on ROCm platforms"""
homepage = "https://github.com/RadeonOpenCompute/rocm_bandwidth_test"
url = "https://github.com/RadeonOpenCompute/rocm_bandwidth_test/archive/rocm-3.5.0.tar.gz"
url = "https://github.com/RadeonOpenCompute/rocm_bandwidth_test/archive/rocm-3.8.0.tar.gz"
maintainers = ['srekolam', 'arjun-raj-kuppala']
version('3.8.0', sha256='7de71a2ba17bbeea9107f2e9e65729f507234d6cbbb44f251240d64683027497')
version('3.7.0', sha256='9aa1d4b7b01ee4d443effc76ed5f6f43a051fd815692b59dfccf0ecbfeaeed03')
version('3.5.0', sha256='fbb63fb8713617fd167d9c1501acbd92a6b189ee8e1a8aed668fa6666baae389')
@ -22,7 +23,7 @@ class RocmBandwidthTest(CMakePackage):
depends_on('cmake@3:', type='build')
for ver in ['3.5.0', '3.7.0']:
for ver in ['3.5.0', '3.7.0', '3.8.0']:
depends_on('hsa-rocr-dev@' + ver, type='link', when='@' + ver)
depends_on('hsakmt-roct@' + ver, type='build', when='@' + ver)

View File

@ -12,10 +12,11 @@ class RocmCmake(CMakePackage):
needed for the ROCM software stack"""
homepage = "https://github.com/RadeonOpenCompute/rocm-cmake"
url = "https://github.com/RadeonOpenCompute/rocm-cmake/archive/rocm-3.5.0.tar.gz"
url = "https://github.com/RadeonOpenCompute/rocm-cmake/archive/rocm-3.8.0.tar.gz"
maintainers = ['srekolam', 'arjun-raj-kuppala']
version('3.8.0', sha256='9e4be93c76631224eb49b2fa30b0d14c1b3311a6519c8b393da96ac0649d9f30')
version('3.7.0', sha256='51abfb06124c2e0677c4d6f7fe83c22fe855cb21386f0053ace09f8ab297058b')
version('3.5.0', sha256='5fc09e168879823160f5fdf4fd1ace2702d36545bf733e8005ed4ca18c3e910f')

View File

@ -11,17 +11,18 @@ class RocmDeviceLibs(CMakePackage):
"""set of AMD specific device-side language runtime libraries"""
homepage = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
url = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-3.5.0.tar.gz"
url = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-3.8.0.tar.gz"
maintainers = ['srekolam', 'arjun-raj-kuppala']
version('3.8.0', sha256='e82cc9a8eb7d92de02cabb856583e28f17a05c8cf9c97aec5275608ef1a38574')
version('3.7.0', sha256='b3a114180bf184b3b829c356067bc6a98021d52c1c6f9db6bc57272ebafc5f1d')
version('3.5.0', sha256='dce3a4ba672c4a2da4c2260ee4dc96ff6dd51877f5e7e1993cb107372a35a378')
variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
depends_on('cmake@3:', type='build')
for ver in ['3.5.0', '3.7.0']:
for ver in ['3.5.0', '3.7.0', '3.8.0']:
depends_on('llvm-amdgpu@' + ver, type='build', when='@' + ver)
depends_on('rocm-cmake@' + ver, type='build', when='@' + ver)

View File

@ -13,10 +13,11 @@ class RocmSmiLib(CMakePackage):
for applications to monitor and control GPU applications."""
homepage = "https://github.com/RadeonOpenCompute/rocm_smi_lib"
url = "https://github.com/RadeonOpenCompute/rocm_smi_lib/archive/rocm-3.7.0.tar.gz"
url = "https://github.com/RadeonOpenCompute/rocm_smi_lib/archive/rocm-3.8.0.tar.gz"
maintainers = ['srekolam', 'arjun-raj-kuppala']
version('3.8.0', sha256='86250c9ae9dfb18d4f7259a5f2f09b21574d4996fe5034a739ce63a27acd0082')
version('3.7.0', sha256='72d2a3deda0b55a2d92833cd648f50c7cb64f8341b254a0badac0152b26f1391')
version('3.5.0', sha256='a5d2ec3570d018b60524f0e589c4917f03d26578443f94bde27a170c7bb21e6e')

View File

@ -13,10 +13,11 @@ class RocmSmi(MakefilePackage):
management of your ROCm enabled system"""
homepage = "https://github.com/RadeonOpenCompute/ROC-smi"
url = "https://github.com/RadeonOpenCompute/ROC-smi/archive/rocm-3.7.0.tar.gz"
url = "https://github.com/RadeonOpenCompute/ROC-smi/archive/rocm-3.8.0.tar.gz"
maintainers = ['srekolam', 'arjun-raj-kuppala']
version('3.8.0', sha256='248d9bddc3353c74defd57f203df0648278a4613f2af7fb838d92a4bc8de575d')
version('3.7.0', sha256='4e34b3b4e409bb89677882f47d9988d56bc2d9bb9893f0712c22a4b73789e06a')
version('3.5.0', sha256='4f46e947c415a4ac12b9f6989f15a42afe32551706b4f48476fba3abf92e8e7c')

View File

@ -11,16 +11,17 @@ class Rocminfo(CMakePackage):
"""Radeon Open Compute (ROCm) Runtime rocminfo tool"""
homepage = "https://github.com/RadeonOpenCompute/rocminfo"
url = "https://github.com/RadeonOpenCompute/rocminfo/archive/rocm-3.5.0.tar.gz"
url = "https://github.com/RadeonOpenCompute/rocminfo/archive/rocm-3.8.0.tar.gz"
maintainers = ['srekolam', 'arjun-raj-kuppala']
version('3.8.0', sha256='c135dc98ecb5f420e22a6efd2f461ba9ed90be3f42e2ac29356e05c6a0706f8f')
version('3.7.0', sha256='86a8e3ce7d91fb2d79688a22a2805757c83922d9f17ea7ea1cb41bf9516197ea')
version('3.5.0', sha256='1d113f06b7c9b60d0e92b2c12c0c704a565696867496fe7038e5dddd510567b7')
depends_on('cmake@3:', type='build')
for ver in ['3.5.0', '3.7.0']:
for ver in ['3.5.0', '3.7.0', '3.8.0']:
depends_on('hsakmt-roct@' + ver, type='build', when='@' + ver)
depends_on('hsa-rocr-dev@' + ver, type='build', when='@' + ver)