From 727dcef2f4394fdb24d81e7e373d50f02a46ff68 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Thu, 30 Sep 2021 16:01:17 +0200 Subject: [PATCH] Disable __skip_rocmclang again (#26187) CMake 3.21.3 disables the broken hipcc-as-rocmclang detection again. From the release notes: > The AMD ROCm Platform hipcc compiler was identifed by CMake 3.21.0 > through 3.21.2 as a distinct compiler with id ROCMClang. This has been > removed because it caused regressions. Instead: > * hipcc may no longer be used as a HIP compiler because it interferes > with flags CMake needs to pass to Clang. Use Clang directly. > * hipcc may once again be used as a CXX compiler, and is treated as > whatever compiler it selects underneath, as CMake 3.20 and below > did. --- var/spack/repos/builtin/packages/heffte/package.py | 2 +- var/spack/repos/builtin/packages/hip/package.py | 2 +- var/spack/repos/builtin/packages/hipblas/package.py | 2 +- var/spack/repos/builtin/packages/hipcub/package.py | 2 +- var/spack/repos/builtin/packages/hipfft/package.py | 2 +- var/spack/repos/builtin/packages/hipfort/package.py | 2 +- var/spack/repos/builtin/packages/hipsparse/package.py | 2 +- var/spack/repos/builtin/packages/hpx/package.py | 2 +- var/spack/repos/builtin/packages/magma/package.py | 2 +- var/spack/repos/builtin/packages/rccl/package.py | 2 +- var/spack/repos/builtin/packages/rocalution/package.py | 2 +- var/spack/repos/builtin/packages/rocblas/package.py | 2 +- var/spack/repos/builtin/packages/rocfft/package.py | 2 +- var/spack/repos/builtin/packages/rocm-tensile/package.py | 2 +- var/spack/repos/builtin/packages/rocprim/package.py | 2 +- var/spack/repos/builtin/packages/rocrand/package.py | 2 +- var/spack/repos/builtin/packages/rocsolver/package.py | 2 +- var/spack/repos/builtin/packages/rocsparse/package.py | 2 +- var/spack/repos/builtin/packages/rocthrust/package.py | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/var/spack/repos/builtin/packages/heffte/package.py b/var/spack/repos/builtin/packages/heffte/package.py index 4516ba7ddd0..13fe2ec2ee0 100644 --- a/var/spack/repos/builtin/packages/heffte/package.py +++ b/var/spack/repos/builtin/packages/heffte/package.py @@ -92,7 +92,7 @@ def cmake_args(self): args.append('-DCMAKE_CXX_FLAGS={0}'.format(self.hip_flags(rocm_arch))) # See https://github.com/ROCmSoftwarePlatform/rocFFT/issues/322 - if self.spec.satisfies('^cmake@3.21:'): + if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) return args diff --git a/var/spack/repos/builtin/packages/hip/package.py b/var/spack/repos/builtin/packages/hip/package.py index 58dc60e4c85..46957b17abc 100644 --- a/var/spack/repos/builtin/packages/hip/package.py +++ b/var/spack/repos/builtin/packages/hip/package.py @@ -71,7 +71,7 @@ class Hip(CMakePackage): patch('0004-Drop-clang-rt-builtins-linking-on-hip-host.3.10.0.patch', when='@3.10.0:4.1.0') # Tests are broken when using cmake 3.21 - with when('^cmake@3.21:'): + with when('^cmake@3.21.0:3.21.2'): 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') diff --git a/var/spack/repos/builtin/packages/hipblas/package.py b/var/spack/repos/builtin/packages/hipblas/package.py index b426be8a1b8..86ddbd9e531 100644 --- a/var/spack/repos/builtin/packages/hipblas/package.py +++ b/var/spack/repos/builtin/packages/hipblas/package.py @@ -50,7 +50,7 @@ def cmake_args(self): else: args.append(self.define('USE_CUDA', 'OFF')) - if self.spec.satisfies('^cmake@3.21:'): + if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) return args diff --git a/var/spack/repos/builtin/packages/hipcub/package.py b/var/spack/repos/builtin/packages/hipcub/package.py index 03d23b48b9c..dee7549df6e 100644 --- a/var/spack/repos/builtin/packages/hipcub/package.py +++ b/var/spack/repos/builtin/packages/hipcub/package.py @@ -45,7 +45,7 @@ def cmake_args(self): self.define('CMAKE_MODULE_PATH', self.spec['hip'].prefix.cmake) ] - if self.spec.satisfies('^cmake@3.21:'): + if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) return args diff --git a/var/spack/repos/builtin/packages/hipfft/package.py b/var/spack/repos/builtin/packages/hipfft/package.py index 17fe0de3ca6..8c460748313 100644 --- a/var/spack/repos/builtin/packages/hipfft/package.py +++ b/var/spack/repos/builtin/packages/hipfft/package.py @@ -44,7 +44,7 @@ def cmake_args(self): self.define('BUILD_CLIENTS_SAMPLES', 'OFF') ] - if self.spec.satisfies('^cmake@3.21:'): + if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) return args diff --git a/var/spack/repos/builtin/packages/hipfort/package.py b/var/spack/repos/builtin/packages/hipfort/package.py index 413eb511560..7991306238c 100644 --- a/var/spack/repos/builtin/packages/hipfort/package.py +++ b/var/spack/repos/builtin/packages/hipfort/package.py @@ -39,7 +39,7 @@ def setup_build_environment(self, env): def cmake_args(self): args = [] - if self.spec.satisfies('^cmake@3.21:'): + if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) return args diff --git a/var/spack/repos/builtin/packages/hipsparse/package.py b/var/spack/repos/builtin/packages/hipsparse/package.py index f5219c1d14c..0ba37090057 100644 --- a/var/spack/repos/builtin/packages/hipsparse/package.py +++ b/var/spack/repos/builtin/packages/hipsparse/package.py @@ -52,7 +52,7 @@ def cmake_args(self): self.define('BUILD_CLIENTS_TESTS', 'OFF'), ] - if self.spec.satisfies('^cmake@3.21:'): + if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) return args diff --git a/var/spack/repos/builtin/packages/hpx/package.py b/var/spack/repos/builtin/packages/hpx/package.py index 9f44cd88286..2afb5921729 100644 --- a/var/spack/repos/builtin/packages/hpx/package.py +++ b/var/spack/repos/builtin/packages/hpx/package.py @@ -210,7 +210,7 @@ def cmake_args(self): # HIP support requires compiling with hipcc if '+rocm' in self.spec: args += [self.define('CMAKE_CXX_COMPILER', self.spec['hip'].hipcc)] - if self.spec.satisfies('^cmake@3.21:'): + if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args += [self.define('__skip_rocmclang', True)] # Instrumentation diff --git a/var/spack/repos/builtin/packages/magma/package.py b/var/spack/repos/builtin/packages/magma/package.py index 2b788582c38..639806fe5f3 100644 --- a/var/spack/repos/builtin/packages/magma/package.py +++ b/var/spack/repos/builtin/packages/magma/package.py @@ -131,7 +131,7 @@ def cmake_args(self): options.extend(['-DMAGMA_ENABLE_HIP=ON']) options.extend(['-DCMAKE_CXX_COMPILER=hipcc']) # See https://github.com/ROCmSoftwarePlatform/rocFFT/issues/322 - if spec.satisfies('^cmake@3.21:'): + if spec.satisfies('^cmake@3.21.0:3.21.2'): options.extend(['-D__skip_rocmclang=ON']) else: options.extend(['-DMAGMA_ENABLE_CUDA=ON']) diff --git a/var/spack/repos/builtin/packages/rccl/package.py b/var/spack/repos/builtin/packages/rccl/package.py index aa3b8feb4d5..bfda7eed51a 100644 --- a/var/spack/repos/builtin/packages/rccl/package.py +++ b/var/spack/repos/builtin/packages/rccl/package.py @@ -54,7 +54,7 @@ def cmake_args(self): self.spec['numactl'].prefix )) - if self.spec.satisfies('^cmake@3.21:'): + if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) return args diff --git a/var/spack/repos/builtin/packages/rocalution/package.py b/var/spack/repos/builtin/packages/rocalution/package.py index eeee35768e5..38387c2b969 100644 --- a/var/spack/repos/builtin/packages/rocalution/package.py +++ b/var/spack/repos/builtin/packages/rocalution/package.py @@ -67,7 +67,7 @@ def cmake_args(self): self.define('BUILD_CLIENTS_SAMPLES', 'OFF') ] - if self.spec.satisfies('^cmake@3.21:'): + if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) return args diff --git a/var/spack/repos/builtin/packages/rocblas/package.py b/var/spack/repos/builtin/packages/rocblas/package.py index f289d4b3e9e..ce26e6b72a3 100644 --- a/var/spack/repos/builtin/packages/rocblas/package.py +++ b/var/spack/repos/builtin/packages/rocblas/package.py @@ -114,7 +114,7 @@ def cmake_args(self): args.append(self.define('AMDGPU_TARGETS', arch)) # See https://github.com/ROCmSoftwarePlatform/rocBLAS/issues/1196 - if self.spec.satisfies('^cmake@3.21:'): + if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) return args diff --git a/var/spack/repos/builtin/packages/rocfft/package.py b/var/spack/repos/builtin/packages/rocfft/package.py index 6cbe146fa75..1a265575008 100644 --- a/var/spack/repos/builtin/packages/rocfft/package.py +++ b/var/spack/repos/builtin/packages/rocfft/package.py @@ -66,7 +66,7 @@ def cmake_args(self): args.append(self.define('AMDGPU_TARGETS_SRAM_ECC', ";".join(tgt_sram))) # See https://github.com/ROCmSoftwarePlatform/rocFFT/issues/322 - if self.spec.satisfies('^cmake@3.21:'): + if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) return args diff --git a/var/spack/repos/builtin/packages/rocm-tensile/package.py b/var/spack/repos/builtin/packages/rocm-tensile/package.py index 212bf990534..220cf300d40 100644 --- a/var/spack/repos/builtin/packages/rocm-tensile/package.py +++ b/var/spack/repos/builtin/packages/rocm-tensile/package.py @@ -84,7 +84,7 @@ def cmake_args(self): arch = arch + ':xnack-' args.append(self.define('Tensile_ARCHITECTURE', arch)) - if self.spec.satisfies('^cmake@3.21:'): + if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) return args diff --git a/var/spack/repos/builtin/packages/rocprim/package.py b/var/spack/repos/builtin/packages/rocprim/package.py index 66ce5679afe..fc601c19454 100644 --- a/var/spack/repos/builtin/packages/rocprim/package.py +++ b/var/spack/repos/builtin/packages/rocprim/package.py @@ -51,7 +51,7 @@ def cmake_args(self): self.define('BUILD_EXAMPLE', 'OFF') ] - if self.spec.satisfies('^cmake@3.21:'): + if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) return args diff --git a/var/spack/repos/builtin/packages/rocrand/package.py b/var/spack/repos/builtin/packages/rocrand/package.py index b8d5dd87be7..469e1ca3ab2 100644 --- a/var/spack/repos/builtin/packages/rocrand/package.py +++ b/var/spack/repos/builtin/packages/rocrand/package.py @@ -73,7 +73,7 @@ def cmake_args(self): self.define('BUILD_TEST', 'OFF') ] - if self.spec.satisfies('^cmake@3.21:'): + if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) return args diff --git a/var/spack/repos/builtin/packages/rocsolver/package.py b/var/spack/repos/builtin/packages/rocsolver/package.py index 2867fad8e88..d1fda66d97a 100644 --- a/var/spack/repos/builtin/packages/rocsolver/package.py +++ b/var/spack/repos/builtin/packages/rocsolver/package.py @@ -75,7 +75,7 @@ def cmake_args(self): else: args.append(self.define('AMDGPU_TARGETS', ";".join(tgt))) - if self.spec.satisfies('^cmake@3.21:'): + if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) return args diff --git a/var/spack/repos/builtin/packages/rocsparse/package.py b/var/spack/repos/builtin/packages/rocsparse/package.py index f1aa7529e7c..a27415c3ec1 100644 --- a/var/spack/repos/builtin/packages/rocsparse/package.py +++ b/var/spack/repos/builtin/packages/rocsparse/package.py @@ -47,7 +47,7 @@ def cmake_args(self): self.define('BUILD_CLIENTS_TESTS', 'OFF'), self.define('BUILD_CLIENTS_BENCHMARKS', 'OFF') ] - if self.spec.satisfies('^cmake@3.21:'): + if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) return args diff --git a/var/spack/repos/builtin/packages/rocthrust/package.py b/var/spack/repos/builtin/packages/rocthrust/package.py index 00f80142186..87afab2ecfa 100644 --- a/var/spack/repos/builtin/packages/rocthrust/package.py +++ b/var/spack/repos/builtin/packages/rocthrust/package.py @@ -52,7 +52,7 @@ def cmake_args(self): ) ] - if self.spec.satisfies('^cmake@3.21:'): + if self.spec.satisfies('^cmake@3.21.0:3.21.2'): args.append(self.define('__skip_rocmclang', 'ON')) return args