Add rocm 3.7.0 libs (#18366)
* Add rocm 3.7.0 libs * Make 3.7.0-only dependency on numactl explicit * Add rocm-device-libs dep to rocm-clang-ocl * Update the cmakelists dir in rocm-debug-agant * Make rocm-debug-agent work on 3.7.0 * Disable tensile host; following rocm-arch recommendations
This commit is contained in:
		| @@ -16,13 +16,14 @@ class Comgr(CMakePackage): | ||||
| 
 | ||||
|     maintainers = ['srekolam', 'arjun-raj-kuppala'] | ||||
| 
 | ||||
|     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('cmake@3:', type='build') | ||||
| 
 | ||||
|     for ver in ['3.5.0']: | ||||
|     for ver in ['3.5.0', '3.7.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) | ||||
|   | ||||
| @@ -17,11 +17,14 @@ class Hip(CMakePackage): | ||||
| 
 | ||||
|     maintainers = ['srekolam', 'arjun-raj-kuppala'] | ||||
| 
 | ||||
|     version('3.7.0', sha256='757b392c3beb29beea27640832fbad86681dbd585284c19a4c2053891673babd') | ||||
|     version('3.5.0', sha256='ae8384362986b392288181bcfbe5e3a0ec91af4320c189bd83c844ed384161b3') | ||||
| 
 | ||||
|     depends_on('cmake@3:', type='build') | ||||
|     depends_on('perl@5.10:', type=('build', 'run')) | ||||
|     for ver in ['3.5.0']: | ||||
|     depends_on('mesa~llvm@18.3:') | ||||
| 
 | ||||
|     for ver in ['3.5.0', '3.7.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) | ||||
| @@ -29,7 +32,9 @@ class Hip(CMakePackage): | ||||
|         depends_on('llvm-amdgpu@' + ver, type='build', when='@' + ver) | ||||
|         depends_on('rocm-device-libs@' + ver, type='build', when='@' + ver) | ||||
|         depends_on('rocminfo@' + ver, type='build', when='@' + ver) | ||||
|         depends_on('mesa~llvm@18.3:', type=('build', 'link'), when='@' + ver) | ||||
| 
 | ||||
|     # Notice: most likely this will only be a hard dependency on 3.7.0 | ||||
|     depends_on('numactl', when='@3.7.0') | ||||
| 
 | ||||
|     # Note: the ROCm ecosystem expects `lib/` and `bin/` folders with symlinks | ||||
|     # in the parent directory of the package, which is incompatible with spack. | ||||
| @@ -37,10 +42,10 @@ class Hip(CMakePackage): | ||||
|     # of the package. With the following patch we should never hit code that | ||||
|     # uses the ROCM_PATH variable again; just to be sure we set it to an empty | ||||
|     # string. | ||||
|     patch('0001-Make-it-possible-to-specify-the-package-folder-of-ro.patch', when='@3.5.0') | ||||
|     patch('0001-Make-it-possible-to-specify-the-package-folder-of-ro.patch', when='@3.5.0:') | ||||
| 
 | ||||
|     # See https://github.com/ROCm-Developer-Tools/HIP/pull/2141 | ||||
|     patch('0002-Fix-detection-of-HIP_CLANG_ROOT.patch', when='@3.5.0') | ||||
|     patch('0002-Fix-detection-of-HIP_CLANG_ROOT.patch', when='@3.5.0:') | ||||
| 
 | ||||
|     def setup_dependent_build_environment(self, env, dependent_spec): | ||||
|         env.set('ROCM_PATH', '') | ||||
| @@ -60,6 +65,13 @@ def patch(self): | ||||
|             'INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"', | ||||
|             'hip-config.cmake.in', string=True) | ||||
| 
 | ||||
|     def flag_handler(self, name, flags): | ||||
|         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)) | ||||
| 
 | ||||
|         return (flags, None, None) | ||||
| 
 | ||||
