Skip to content

Commit

Permalink
Drop CTK 11.x from CI
Browse files Browse the repository at this point in the history
  • Loading branch information
bernhardmgruber committed Jan 8, 2025
1 parent 10980dc commit e514e23
Show file tree
Hide file tree
Showing 7 changed files with 5 additions and 284 deletions.
54 changes: 0 additions & 54 deletions .devcontainer/cuda11.1-gcc7/devcontainer.json

This file was deleted.

54 changes: 0 additions & 54 deletions .devcontainer/cuda11.1-gcc8/devcontainer.json

This file was deleted.

54 changes: 0 additions & 54 deletions .devcontainer/cuda11.1-gcc9/devcontainer.json

This file was deleted.

54 changes: 0 additions & 54 deletions .devcontainer/cuda11.1-llvm9/devcontainer.json

This file was deleted.

54 changes: 0 additions & 54 deletions .devcontainer/cuda11.8-gcc11/devcontainer.json

This file was deleted.

6 changes: 2 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -219,18 +219,16 @@ CCCL users are encouraged to capitalize on the latest enhancements and ["live at
For a seamless experience, you can upgrade CCCL independently of the entire CUDA Toolkit.
This is possible because CCCL maintains backward compatibility with the latest patch release of every minor CTK release from both the current and previous major version series.
In some exceptional cases, the minimum supported minor version of the CUDA Toolkit release may need to be newer than the oldest release within its major version series.
For instance, CCCL requires a minimum supported version of 11.1 from the 11.x series due to an unavoidable compiler issue present in CTK 11.0.

When a new major CTK is released, we drop support for the oldest supported major version.

| CCCL Version | Supports CUDA Toolkit Version |
|--------------|------------------------------------------------|
| 2.x | 11.1 - 11.8, 12.x (only latest patch releases) |
| 3.x (Future) | 12.x, 13.x (only latest patch releases) |
| 3.x | 12.x, 13.x (only latest patch releases) |

[Well-behaved code](#compatibility-guidelines) using the latest CCCL should compile and run successfully with any supported CTK version.
Exceptions may occur for new features that depend on new CTK features, so those features would not work on older versions of the CTK.
For example, C++20 support was not added to `nvcc` until CUDA 12.0, so CCCL features that depend on C++20 would not work with CTK 11.x.

Users can integrate a newer version of CCCL into an older CTK, but not the other way around.
This means an older version of CCCL is not compatible with a newer CTK.
Expand Down Expand Up @@ -287,7 +285,7 @@ Note that some features may only support certain architectures/Compute Capabilit
CCCL's testing strategy strikes a balance between testing as many configurations as possible and maintaining reasonable CI times.

For CUDA Toolkit versions, testing is done against both the oldest and the newest supported versions.
For instance, if the latest version of the CUDA Toolkit is 12.3, tests are conducted against 11.1 and 12.3.
For instance, if the latest version of the CUDA Toolkit is 12.6, tests are conducted against 11.1 and 12.6.
For each CUDA version, builds are completed against all supported host compilers with all supported C++ dialects.

The testing strategy and matrix are constantly evolving.
Expand Down
13 changes: 3 additions & 10 deletions ci/matrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ workflows:

pull_request:
# Old CTK
- {jobs: ['build'], std: 'minmax', ctk: '11.1', cxx: ['gcc7', 'gcc9', 'clang9']}
- {jobs: ['build'], std: 'minmax', ctk: '12.0', cxx: ['gcc7', 'gcc9', 'clang9']}
# Current CTK build-only
- {jobs: ['build'], std: [11, 14], cxx: ['gcc7', 'clang9']}
- {jobs: ['build'], std: 'max', cxx: ['gcc8', 'gcc9', 'gcc10', 'gcc11', 'gcc12']}
Expand Down Expand Up @@ -41,7 +41,6 @@ workflows:
# verify-codegen:
- {jobs: ['verify_codegen'], project: 'libcudacxx'}
# cudax has different CTK reqs:
- {jobs: ['build'], project: 'cudax', ctk: ['12.0'], std: 17, cxx: ['gcc9', 'clang9']}
- {jobs: ['build'], project: 'cudax', ctk: ['12.0'], std: 20, cxx: ['msvc14.36']}
- {jobs: ['build'], project: 'cudax', ctk: ['curr'], std: 20, cxx: ['gcc10', 'gcc11', 'gcc12']}
- {jobs: ['build'], project: 'cudax', ctk: ['curr'], std: 20, cxx: ['clang10', 'clang11', 'clang12', 'clang13']}
Expand All @@ -55,7 +54,6 @@ 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: ['gcc7', 'clang9']}
- {jobs: ['infra'], project: 'cccl', ctk: '12.0', cxx: ['gcc12', 'clang14']}
- {jobs: ['infra'], project: 'cccl', ctk: 'curr', cxx: ['gcc', 'clang']}

Expand All @@ -65,8 +63,8 @@ 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: ['gcc7', 'gcc8', 'gcc9', 'clang9']}
- {jobs: ['build'], std: 'all', ctk: '11.8', cxx: ['gcc11'], sm: '60;70;80;90'}
- {jobs: ['build'], std: 'all', ctk: '12.0', cxx: ['gcc7', 'gcc8', 'gcc9', 'clang9']}
- {jobs: ['build'], std: 'all', ctk: '12.0', cxx: ['gcc11'], sm: '60;70;80;90'}
# Current CTK build-only
- {jobs: ['build'], std: 'all', cxx: ['gcc7', 'gcc8', 'gcc9', 'gcc10', 'gcc11', 'gcc12']}
- {jobs: ['build'], std: 'all', cxx: ['clang9', 'clang10', 'clang11', 'clang12', 'clang13', 'clang14', 'clang15', 'clang16', 'clang17']}
Expand Down Expand Up @@ -116,9 +114,6 @@ workflows:
exclude:
# GPU runners are not available on Windows.
- {jobs: ['test', 'test_gpu', 'test_nolid', 'test_lid0', 'test_lid1', 'test_lid2'], cxx: ['msvc2019', 'msvc14.36', 'msvc2022']}
# Ubuntu 18.04 is EOL and we only use it to get access to CTK 11.1 containers for CUDA testing.
# Disable non-CUDA tests on this platform.
- {jobs: ['test_cpu'], ctk: '11.1'}


#############################################################################################
Expand All @@ -131,8 +126,6 @@ devcontainer_version: '25.02'
all_stds: [11, 14, 17, 20]

ctk_versions:
11.1: { stds: [11, 14, 17, ] }
11.8: { stds: [11, 14, 17, ] }
12.0: { stds: [11, 14, 17, 20] }
12.5: { stds: [11, 14, 17, 20] }
12.6: { stds: [11, 14, 17, 20], aka: 'curr' }
Expand Down

0 comments on commit e514e23

Please sign in to comment.