From 9e906e2d474c2a95182eb9b1615b10e624293dee Mon Sep 17 00:00:00 2001 From: Ganesh Kumar <46193450+gkathirv@users.noreply.github.com> Date: Tue, 22 Sep 2020 21:39:03 +0530 Subject: ROCm 3.8 Stage1 Components (#18830) * ROCm 3.8 Stage1 Components * version review comments * 3.5 dependency restrictions Co-authored-by: root --- var/spack/repos/builtin/packages/comgr/package.py | 13 ++++++------ var/spack/repos/builtin/packages/hip/package.py | 7 ++++--- .../repos/builtin/packages/hsa-rocr-dev/package.py | 17 ++++++++-------- .../repos/builtin/packages/hsakmt-roct/package.py | 3 ++- .../repos/builtin/packages/llvm-amdgpu/package.py | 3 ++- var/spack/repos/builtin/packages/rocclr/package.py | 23 +++++++++++++--------- .../packages/rocm-bandwidth-test/package.py | 5 +++-- .../repos/builtin/packages/rocm-cmake/package.py | 3 ++- .../builtin/packages/rocm-device-libs/package.py | 5 +++-- .../repos/builtin/packages/rocm-smi-lib/package.py | 3 ++- .../repos/builtin/packages/rocm-smi/package.py | 3 ++- .../repos/builtin/packages/rocminfo/package.py | 5 +++-- 12 files changed, 52 insertions(+), 38 deletions(-) diff --git a/var/spack/repos/builtin/packages/comgr/package.py b/var/spack/repos/builtin/packages/comgr/package.py index 0a9f282cee..71f912d532 100644 --- a/var/spack/repos/builtin/packages/comgr/package.py +++ b/var/spack/repos/builtin/packages/comgr/package.py @@ -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' diff --git a/var/spack/repos/builtin/packages/hip/package.py b/var/spack/repos/builtin/packages/hip/package.py index 0c0029ab27..33fc0cd737 100644 --- a/var/spack/repos/builtin/packages/hip/package.py +++ b/var/spack/repos/builtin/packages/hip/package.py @@ -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 @@ class Hip(CMakePackage): '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)) diff --git a/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py index 0f3796f8f5..745f84daca 100644 --- a/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py +++ b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py @@ -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 @@ class HsaRocrDev(CMakePackage): 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 diff --git a/var/spack/repos/builtin/packages/hsakmt-roct/package.py b/var/spack/repos/builtin/packages/hsakmt-roct/package.py index 2bf427ecf7..12aaf21975 100644 --- a/var/spack/repos/builtin/packages/hsakmt-roct/package.py +++ b/var/spack/repos/builtin/packages/hsakmt-roct/package.py @@ -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') diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py index 0846fd82a4..7d32ecfbe9 100644 --- a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py +++ b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py @@ -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') diff --git a/var/spack/repos/builtin/packages/rocclr/package.py b/var/spack/repos/builtin/packages/rocclr/package.py index c01ecd13e3..3c05380171 100644 --- a/var/spack/repos/builtin/packages/rocclr/package.py +++ b/var/spack/repos/builtin/packages/rocclr/package.py @@ -24,21 +24,19 @@ class Rocclr(CMakePackage): 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 @@ class Rocclr(CMakePackage): 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 @@ class Rocclr(CMakePackage): '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) diff --git a/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py b/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py index d3a94f09e3..26428ed29c 100644 --- a/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py +++ b/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py @@ -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) diff --git a/var/spack/repos/builtin/packages/rocm-cmake/package.py b/var/spack/repos/builtin/packages/rocm-cmake/package.py index b82d717a52..2a280fdbd2 100644 --- a/var/spack/repos/builtin/packages/rocm-cmake/package.py +++ b/var/spack/repos/builtin/packages/rocm-cmake/package.py @@ -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') diff --git a/var/spack/repos/builtin/packages/rocm-device-libs/package.py b/var/spack/repos/builtin/packages/rocm-device-libs/package.py index 6ebcd0e14f..c98d4a15b0 100644 --- a/var/spack/repos/builtin/packages/rocm-device-libs/package.py +++ b/var/spack/repos/builtin/packages/rocm-device-libs/package.py @@ -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) diff --git a/var/spack/repos/builtin/packages/rocm-smi-lib/package.py b/var/spack/repos/builtin/packages/rocm-smi-lib/package.py index d45818c071..cfcff16908 100644 --- a/var/spack/repos/builtin/packages/rocm-smi-lib/package.py +++ b/var/spack/repos/builtin/packages/rocm-smi-lib/package.py @@ -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') diff --git a/var/spack/repos/builtin/packages/rocm-smi/package.py b/var/spack/repos/builtin/packages/rocm-smi/package.py index f4c6fc596e..41af3c319b 100644 --- a/var/spack/repos/builtin/packages/rocm-smi/package.py +++ b/var/spack/repos/builtin/packages/rocm-smi/package.py @@ -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') diff --git a/var/spack/repos/builtin/packages/rocminfo/package.py b/var/spack/repos/builtin/packages/rocminfo/package.py index 70ef3a6120..870b54be6c 100644 --- a/var/spack/repos/builtin/packages/rocminfo/package.py +++ b/var/spack/repos/builtin/packages/rocminfo/package.py @@ -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) -- cgit v1.2.3-60-g2f50