|     @run_before('install') | ||||
|     def filter_sbang(self): | ||||
|         perl = self.spec['perl'].command | ||||
|   | ||||
| @@ -0,0 +1,26 @@ | ||||
| From b5a49e6de81e7a6cba86694ee5ba2486cd999976 Mon Sep 17 00:00:00 2001 | ||||
| From: Harmen Stoppels <harmenstoppels@gmail.com> | ||||
| Date: Fri, 28 Aug 2020 18:26:54 +0200 | ||||
| Subject: [PATCH] Remove explicit RPATH again | ||||
|  | ||||
| --- | ||||
|  src/CMakeLists.txt | 3 --- | ||||
|  1 file changed, 3 deletions(-) | ||||
|  | ||||
| diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt | ||||
| index 9de7842..66c6880 100644 | ||||
| --- a/src/CMakeLists.txt | ||||
| +++ b/src/CMakeLists.txt | ||||
| @@ -134,9 +134,6 @@ target_include_directories( ${CORE_RUNTIME_TARGET} | ||||
|    ${CMAKE_CURRENT_SOURCE_DIR} | ||||
|    ${CMAKE_CURRENT_SOURCE_DIR}/libamdhsacode ) | ||||
|   | ||||
| -## Set RUNPATH - ../../lib covers use of the legacy symlink in /hsa/lib/ | ||||
| -set_property(TARGET ${CORE_RUNTIME_TARGET} PROPERTY INSTALL_RPATH "$ORIGIN;$ORIGIN/../../lib;$ORIGIN/../../lib64;$ORIGIN/../lib64" ) | ||||
| - | ||||
|  ## ------------------------- Linux Compiler and Linker options ------------------------- | ||||
|  set ( HSA_CXX_FLAGS ${HSA_COMMON_CXX_FLAGS} -Werror -fexceptions -fno-rtti -fvisibility=hidden -Wno-error=missing-braces -Wno-error=sign-compare -Wno-sign-compare -Wno-write-strings -Wno-conversion-null -fno-math-errno -fno-threadsafe-statics -fmerge-all-constants -fms-extensions -Wno-error=comment -Wno-comment -Wno-error=pointer-arith -Wno-pointer-arith -Wno-error=unused-variable -Wno-error=unused-function ) | ||||
|   | ||||
| --  | ||||
| 2.25.1 | ||||
|  | ||||
| @@ -18,21 +18,29 @@ class HsaRocrDev(CMakePackage): | ||||
| 
 | ||||
|     maintainers = ['srekolam', 'arjun-raj-kuppala'] | ||||
| 
 | ||||
