From 952683b66b6cd88f04c61657a3fbeebec4873b14 Mon Sep 17 00:00:00 2001 From: Bernhard Manfred Gruber Date: Wed, 8 Jan 2025 08:17:47 +0100 Subject: [PATCH] Require at least gcc7 Fixes: #3267 --- README.md | 2 ++ ci/matrix.yaml | 9 ++++----- cub/cub/util_cpp_dialect.cuh | 4 ++-- thrust/thrust/detail/config/cpp_dialect.h | 4 ++-- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index b9795ea2f06..45766d0bfbc 100644 --- a/README.md +++ b/README.md @@ -260,6 +260,8 @@ Unless otherwise specified, CCCL supports the same host compilers as the latest - [Linux](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#host-compiler-support-policy) - [Windows](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#system-requirements) +For GCC on Linux, at least 7.x is required. + When using older CUDA Toolkits, we also only support the host compilers of the latest CUDA Toolkit, but at least the most recent host compiler of any supported older CUDA Toolkit. diff --git a/ci/matrix.yaml b/ci/matrix.yaml index fd7f2f079c4..985f9194142 100644 --- a/ci/matrix.yaml +++ b/ci/matrix.yaml @@ -11,7 +11,7 @@ workflows: pull_request: # Old CTK - - {jobs: ['build'], std: 'minmax', ctk: '11.1', cxx: ['gcc6', 'gcc9', 'clang9', 'msvc2017']} + - {jobs: ['build'], std: 'minmax', ctk: '11.1', cxx: ['gcc7', 'gcc9', 'clang9', 'msvc2017']} # Current CTK build-only - {jobs: ['build'], std: [11, 14], cxx: ['gcc7', 'clang9']} - {jobs: ['build'], std: 'max', cxx: ['gcc8', 'gcc9', 'gcc10', 'gcc11', 'gcc12']} @@ -55,7 +55,7 @@ workflows: # Python and c/parallel jobs: - {jobs: ['test'], project: ['cccl_c_parallel', 'python'], ctk: '12.6'} # cccl-infra: - - {jobs: ['infra'], project: 'cccl', ctk: '11.1', cxx: ['gcc6', 'clang9']} + - {jobs: ['infra'], project: 'cccl', ctk: '11.1', cxx: ['gcc7', 'clang9']} - {jobs: ['infra'], project: 'cccl', ctk: '12.0', cxx: ['gcc12', 'clang14']} - {jobs: ['infra'], project: 'cccl', ctk: 'curr', cxx: ['gcc', 'clang']} @@ -65,7 +65,7 @@ workflows: - {jobs: ['test_gpu'], project: 'thrust', cmake_options: '-DTHRUST_DISPATCH_TYPE=Force32bit'} - {jobs: ['test_gpu'], project: 'thrust', cmake_options: '-DTHRUST_DISPATCH_TYPE=Force64bit'} # Old CTK - - {jobs: ['build'], std: 'all', ctk: '11.1', cxx: ['gcc6', 'gcc7', 'gcc8', 'gcc9', 'clang9', 'msvc2017']} + - {jobs: ['build'], std: 'all', ctk: '11.1', cxx: ['gcc7', 'gcc8', 'gcc9', 'clang9', 'msvc2017']} - {jobs: ['build'], std: 'all', ctk: '11.8', cxx: ['gcc11'], sm: '60;70;80;90'} # Current CTK build-only - {jobs: ['build'], std: 'all', cxx: ['gcc7', 'gcc8', 'gcc9', 'gcc10', 'gcc11', 'gcc12']} @@ -96,7 +96,7 @@ workflows: - {jobs: ['test'], project: 'cudax', ctk: [ 'curr'], std: 'all', cxx: ['clang18']} # # These are waiting on the NVKS nodes: -# - {jobs: ['test'], ctk: '11.1', gpu: 'v100', sm: 'gpu', cxx: 'gcc6', std: [11]} +# - {jobs: ['test'], ctk: '11.1', gpu: 'v100', sm: 'gpu', cxx: 'gcc7', std: [11]} # - {jobs: ['test'], ctk: '11.1', gpu: 't4', sm: 'gpu', cxx: 'clang9', std: [17]} # - {jobs: ['test'], ctk: '11.8', gpu: 'rtx2080', sm: 'gpu', cxx: 'gcc11', std: [17]} # - {jobs: ['test'], ctk: 'curr', gpu: 'rtxa6000', sm: 'gpu', cxx: 'gcc7', std: [14]} @@ -151,7 +151,6 @@ host_compilers: container_tag: 'gcc' exe: 'g++' versions: - 6: { stds: [11, 14, ] } 7: { stds: [11, 14, 17, ] } 8: { stds: [11, 14, 17, ] } 9: { stds: [11, 14, 17, ] } diff --git a/cub/cub/util_cpp_dialect.cuh b/cub/cub/util_cpp_dialect.cuh index 6a85b971884..5a4f4a63825 100644 --- a/cub/cub/util_cpp_dialect.cuh +++ b/cub/cub/util_cpp_dialect.cuh @@ -80,8 +80,8 @@ # ifndef CCCL_IGNORE_DEPRECATED_COMPILER // Compiler checks: -# if _CCCL_COMPILER(GCC, <, 5) -CUB_COMPILER_DEPRECATION(GCC 5.0); +# if _CCCL_COMPILER(GCC, <, 7) +CUB_COMPILER_DEPRECATION(GCC 7.0); # elif _CCCL_COMPILER(CLANG, <, 7) CUB_COMPILER_DEPRECATION(Clang 7.0); # elif _CCCL_COMPILER(MSVC, <, 19, 10) diff --git a/thrust/thrust/detail/config/cpp_dialect.h b/thrust/thrust/detail/config/cpp_dialect.h index 0d93e1ae37a..4c7a7930ad3 100644 --- a/thrust/thrust/detail/config/cpp_dialect.h +++ b/thrust/thrust/detail/config/cpp_dialect.h @@ -68,8 +68,8 @@ #ifndef CCCL_IGNORE_DEPRECATED_COMPILER // Compiler checks: -# if _CCCL_COMPILER(GCC, <, 5) -THRUST_COMPILER_DEPRECATION(GCC 5.0); +# if _CCCL_COMPILER(GCC, <, 7) +THRUST_COMPILER_DEPRECATION(GCC 7.0); # elif _CCCL_COMPILER(CLANG, <, 7) THRUST_COMPILER_DEPRECATION(Clang 7.0); # elif _CCCL_COMPILER(MSVC, <, 19, 10)