Add CTK 13.0, gcc14 devcontainers and CI#5431
Conversation
12c8698 to
f03de1e
Compare
a3ae928 to
39bab3e
Compare
🟨 CI finished in 3h 20m: Pass: 93%/210 | Total: 4d 09h | Avg: 30m 04s | Max: 2h 40m | Hits: 70%/319831
|
| Project | |
|---|---|
| +/- | CCCL Infrastructure |
| CCCL Packaging | |
| libcu++ | |
| CUB | |
| Thrust | |
| CUDA Experimental | |
| stdpar | |
| python | |
| CCCL C Parallel Library | |
| Catch2Helper |
Modifications in project or dependencies?
| Project | |
|---|---|
| +/- | CCCL Infrastructure |
| +/- | CCCL Packaging |
| +/- | libcu++ |
| +/- | CUB |
| +/- | Thrust |
| +/- | CUDA Experimental |
| +/- | stdpar |
| +/- | python |
| +/- | CCCL C Parallel Library |
| +/- | Catch2Helper |
🏃 Runner counts (total jobs: 210)
| # | Runner |
|---|---|
| 128 | linux-amd64-cpu16 |
| 23 | windows-amd64-cpu16 |
| 17 | linux-amd64-gpu-l4-latest-1 |
| 12 | linux-arm64-cpu16 |
| 11 | linux-amd64-gpu-rtx2080-latest-1 |
| 10 | linux-amd64-gpu-h100-latest-1 |
| 6 | linux-amd64-gpu-rtxa6000-latest-1 |
| 3 | linux-amd64-gpu-rtx4090-latest-1 |
2208b05 to
6cc460d
Compare
6cc460d to
f044d7d
Compare
🟨 CI finished in 6h 01m: Pass: 58%/187 | Total: 5d 12h | Avg: 42m 22s | Max: 6h 00m | Hits: 68%/69525
|
| Project | |
|---|---|
| +/- | CCCL Infrastructure |
| CCCL Packaging | |
| +/- | libcu++ |
| CUB | |
| Thrust | |
| CUDA Experimental | |
| stdpar | |
| python | |
| CCCL C Parallel Library | |
| Catch2Helper |
Modifications in project or dependencies?
| Project | |
|---|---|
| +/- | CCCL Infrastructure |
| +/- | CCCL Packaging |
| +/- | libcu++ |
| +/- | CUB |
| +/- | Thrust |
| +/- | CUDA Experimental |
| +/- | stdpar |
| +/- | python |
| +/- | CCCL C Parallel Library |
| +/- | Catch2Helper |
🏃 Runner counts (total jobs: 187)
| # | Runner |
|---|---|
| 107 | linux-amd64-cpu16 |
| 56 | linux-amd64-gpu-l4-latest-1 |
| 24 | linux-amd64-gpu-rtx2080-latest-1 |
1f09e5d to
0b43a62
Compare
5000b28 to
3bfec7c
Compare
This is new coverage, and beyond the scope of this PR to fix.
There was a problem hiding this comment.
Pull Request Overview
This PR adds support for CTK 13.0 and gcc14 by updating build configurations, devcontainer setups, and CI matrix definitions. It introduces new architecture selection options for CMake and addresses compiler-specific workarounds for the new toolchain versions.
Key changes:
- Adds CTK 13.0 and gcc14 compiler support across the build matrix and devcontainers
- Introduces new CMAKE_CUDA_ARCHITECTURES options including "all-cccl" and "all-major-cccl"
- Updates default devcontainer to use CTK 13.0 with gcc14
Reviewed Changes
Copilot reviewed 43 out of 43 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| libcudacxx/test/utils/libcudacxx/test/config.py | Adds compute capability detection methods for "all" and "all-major" architecture selection |
| cmake/CCCLCheckCudaArchitectures.cmake | New CMake module for handling special CCCL architecture selection values |
| ci/matrix.yaml | Major update to CI matrix adding CTK 13.0 support and reorganizing test configurations |
| CMakePresets.json | Updates default architecture selection to use "all-major-cccl" |
| .devcontainer/devcontainer.json | Updates default devcontainer to CTK 13.0 with gcc14 |
| Multiple CMakeLists.txt files | Adds MSVC conforming preprocessor flags and warning suppressions |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| readonly DEVCONTAINER_VERSION=$(echo "$matrix_json" | jq -r '.devcontainer_version') | ||
|
|
||
| # Internal image compiler versions: | ||
| readonly CUDA99_GCC_VERSION=$( echo "$matrix_json" | jq -r '.cuda99_gcc_version') |
There was a problem hiding this comment.
FYI @wmaxey -- the cuda99 host compiler versions are now specified in matrix.yaml rather than staying pinned to the newest GHA CI compilers. This way we can update either independently without breaking the other.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
394e97b to
996510b
Compare
🟨 CI finished in 1h 19m: Pass: 40%/5 | Total: 4h 21m | Avg: 52m 22s | Max: 1h 19m | Hits: 86%/7629
|
| Project | |
|---|---|
| +/- | CCCL Infrastructure |
| +/- | CCCL Packaging |
| +/- | libcu++ |
| +/- | CUB |
| Thrust | |
| +/- | CUDA Experimental |
| stdpar | |
| python | |
| CCCL C Parallel Library | |
| +/- | Catch2Helper |
| NVBench Helper |
Modifications in project or dependencies?
| Project | |
|---|---|
| +/- | CCCL Infrastructure |
| +/- | CCCL Packaging |
| +/- | libcu++ |
| +/- | CUB |
| +/- | Thrust |
| +/- | CUDA Experimental |
| +/- | stdpar |
| +/- | python |
| +/- | CCCL C Parallel Library |
| +/- | Catch2Helper |
| +/- | NVBench Helper |
🏃 Runner counts (total jobs: 5)
| # | Runner |
|---|---|
| 5 | windows-amd64-cpu16 |
🟨 CI finished in 52m 20s: Pass: 40%/5 | Total: 3h 28m | Avg: 41m 47s | Max: 52m 18s | Hits: 99%/7629
|
| Project | |
|---|---|
| +/- | CCCL Infrastructure |
| CCCL Packaging | |
| +/- | libcu++ |
| +/- | CUB |
| Thrust | |
| +/- | CUDA Experimental |
| stdpar | |
| python | |
| CCCL C Parallel Library | |
| +/- | Catch2Helper |
| NVBench Helper |
Modifications in project or dependencies?
| Project | |
|---|---|
| +/- | CCCL Infrastructure |
| +/- | CCCL Packaging |
| +/- | libcu++ |
| +/- | CUB |
| +/- | Thrust |
| +/- | CUDA Experimental |
| +/- | stdpar |
| +/- | python |
| +/- | CCCL C Parallel Library |
| +/- | Catch2Helper |
| +/- | NVBench Helper |
🏃 Runner counts (total jobs: 5)
| # | Runner |
|---|---|
| 5 | windows-amd64-cpu16 |
🟨 CI finished in 52m 00s: Pass: 60%/5 | Total: 3h 29m | Avg: 41m 57s | Max: 51m 54s | Hits: 99%/11480
|
| Project | |
|---|---|
| +/- | CCCL Infrastructure |
| CCCL Packaging | |
| +/- | libcu++ |
| +/- | CUB |
| Thrust | |
| +/- | CUDA Experimental |
| stdpar | |
| python | |
| CCCL C Parallel Library | |
| +/- | Catch2Helper |
| NVBench Helper |
Modifications in project or dependencies?
| Project | |
|---|---|
| +/- | CCCL Infrastructure |
| +/- | CCCL Packaging |
| +/- | libcu++ |
| +/- | CUB |
| +/- | Thrust |
| +/- | CUDA Experimental |
| +/- | stdpar |
| +/- | python |
| +/- | CCCL C Parallel Library |
| +/- | Catch2Helper |
| +/- | NVBench Helper |
🏃 Runner counts (total jobs: 5)
| # | Runner |
|---|---|
| 5 | windows-amd64-cpu16 |
🟩 CI finished in 51m 41s: Pass: 100%/5 | Total: 3h 40m | Avg: 44m 04s | Max: 51m 41s | Hits: 99%/19100
|
| Project | |
|---|---|
| +/- | CCCL Infrastructure |
| CCCL Packaging | |
| +/- | libcu++ |
| +/- | CUB |
| Thrust | |
| +/- | CUDA Experimental |
| stdpar | |
| python | |
| CCCL C Parallel Library | |
| +/- | Catch2Helper |
| NVBench Helper |
Modifications in project or dependencies?
| Project | |
|---|---|
| +/- | CCCL Infrastructure |
| +/- | CCCL Packaging |
| +/- | libcu++ |
| +/- | CUB |
| +/- | Thrust |
| +/- | CUDA Experimental |
| +/- | stdpar |
| +/- | python |
| +/- | CCCL C Parallel Library |
| +/- | Catch2Helper |
| +/- | NVBench Helper |
🏃 Runner counts (total jobs: 5)
| # | Runner |
|---|---|
| 5 | windows-amd64-cpu16 |
|
|
||
| # Build the same list used by --arch=all-major: | ||
|
|
||
| # Handle special case where the first architecture is not a round decade (e.g., first arch is 75, not 70). |
There was a problem hiding this comment.
Nitpick: this is the only difference between the two functions, could this be an if on a boolean input?
There was a problem hiding this comment.
Good idea, but let's leave that for a follow up. I'm eager to get this landed and CI is about to turn fully green for the first time. Let's land this before something breaks again 😅
🥳 CI Workflow Results🟩 Finished in 3h 40m: Pass: 100%/223 | Total: 7d 22h | Max: 3h 39m | Hits: 43%/324647See results here. |
- Switch default devcontainer to CUDA 13.0 with GCC 14 and add numerous new container definitions for CUDA 12.9/13.0 across GCC, LLVM, and NVHPC. - Rework make_devcontainers.sh to generate internal compiler entries, drop automatic extended images, and handle injected ctk versions via a helper function. - Overhaul matrix.yaml for broader CTK 12.X/13.X coverage, packaging, NVHPC, clang-cuda, Python, and c.parallel jobs. - Add CCCLCheckCudaArchitectures CMake module for 'all-cccl' and 'all-major-cccl' arch specifiers and integrate it into the top-level build. - Misc bug fixes related to new libraries, compilers, and arches.
No description provided.