|     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']: | ||||
|     for ver in ['3.5.0', '3.7.0']: | ||||
|         depends_on('hsakmt-roct@' + ver, type=('link', 'run'), when='@' + ver) | ||||
|         depends_on('libelf@0.8:', type='link', 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") | ||||
| 
 | ||||
|     # 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') | ||||
| 
 | ||||
|     root_cmakelists_dir = 'src' | ||||
| 
 | ||||
|     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: | ||||
|             args.append('-DIMAGE_SUPPORT=OFF') | ||||
| 
 | ||||
|         return args | ||||
|   | ||||
| @@ -17,6 +17,7 @@ class HsakmtRoct(CMakePackage): | ||||
| 
 | ||||
|     maintainers = ['srekolam', 'arjun-raj-kuppala'] | ||||
| 
 | ||||
|     version('3.7.0', sha256='b357fe7f425996c49f41748923ded1a140933de7564a70a828ed6ded6d896458') | ||||
|     version('3.5.0', sha256='d9f458c16cb62c3c611328fd2f2ba3615da81e45f3b526e45ff43ab4a67ee4aa') | ||||
| 
 | ||||
|     variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type') | ||||
| @@ -24,7 +25,12 @@ class HsakmtRoct(CMakePackage): | ||||
|     depends_on('cmake@3:', type='build') | ||||
|     depends_on('numactl') | ||||
| 
 | ||||
|     install_targets = ['install', 'install-dev'] | ||||
|     @property | ||||
|     def install_targets(self): | ||||
|         if self.version == Version('3.5.0'): | ||||
|             return ['install', 'install-dev'] | ||||
|         else: | ||||
|             return ['install'] | ||||
| 
 | ||||
|     def cmake_args(self): | ||||
|         args = [ | ||||
|   | ||||
| @@ -16,6 +16,7 @@ class LlvmAmdgpu(CMakePackage): | ||||
| 
 | ||||
|     maintainers = ['srekolam', 'arjun-raj-kuppala'] | ||||
| 
 | ||||
|     version('3.7.0', sha256='3e2542ce54b91b5c841f33d542143e0e43eae95e8785731405af29f08ace725b') | ||||
|     version('3.5.0', sha256='4878fa85473b24d88edcc89938441edc85d2e8a785e567b7bd7ce274ecc2fd9c') | ||||
| 
 | ||||
|     variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type') | ||||
| @@ -26,6 +27,7 @@ class LlvmAmdgpu(CMakePackage): | ||||
|     depends_on('zlib', type='link') | ||||
|     depends_on('ncurses+termlib', type='link') | ||||
| 
 | ||||
|     # Will likely only be fixed in LLVM 12 upstream | ||||
|     patch('fix-system-zlib-ncurses.patch') | ||||
| 
 | ||||
|     root_cmakelists_dir = 'llvm' | ||||
|   | ||||
| @@ -15,6 +15,7 @@ class Rocblas(CMakePackage): | ||||
| 
 | ||||
|     maintainers = ['haampie'] | ||||
| 
 | ||||
|     version('3.7.0', sha256='9425db5f8e8b6f7fb172d09e2a360025b63a4e54414607709efc5acb28819642') | ||||
|     version('3.5.0', sha256='8560fabef7f13e8d67da997de2295399f6ec595edfd77e452978c140d5f936f0') | ||||
| 
 | ||||
|     amdgpu_targets = ('all', 'gfx803', 'gfx900', 'gfx906', 'gfx908') | ||||
| @@ -22,11 +23,15 @@ class Rocblas(CMakePackage): | ||||
|     variant('amdgpu_target', default='all', multi=True, values=amdgpu_targets) | ||||
| 
 | ||||
|     depends_on('cmake@3:', type='build') | ||||
|     depends_on('rocm-cmake@3.5.0', type='build', when='@3.5.0') | ||||
|     depends_on('rocm-device-libs@3.5.0', type='build', when='@3.5.0') | ||||
| 
 | ||||
|     depends_on('hip@3.5.0', when='@3.5.0') | ||||
|     depends_on('comgr@3.5.0', type='build', when='@3.5.0') | ||||
|     for ver in ['3.5.0', '3.7.0']: | ||||
|         depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) | ||||
|         depends_on('rocm-device-libs@' + ver, type='build', when='@' + ver) | ||||
|         depends_on('hip@' + ver, when='@' + ver) | ||||
|         depends_on('comgr@' + ver, type='build', when='@' + ver) | ||||
| 
 | ||||
|     # This is the default library format since 3.7.0 | ||||
|     depends_on('msgpack-c@3:', when='@3.7:') | ||||
| 
 | ||||
|     depends_on('python', type='build') | ||||
|     depends_on('py-virtualenv', type='build') | ||||
| @@ -42,6 +47,13 @@ class Rocblas(CMakePackage): | ||||
|              commit='f842a1a4427624eff6cbddb2405c36dec9a210cd', | ||||
|              when='@3.5.0') | ||||
| 
 | ||||
|     resource(name='Tensile', | ||||
|              git='https://github.com/ROCmSoftwarePlatform/Tensile.git', | ||||
|              commit='af71ea890a893e647bf2cf4571a90297d65689ca', | ||||
|              when='@3.7.0') | ||||
| 
 | ||||
|     # Status: https://github.com/ROCmSoftwarePlatform/Tensile/commit/a488f7dadba34f84b9658ba92ce9ec5a0615a087 | ||||
|     # Not yet landed in 3.7.0. | ||||
|     patch('0001-Fix-compilation-error-with-StringRef-to-basic-string.patch') | ||||
| 
 | ||||
|     def setup_build_environment(self, env): | ||||
| @@ -59,12 +71,15 @@ def cmake_args(self): | ||||
|             '-DBUILD_CLIENTS_SAMPLES=OFF', | ||||
|             '-DRUN_HEADER_TESTING=OFF', | ||||
|             '-DBUILD_WITH_TENSILE=ON', | ||||
|             '-DBUILD_WITH_TENSILE_HOST=OFF', | ||||
|             '-DTensile_TEST_LOCAL_PATH={0}'.format(tensile), | ||||
|             '-DTensile_COMPILER=hipcc', | ||||
|             '-DTensile_ARCHITECTURE={0}'.format(archs), | ||||
|             '-DTensile_LOGIC=asm_full', | ||||
|             '-DTensile_CODE_OBJECT_VERSION=V3' | ||||
|             '-DTensile_CODE_OBJECT_VERSION=V3', | ||||
|             '-DBUILD_WITH_TENSILE_HOST=OFF' | ||||
|         ] | ||||
| 
 | ||||
|         if '@3.7.0' in self.spec: | ||||
|             args.append('-DTensile_LIBRARY_FORMAT=msgpack') | ||||
| 
 | ||||
|         return args | ||||
|   | ||||
| @@ -13,19 +13,34 @@ class Rocclr(CMakePackage): | ||||
|        runtimes to work on Windows as well as on Linux without much effort.""" | ||||
| 
 | ||||
|     homepage = "https://github.com/ROCm-Developer-Tools/ROCclr" | ||||
|     url      = "https://github.com/ROCm-Developer-Tools/ROCclr/archive/roc-3.5.0.tar.gz" | ||||
| 
 | ||||
|     maintainers = ['srekolam', 'arjun-raj-kuppala'] | ||||
| 
 | ||||
|     def url_for_version(self, version): | ||||
|         # Fix up a typo in the 3.5.0 release. | ||||
|         if version == Version('3.5.0'): | ||||
|             return "https://github.com/ROCm-Developer-Tools/ROCclr/archive/roc-3.5.0.tar.gz" | ||||
| 
 | ||||
|         url = "https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-{0}.tar.gz" | ||||
|         return url.format(version) | ||||
| 
 | ||||
|     version('3.7.0', sha256='a49f464bb2eab6317e87e3cc249aba3b2517a34fbdfe50175f0437f69a219adc') | ||||
|     version('3.5.0', sha256='87c1ee9f02b8aa487b628c543f058198767c474cec3d21700596a73c028959e1') | ||||
| 
 | ||||
|     depends_on('cmake@3:', type='build') | ||||
|     for ver in ['3.5.0']: | ||||
| 
 | ||||
|     for ver in ['3.5.0', '3.7.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('mesa~llvm@18.3:', type='link', 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') | ||||
| 
 | ||||
|     resource(name='opencl-on-vdi', | ||||
| @@ -33,17 +48,33 @@ class Rocclr(CMakePackage): | ||||
|              sha256='511b617d5192f2d4893603c1a02402b2ac9556e9806ff09dd2a91d398abf39a0', | ||||
|              expand=True, | ||||
|              destination='', | ||||
|              placement='opencl-on-vdi') | ||||
|              placement='opencl-on-vdi', | ||||
|              when='@3.5.0') | ||||
| 
 | ||||
|     resource(name='opencl-on-vdi', | ||||
|              url='https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-3.7.0.tar.gz', | ||||
|              sha256='283e1dfe4c3d2e8af4d677ed3c20e975393cdb0856e3ccd77b9c7ed2a151650b', | ||||
|              expand=True, | ||||
|              destination='', | ||||
|              placement='opencl-on-vdi', | ||||
|              when='@3.7.0') | ||||
| 
 | ||||
|     @run_after('install') | ||||
|     def deploy_missing_files(self): | ||||
|         # the amdrocclr_staticTargets.cmake file is generated but not installed | ||||
|         # and when we install it by hand, we have to fix the path to the static | ||||
|         # library libamdrocclr_static.a from build dir to prefix lib dir. | ||||
|         cmakefile = join_path(self.build_directory, | ||||
|                               'amdrocclr_staticTargets.cmake') | ||||
|         filter_file(self.build_directory, self.prefix.lib, cmakefile) | ||||
|         install(cmakefile, self.prefix.lib) | ||||
|         if '@3.5.0' in self.spec: | ||||
|             # the amdrocclr_staticTargets.cmake file is generated but not | ||||
|             # installed and when we install it by hand, we have to fix the | ||||
|             # path to the static library libamdrocclr_static.a from build | ||||
|             # dir to prefix lib dir. | ||||
|             cmakefile = join_path(self.build_directory, | ||||
|                                   'amdrocclr_staticTargets.cmake') | ||||
|             filter_file(self.build_directory, self.prefix.lib, cmakefile) | ||||
|             install(cmakefile, self.prefix.lib) | ||||
| 
 | ||||
|         if '@3.7.0' in self.spec: | ||||
|             path = join_path(self.prefix.lib, | ||||
|                              'cmake/rocclr/ROCclrConfig.cmake') | ||||
|             filter_file(self.build_directory, self.prefix, path) | ||||
| 
 | ||||
|     def cmake_args(self): | ||||
|         args = [ | ||||
|   | ||||
| @@ -15,6 +15,7 @@ class Rocfft(CMakePackage): | ||||
| 
 | ||||
|     maintainers = ['srekolam', 'arjun-raj-kuppala'] | ||||
| 
 | ||||
|     version('3.7.0', sha256='94462e4bd19c2c749fcf6903adbee66d4d3bd345c0246861ff8f40b9d08a6ead') | ||||
|     version('3.5.0', sha256='629f02cfecb7de5ad2517b6a8aac6ed4de60d3a9c620413c4d9db46081ac2c88') | ||||
| 
 | ||||
|     amdgpu_targets = ( | ||||
| @@ -27,11 +28,12 @@ class Rocfft(CMakePackage): | ||||
|     variant('amdgpu_target', default='gfx701', multi=True, values=amdgpu_targets) | ||||
| 
 | ||||
|     depends_on('cmake@3:', type='build') | ||||
|     depends_on('rocm-cmake@3.5.0', type='build', when='@3.5.0') | ||||
|     depends_on('rocm-device-libs@3.5.0', type='build', when='@3.5.0') | ||||
| 
 | ||||
|     depends_on('hip@3.5.0', type=('build', 'link'), when='@3.5.0') | ||||
|     depends_on('comgr@3.5.0', type='build', when='@3.5.0') | ||||
|     for ver in ['3.5.0', '3.7.0']: | ||||
|         depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) | ||||
|         depends_on('rocm-device-libs@' + ver, type='build', when='@' + ver) | ||||
|         depends_on('hip@' + ver, when='@' + ver) | ||||
|         depends_on('comgr@' + ver, type='build', when='@' + ver) | ||||
| 
 | ||||
|     def setup_build_environment(self, env): | ||||
|         env.set('CXX', self.spec['hip'].hipcc) | ||||
|   | ||||
| @@ -15,12 +15,14 @@ class RocmBandwidthTest(CMakePackage): | ||||
| 
 | ||||
|     maintainers = ['srekolam', 'arjun-raj-kuppala'] | ||||
| 
 | ||||
|     version('3.7.0', sha256='9aa1d4b7b01ee4d443effc76ed5f6f43a051fd815692b59dfccf0ecbfeaeed03') | ||||
|     version('3.5.0', sha256='fbb63fb8713617fd167d9c1501acbd92a6b189ee8e1a8aed668fa6666baae389') | ||||
| 
 | ||||
|     variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type') | ||||
| 
 | ||||
|     depends_on('cmake@3:', type='build') | ||||
|     for ver in ['3.5.0']: | ||||
| 
 | ||||
|     for ver in ['3.5.0', '3.7.0']: | ||||
|         depends_on('hsa-rocr-dev@' + ver, type='link', when='@' + ver) | ||||
|         depends_on('hsakmt-roct@' + ver, type='build', when='@' + ver) | ||||
| 
 | ||||
|   | ||||
| @@ -14,11 +14,15 @@ class RocmClangOcl(CMakePackage): | ||||
| 
 | ||||
|     maintainers = ['srekolam', 'arjun-raj-kuppala'] | ||||
| 
 | ||||
|     version('3.7.0', sha256='9c00c7e7dd3ac8326ae6772a43866b44ae049d5960ea6993d14a2370db74d326') | ||||
|     version('3.5.0', sha256='38c95fbd0ac3d11d9bd224ad333b68b9620dde502b8a8a9f3d96ba642901e8bb') | ||||
| 
 | ||||
|     variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type') | ||||
| 
 | ||||
|     depends_on('cmake@3:', type='build') | ||||
|     for ver in ['3.5.0']: | ||||
| 
 | ||||
|     for ver in ['3.5.0', '3.7.0']: | ||||
|         depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) | ||||
|         depends_on('llvm-amdgpu@' + ver, type='build', when='@' + ver) | ||||
| 
 | ||||
|     depends_on('rocm-device-libs@3.7.0', type='build', when='@3.7.0') | ||||
|   | ||||
| @@ -16,6 +16,7 @@ class RocmCmake(CMakePackage): | ||||
| 
 | ||||
|     maintainers = ['srekolam', 'arjun-raj-kuppala'] | ||||
| 
 | ||||
|     version('3.7.0', sha256='51abfb06124c2e0677c4d6f7fe83c22fe855cb21386f0053ace09f8ab297058b') | ||||
|     version('3.5.0', sha256='5fc09e168879823160f5fdf4fd1ace2702d36545bf733e8005ed4ca18c3e910f') | ||||
| 
 | ||||
|     variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type') | ||||
|   | ||||
| @@ -0,0 +1,25 @@ | ||||
| From 6143a6b694b6941056687c830820b7a8d71b84c7 Mon Sep 17 00:00:00 2001 | ||||
| From: Harmen Stoppels <harmenstoppels@gmail.com> | ||||
| Date: Tue, 1 Sep 2020 11:58:31 +0200 | ||||
| Subject: [PATCH] Drop overly strict -Werror flag | ||||
|  | ||||
| --- | ||||
|  CMakeLists.txt | 2 +- | ||||
|  1 file changed, 1 insertion(+), 1 deletion(-) | ||||
|  | ||||
| diff --git a/CMakeLists.txt b/CMakeLists.txt | ||||
| index c6cc0aa..5cc5d9d 100644 | ||||
| --- a/CMakeLists.txt | ||||
| +++ b/CMakeLists.txt | ||||
| @@ -67,7 +67,7 @@ find_package(LibDw REQUIRED) | ||||
|   | ||||
|  target_include_directories(rocm-debug-agent | ||||
|    SYSTEM PRIVATE ${ROCR_INCLUDES} ${LIBELF_INCLUDES} ${LIBDW_INCLUDES}) | ||||
| -target_compile_options(rocm-debug-agent PRIVATE -Werror -Wall) | ||||
| +target_compile_options(rocm-debug-agent PRIVATE -Wall) | ||||
|   | ||||
|  if(DEFINED ENV{ROCM_BUILD_ID}) | ||||
|    # ROCM_BUILD_ID is set by the ROCm-CI build environment. | ||||
| --  | ||||
| 2.25.1 | ||||
|  | ||||
| @@ -15,22 +15,44 @@ class RocmDebugAgent(CMakePackage): | ||||
| 
 | ||||
|     maintainers = ['srekolam', 'arjun-raj-kuppala'] | ||||
| 
 | ||||
|     version('3.7.0', sha256='d0f442a2b224a734b0080c906f0fc3066a698e5cde9ff97ffeb485b36d2caba1') | ||||
|     version('3.5.0', sha256='203ccb18d2ac508aae40bf364923f67375a08798b20057e574a0c5be8039f133') | ||||
| 
 | ||||
|     variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type') | ||||
| 
 | ||||
|     depends_on('cmake@3:', type='build') | ||||
|     for ver in ['3.5.0']: | ||||
|     depends_on("elfutils", type='link') | ||||
| 
 | ||||
|     for ver in ['3.5.0', '3.7.0']: | ||||
|         depends_on('hsa-rocr-dev@' + ver, type='link', when='@' + ver) | ||||
|         depends_on('hsakmt-roct@' + ver, type='link', when='@' + ver) | ||||
|         depends_on("elfutils", type='link', when='@' + ver) | ||||
| 
 | ||||
|     root_cmakelists_dir = 'src' | ||||
|     depends_on('rocm-dbgapi@3.7.0', type='link', when='@3.7.0') | ||||
|     depends_on('hip@3.7.0', when='@3.7.0') | ||||
| 
 | ||||
|     # https://github.com/ROCm-Developer-Tools/rocr_debug_agent/pull/4 | ||||
|     patch('0001-Drop-overly-strict-Werror-flag.patch', when='@3.7.0') | ||||
| 
 | ||||
|     @property | ||||
|     def root_cmakelists_dir(self): | ||||
|         if '@3.5.0' in self.spec: | ||||
|             return 'src' | ||||
|         else: | ||||
|             return self.stage.source_path | ||||
| 
 | ||||
|     def cmake_args(self): | ||||
|         spec = self.spec | ||||
|         args = [ | ||||
|             '-DCMAKE_PREFIX_PATH={0}/include/hsa;{1}/include,'. | ||||
|             format(spec['hsa-rocr-dev'].prefix, spec['hsakmt-roct'].prefix) | ||||
|         ] | ||||
|         args = [] | ||||
| 
 | ||||
|         if '@3.5.0' in spec: | ||||
|             args.append( | ||||
|                 '-DCMAKE_PREFIX_PATH={0}/include/hsa;{1}/include,'. | ||||
|                 format(spec['hsa-rocr-dev'].prefix, spec['hsakmt-roct'].prefix) | ||||
|             ) | ||||
| 
 | ||||
|         if '@3.7.0' in spec: | ||||
|             args.append( | ||||
|                 '-DCMAKE_MODULE_PATH={0}'. | ||||
|                 format(spec['hip'].prefix.cmake) | ||||
|             ) | ||||
|         return args | ||||
|   | ||||
| @@ -15,12 +15,13 @@ class RocmDeviceLibs(CMakePackage): | ||||
| 
 | ||||
|     maintainers = ['srekolam', 'arjun-raj-kuppala'] | ||||
| 
 | ||||
|     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']: | ||||
|     for ver in ['3.5.0', '3.7.0']: | ||||
|         depends_on('llvm-amdgpu@' + ver, type='build', when='@' + ver) | ||||
|         depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) | ||||
| 
 | ||||
|   | ||||
| @@ -15,11 +15,14 @@ class Rocminfo(CMakePackage): | ||||
| 
 | ||||
|     maintainers = ['srekolam', 'arjun-raj-kuppala'] | ||||
| 
 | ||||
|     version('3.7.0', sha256='86a8e3ce7d91fb2d79688a22a2805757c83922d9f17ea7ea1cb41bf9516197ea') | ||||
|     version('3.5.0', sha256='1d113f06b7c9b60d0e92b2c12c0c704a565696867496fe7038e5dddd510567b7') | ||||
| 
 | ||||
|     depends_on('cmake@3:', type='build') | ||||
|     depends_on('hsakmt-roct@3.5.0', type='build', when='@3.5.0') | ||||
|     depends_on('hsa-rocr-dev@3.5.0', type='build', when='@3.5.0') | ||||
| 
 | ||||
|     for ver in ['3.5.0', '3.7.0']: | ||||
|         depends_on('hsakmt-roct@' + ver, type='build', when='@' + ver) | ||||
|         depends_on('hsa-rocr-dev@' + ver, type='build', when='@' + ver) | ||||
| 
 | ||||
|     def cmake_args(self): | ||||
|         args = ['-DROCM_DIR={0}'.format(self.spec['hsa-rocr-dev'].prefix)] | ||||
|   | ||||
| @@ -18,10 +18,12 @@ class Rocsparse(CMakePackage): | ||||
| 
 | ||||
|     maintainers = ['srekolam', 'arjun-raj-kuppala'] | ||||
| 
 | ||||
|     version('3.7.0', sha256='db561ae5e8ee117f7c539a9ef6ee49c13b82ba9f702b22c76e741cca245386a9') | ||||
|     version('3.5.0', sha256='9ca6bae7da78abbb47143c3d77ff4a8cd7d63979875fc7ebc46b400769fd9cb5') | ||||
| 
 | ||||
|     depends_on('cmake@3:', type='build') | ||||
|     for ver in ['3.5.0']: | ||||
| 
 | ||||
|     for ver in ['3.5.0', '3.7.0']: | ||||
|         depends_on('hip@' + ver, when='@' + ver) | ||||
|         depends_on('rocm-device-libs@' + ver, type='build', when='@' + ver) | ||||
|         depends_on('comgr@' + ver, type='build', when='@' + ver) | ||||
|   | ||||
| @@ -17,13 +17,16 @@ class RoctracerDev(CMakePackage): | ||||
| 
 | ||||
|     maintainers = ['srekolam', 'arjun-raj-kuppala'] | ||||
| 
 | ||||
|     version('3.7.0', sha256='6fa5b771e990f09c242237ab334b9f01039ec7d54ccde993e719c5d6577d1518') | ||||
|     version('3.5.0', sha256='7af5326c9ca695642b4265232ec12864a61fd6b6056aa7c4ecd9e19c817f209e') | ||||
| 
 | ||||
|     depends_on('cmake@3:', type='build') | ||||
|     depends_on('hsakmt-roct@3.5.0:', type='build', when='@3.5.0:') | ||||
|     depends_on('hsa-rocr-dev@3.5.0:', type='build', when='@3.5.0:') | ||||
|     depends_on('rocminfo@3.5.0:', type='build', when='@3.5.0:') | ||||
|     depends_on('hip@3.5.0:', type='build', when='@3.5.0:') | ||||
| 
 | ||||
|     for ver in ['3.5.0', '3.7.0']: | ||||
|         depends_on('hsakmt-roct@' + ver, type='build', when='@' + ver) | ||||
|         depends_on('hsa-rocr-dev@' + ver, type='build', when='@' + ver) | ||||
|         depends_on('rocminfo@' + ver, type='build', when='@' + ver) | ||||
|         depends_on('hip@' + ver, type='build', when='@' + ver) | ||||
| 
 | ||||
|     def setup_build_environment(self, build_env): | ||||
|         spec = self.spec | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Harmen Stoppels
					Harmen Stoppels