Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Require C++17 for compiling Thrust and CUB #3255

Merged
merged 7 commits into from
Jan 9, 2025

Conversation

bernhardmgruber
Copy link
Contributor

@bernhardmgruber bernhardmgruber commented Jan 7, 2025

  • Issue an unsuppressable warning when compiling with < C++17
  • Remove C++11/14 presets
  • Remove CCCL_IGNORE_DEPRECATED_CPP_DIALECT from headers
  • Remove [CUB|THRUST|TCT]IGNORE_DEPRECATED_CPP[11|14]
  • Remove CUB_ENABLE_DIALECT_CPP[11|14]
  • Drive-by fix warning message for deprecated compilers
  • Drop Thrust's cpp14_required.h

To make the CI pass:

  • Remove C++11/14 CI runs for CUB and Thrust
  • Raise compiler minimum versions for C++17

Fixes: #3252

@bernhardmgruber bernhardmgruber requested review from a team as code owners January 7, 2025 11:55
@bernhardmgruber bernhardmgruber added thrust For all items related to Thrust. cub For all items related to CUB breaking Breaking change labels Jan 7, 2025
@bernhardmgruber bernhardmgruber marked this pull request as draft January 7, 2025 11:55
Copy link

copy-pr-bot bot commented Jan 7, 2025

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@bernhardmgruber
Copy link
Contributor Author

/ok to test

Copy link
Collaborator

@miscco miscco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is missing the matrix.yaml changes

@bernhardmgruber bernhardmgruber marked this pull request as ready for review January 7, 2025 17:04
@bernhardmgruber bernhardmgruber requested a review from a team as a code owner January 7, 2025 17:04
@bernhardmgruber
Copy link
Contributor Author

I get the following warning when the CI matrix is built:

Exception: ci/matrix.yaml:12 (job 1): No supported stds found.
  Input: {jobs: [build], std: minmax, ctk: 11.1, cxx: [gcc6, gcc9, clang9, msvc2017]}

I guess because we require C++17 now for Thrust and CUB, gcc6 and msvc2017 will no longer be able to compile those projects. I raised the versions to gcc7 and msvc2019.

Copy link
Contributor

github-actions bot commented Jan 7, 2025

🟨 CI finished in 1h 09m: Pass: 92%/171 | Total: 1d 01h | Avg: 9m 00s | Max: 53m 40s | Hits: 99%/17647
  • 🟨 cub: Pass: 88%/44 | Total: 7h 15m | Avg: 9m 53s | Max: 48m 21s | Hits: 99%/2349

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  88%/42  | Total:  7h 05m | Avg: 10m 07s | Max: 48m 21s | Hits:  99%/2349  
      🟩 arm64              Pass: 100%/2   | Total:  9m 56s | Avg:  4m 58s | Max:  5m 12s
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/2   | Total:  8m 49s | Avg:  4m 24s | Max:  4m 27s
      🔍 nvcc               Pass:  88%/42  | Total:  7h 06m | Avg: 10m 09s | Max: 48m 21s | Hits:  99%/2349  
    🔍 gpu: v100 🔍
      🟩 h100               Pass: 100%/2   | Total: 20m 27s | Avg: 10m 13s | Max: 16m 03s
      🔍 v100               Pass:  88%/42  | Total:  6h 54m | Avg:  9m 52s | Max: 48m 21s | Hits:  99%/2349  
    🔍 jobs: Build 🔍
      🔍 Build              Pass:  86%/37  | Total:  4h 20m | Avg:  7m 02s | Max: 48m 21s | Hits:  99%/2349  
      🟩 DeviceLaunch       Pass: 100%/1   | Total: 25m 07s | Avg: 25m 07s | Max: 25m 07s
      🟩 GraphCapture       Pass: 100%/1   | Total: 28m 30s | Avg: 28m 30s | Max: 28m 30s
      🟩 HostLaunch         Pass: 100%/3   | Total:  1h 09m | Avg: 23m 17s | Max: 34m 55s
      🟩 TestGPU            Pass: 100%/2   | Total: 51m 34s | Avg: 25m 47s | Max: 25m 52s
    🟨 ctk
      🟨 11.1               Pass:  75%/4   | Total:  1h 02m | Avg: 15m 31s | Max: 48m 21s
      🟩 12.5               Pass: 100%/2   | Total: 18m 20s | Avg:  9m 10s | Max:  9m 26s
      🟨 12.6               Pass:  89%/38  | Total:  5h 54m | Avg:  9m 20s | Max: 34m 55s | Hits:  99%/2349  
    🟨 cudacxx
      🟩 ClangCUDA18        Pass: 100%/2   | Total:  8m 49s | Avg:  4m 24s | Max:  4m 27s
      🟨 nvcc11.1           Pass:  75%/4   | Total:  1h 02m | Avg: 15m 31s | Max: 48m 21s
      🟩 nvcc12.5           Pass: 100%/2   | Total: 18m 20s | Avg:  9m 10s | Max:  9m 26s
      🟨 nvcc12.6           Pass:  88%/36  | Total:  5h 46m | Avg:  9m 36s | Max: 34m 55s | Hits:  99%/2349  
    🟨 cxx
      🟨 Clang9             Pass:  33%/3   | Total:  9m 05s | Avg:  3m 01s | Max:  4m 48s
      🟩 Clang10            Pass: 100%/1   | Total:  6m 32s | Avg:  6m 32s | Max:  6m 32s
      🟩 Clang11            Pass: 100%/1   | Total:  5m 12s | Avg:  5m 12s | Max:  5m 12s
      🟩 Clang12            Pass: 100%/1   | Total:  5m 37s | Avg:  5m 37s | Max:  5m 37s
      🟩 Clang13            Pass: 100%/1   | Total:  5m 28s | Avg:  5m 28s | Max:  5m 28s
      🟩 Clang14            Pass: 100%/1   | Total:  5m 09s | Avg:  5m 09s | Max:  5m 09s
      🟩 Clang15            Pass: 100%/1   | Total:  5m 51s | Avg:  5m 51s | Max:  5m 51s
      🟩 Clang16            Pass: 100%/1   | Total:  5m 55s | Avg:  5m 55s | Max:  5m 55s
      🟩 Clang17            Pass: 100%/1   | Total:  5m 18s | Avg:  5m 18s | Max:  5m 18s
      🟩 Clang18            Pass: 100%/7   | Total:  1h 25m | Avg: 12m 10s | Max: 34m 55s
      🟨 GCC7               Pass:  33%/3   | Total:  8m 19s | Avg:  2m 46s | Max:  4m 17s
      🟩 GCC8               Pass: 100%/1   | Total:  5m 43s | Avg:  5m 43s | Max:  5m 43s
      🟩 GCC9               Pass: 100%/2   | Total: 10m 09s | Avg:  5m 04s | Max:  5m 31s
      🟩 GCC10              Pass: 100%/1   | Total:  5m 19s | Avg:  5m 19s | Max:  5m 19s
      🟩 GCC11              Pass: 100%/1   | Total:  5m 41s | Avg:  5m 41s | Max:  5m 41s
      🟩 GCC12              Pass: 100%/3   | Total: 26m 14s | Avg:  8m 44s | Max: 16m 03s
      🟩 GCC13              Pass: 100%/8   | Total:  1h 59m | Avg: 14m 59s | Max: 28m 30s
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  6m 39s | Avg:  6m 39s | Max:  6m 39s
      🟨 MSVC14.29          Pass:  50%/2   | Total:  1h 01m | Avg: 30m 47s | Max: 48m 21s | Hits:  99%/783   
      🟩 MSVC14.39          Pass: 100%/2   | Total: 28m 07s | Avg: 14m 03s | Max: 14m 21s | Hits:  99%/1566  
      🟩 NVHPC24.7          Pass: 100%/2   | Total: 18m 20s | Avg:  9m 10s | Max:  9m 26s
    🟨 cxx_family
      🟨 Clang              Pass:  88%/18  | Total:  2h 19m | Avg:  7m 44s | Max: 34m 55s
      🟨 GCC                Pass:  89%/19  | Total:  3h 01m | Avg:  9m 32s | Max: 28m 30s
      🟩 Intel              Pass: 100%/1   | Total:  6m 39s | Avg:  6m 39s | Max:  6m 39s
      🟨 MSVC               Pass:  75%/4   | Total:  1h 29m | Avg: 22m 25s | Max: 48m 21s | Hits:  99%/2349  
      🟩 NVHPC              Pass: 100%/2   | Total: 18m 20s | Avg:  9m 10s | Max:  9m 26s
    🟨 std
      🟥 11                 Pass:   0%/2   | Total:  4m 18s | Avg:  2m 09s | Max:  2m 14s
      🟥 14                 Pass:   0%/2   | Total:  4m 01s | Avg:  2m 00s | Max:  2m 03s
      🟨 17                 Pass:  92%/14  | Total:  2h 18m | Avg:  9m 53s | Max: 48m 21s | Hits:  99%/1566  
      🟩 20                 Pass: 100%/26  | Total:  4h 48m | Avg: 11m 05s | Max: 34m 55s | Hits:  99%/783   
    🟩 sm
      🟩 90                 Pass: 100%/2   | Total: 20m 27s | Avg: 10m 13s | Max: 16m 03s
      🟩 90a                Pass: 100%/1   | Total:  4m 32s | Avg:  4m 32s | Max:  4m 32s
    
  • 🟨 thrust: Pass: 88%/43 | Total: 6h 39m | Avg: 9m 17s | Max: 53m 40s | Hits: 99%/7408

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  87%/41  | Total:  6h 29m | Avg:  9m 30s | Max: 53m 40s | Hits:  99%/7408  
      🟩 arm64              Pass: 100%/2   | Total:  9m 43s | Avg:  4m 51s | Max:  5m 09s
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/2   | Total:  9m 52s | Avg:  4m 56s | Max:  5m 00s
      🔍 nvcc               Pass:  87%/41  | Total:  6h 29m | Avg:  9m 30s | Max: 53m 40s | Hits:  99%/7408  
    🔍 jobs: Build 🔍
      🔍 Build              Pass:  86%/37  | Total:  4h 50m | Avg:  7m 51s | Max: 53m 40s | Hits:  99%/5556  
      🟩 TestCPU            Pass: 100%/3   | Total: 37m 50s | Avg: 12m 36s | Max: 22m 41s | Hits:  99%/1852  
      🟩 TestGPU            Pass: 100%/3   | Total:  1h 11m | Avg: 23m 43s | Max: 31m 55s
    🟨 ctk
      🟨 11.1               Pass:  75%/4   | Total:  1h 07m | Avg: 16m 47s | Max: 53m 40s
      🟩 12.5               Pass: 100%/2   | Total: 29m 40s | Avg: 14m 50s | Max: 15m 17s
      🟨 12.6               Pass:  89%/37  | Total:  5h 02m | Avg:  8m 11s | Max: 31m 55s | Hits:  99%/7408  
    🟨 cudacxx
      🟩 ClangCUDA18        Pass: 100%/2   | Total:  9m 52s | Avg:  4m 56s | Max:  5m 00s
      🟨 nvcc11.1           Pass:  75%/4   | Total:  1h 07m | Avg: 16m 47s | Max: 53m 40s
      🟩 nvcc12.5           Pass: 100%/2   | Total: 29m 40s | Avg: 14m 50s | Max: 15m 17s
      🟨 nvcc12.6           Pass:  88%/35  | Total:  4h 53m | Avg:  8m 22s | Max: 31m 55s | Hits:  99%/7408  
    🟨 cxx
      🟨 Clang9             Pass:  33%/3   | Total:  8m 31s | Avg:  2m 50s | Max:  4m 25s
      🟩 Clang10            Pass: 100%/1   | Total:  6m 39s | Avg:  6m 39s | Max:  6m 39s
      🟩 Clang11            Pass: 100%/1   | Total:  5m 21s | Avg:  5m 21s | Max:  5m 21s
      🟩 Clang12            Pass: 100%/1   | Total:  4m 53s | Avg:  4m 53s | Max:  4m 53s
      🟩 Clang13            Pass: 100%/1   | Total:  5m 03s | Avg:  5m 03s | Max:  5m 03s
      🟩 Clang14            Pass: 100%/1   | Total:  5m 36s | Avg:  5m 36s | Max:  5m 36s
      🟩 Clang15            Pass: 100%/1   | Total:  5m 47s | Avg:  5m 47s | Max:  5m 47s
      🟩 Clang16            Pass: 100%/1   | Total:  5m 25s | Avg:  5m 25s | Max:  5m 25s
      🟩 Clang17            Pass: 100%/1   | Total:  5m 50s | Avg:  5m 50s | Max:  5m 50s
      🟩 Clang18            Pass: 100%/7   | Total: 59m 13s | Avg:  8m 27s | Max: 26m 26s
      🟨 GCC7               Pass:  33%/3   | Total:  8m 31s | Avg:  2m 50s | Max:  4m 31s
      🟩 GCC8               Pass: 100%/1   | Total:  5m 26s | Avg:  5m 26s | Max:  5m 26s
      🟩 GCC9               Pass: 100%/2   | Total: 10m 26s | Avg:  5m 13s | Max:  5m 53s
      🟩 GCC10              Pass: 100%/1   | Total:  5m 46s | Avg:  5m 46s | Max:  5m 46s
      🟩 GCC11              Pass: 100%/1   | Total:  5m 53s | Avg:  5m 53s | Max:  5m 53s
      🟩 GCC12              Pass: 100%/1   | Total:  5m 28s | Avg:  5m 28s | Max:  5m 28s
      🟩 GCC13              Pass: 100%/8   | Total:  1h 20m | Avg: 10m 03s | Max: 31m 55s
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  7m 35s | Avg:  7m 35s | Max:  7m 35s
      🟨 MSVC14.29          Pass:  50%/2   | Total:  1h 10m | Avg: 35m 04s | Max: 53m 40s | Hits:  99%/1852  
      🟩 MSVC14.39          Pass: 100%/3   | Total: 58m 00s | Avg: 19m 20s | Max: 22m 41s | Hits:  99%/5556  
      🟩 NVHPC24.7          Pass: 100%/2   | Total: 29m 40s | Avg: 14m 50s | Max: 15m 17s
    🟨 cxx_family
      🟨 Clang              Pass:  88%/18  | Total:  1h 52m | Avg:  6m 14s | Max: 26m 26s
      🟨 GCC                Pass:  88%/17  | Total:  2h 02m | Avg:  7m 10s | Max: 31m 55s
      🟩 Intel              Pass: 100%/1   | Total:  7m 35s | Avg:  7m 35s | Max:  7m 35s
      🟨 MSVC               Pass:  80%/5   | Total:  2h 08m | Avg: 25m 37s | Max: 53m 40s | Hits:  99%/7408  
      🟩 NVHPC              Pass: 100%/2   | Total: 29m 40s | Avg: 14m 50s | Max: 15m 17s
    🟨 std
      🟥 11                 Pass:   0%/2   | Total:  4m 08s | Avg:  2m 04s | Max:  2m 05s
      🟥 14                 Pass:   0%/2   | Total:  3m 58s | Avg:  1m 59s | Max:  2m 03s
      🟨 17                 Pass:  92%/14  | Total:  2h 38m | Avg: 11m 17s | Max: 53m 40s | Hits:  99%/3704  
      🟩 20                 Pass: 100%/23  | Total:  3h 34m | Avg:  9m 20s | Max: 31m 55s | Hits:  99%/3704  
    🟨 gpu
      🟨 v100               Pass:  88%/43  | Total:  6h 39m | Avg:  9m 17s | Max: 53m 40s | Hits:  99%/7408  
    🟩 cmake_options
      🟩 -DTHRUST_DISPATCH_TYPE=Force32bit Pass: 100%/2   | Total: 18m 32s | Avg:  9m 16s | Max: 12m 49s
    🟩 sm
      🟩 90a                Pass: 100%/1   | Total:  4m 20s | Avg:  4m 20s | Max:  4m 20s
    
  • 🟨 libcudacxx: Pass: 95%/49 | Total: 8h 27m | Avg: 10m 20s | Max: 38m 03s | Hits: 99%/7578

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  95%/47  | Total:  8h 20m | Avg: 10m 38s | Max: 38m 03s | Hits:  99%/7578  
      🟩 arm64              Pass: 100%/2   | Total:  6m 59s | Avg:  3m 29s | Max:  3m 39s
    🔍 ctk: 11.1 🔍
      🔍 11.1               Pass:  75%/8   | Total:  1h 29m | Avg: 11m 12s | Max: 38m 03s
      🟩 12.5               Pass: 100%/2   | Total: 38m 05s | Avg: 19m 02s | Max: 29m 57s
      🟩 12.6               Pass: 100%/39  | Total:  6h 19m | Avg:  9m 43s | Max: 37m 40s | Hits:  99%/7578  
    🔍 cudacxx: nvcc11.1 🔍
      🟩 ClangCUDA18        Pass: 100%/4   | Total:  1h 09m | Avg: 17m 19s | Max: 22m 00s
      🔍 nvcc11.1           Pass:  75%/8   | Total:  1h 29m | Avg: 11m 12s | Max: 38m 03s
      🟩 nvcc12.5           Pass: 100%/2   | Total: 38m 05s | Avg: 19m 02s | Max: 29m 57s
      🟩 nvcc12.6           Pass: 100%/35  | Total:  5h 10m | Avg:  8m 51s | Max: 37m 40s | Hits:  99%/7578  
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/4   | Total:  1h 09m | Avg: 17m 19s | Max: 22m 00s
      🔍 nvcc               Pass:  95%/45  | Total:  7h 17m | Avg:  9m 43s | Max: 38m 03s | Hits:  99%/7578  
    🔍 cxx: MSVC14.29 🔍
      🟩 Clang9             Pass: 100%/4   | Total: 15m 35s | Avg:  3m 53s | Max:  4m 51s
      🟩 Clang10            Pass: 100%/1   | Total:  5m 08s | Avg:  5m 08s | Max:  5m 08s
      🟩 Clang11            Pass: 100%/1   | Total:  4m 05s | Avg:  4m 05s | Max:  4m 05s
      🟩 Clang12            Pass: 100%/1   | Total:  3m 55s | Avg:  3m 55s | Max:  3m 55s
      🟩 Clang13            Pass: 100%/1   | Total:  4m 03s | Avg:  4m 03s | Max:  4m 03s
      🟩 Clang14            Pass: 100%/1   | Total:  4m 18s | Avg:  4m 18s | Max:  4m 18s
      🟩 Clang15            Pass: 100%/1   | Total:  4m 05s | Avg:  4m 05s | Max:  4m 05s
      🟩 Clang16            Pass: 100%/1   | Total:  4m 08s | Avg:  4m 08s | Max:  4m 08s
      🟩 Clang17            Pass: 100%/1   | Total:  4m 35s | Avg:  4m 35s | Max:  4m 35s
      🟩 Clang18            Pass: 100%/8   | Total:  1h 38m | Avg: 12m 17s | Max: 22m 00s
      🟩 GCC7               Pass: 100%/4   | Total: 26m 10s | Avg:  6m 32s | Max: 17m 01s
      🟩 GCC8               Pass: 100%/1   | Total:  3m 21s | Avg:  3m 21s | Max:  3m 21s
      🟩 GCC9               Pass: 100%/3   | Total:  9m 06s | Avg:  3m 02s | Max:  3m 43s
      🟩 GCC10              Pass: 100%/1   | Total:  3m 34s | Avg:  3m 34s | Max:  3m 34s
      🟩 GCC11              Pass: 100%/1   | Total:  3m 36s | Avg:  3m 36s | Max:  3m 36s
      🟩 GCC12              Pass: 100%/1   | Total:  4m 08s | Avg:  4m 08s | Max:  4m 08s
      🟩 GCC13              Pass: 100%/10  | Total:  2h 46m | Avg: 16m 36s | Max: 37m 40s
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  5m 30s | Avg:  5m 30s | Max:  5m 30s
      🔍 MSVC14.29          Pass:  33%/3   | Total:  1h 11m | Avg: 23m 50s | Max: 38m 03s | Hits:  99%/2477  
      🟩 MSVC14.39          Pass: 100%/2   | Total: 27m 52s | Avg: 13m 56s | Max: 14m 10s | Hits:  99%/5101  
      🟩 NVHPC24.7          Pass: 100%/2   | Total: 38m 05s | Avg: 19m 02s | Max: 29m 57s
    🔍 cxx_family: MSVC 🔍
      🟩 Clang              Pass: 100%/20  | Total:  2h 28m | Avg:  7m 24s | Max: 22m 00s
      🟩 GCC                Pass: 100%/21  | Total:  3h 35m | Avg: 10m 17s | Max: 37m 40s
      🟩 Intel              Pass: 100%/1   | Total:  5m 30s | Avg:  5m 30s | Max:  5m 30s
      🔍 MSVC               Pass:  60%/5   | Total:  1h 39m | Avg: 19m 52s | Max: 38m 03s | Hits:  99%/7578  
      🟩 NVHPC              Pass: 100%/2   | Total: 38m 05s | Avg: 19m 02s | Max: 29m 57s
    🔍 jobs: Build 🔍
      🔍 Build              Pass:  95%/42  | Total:  5h 39m | Avg:  8m 04s | Max: 38m 03s | Hits:  99%/7578  
      🟩 NVRTC              Pass: 100%/4   | Total:  2h 10m | Avg: 32m 43s | Max: 37m 40s
      🟩 Test               Pass: 100%/2   | Total: 34m 49s | Avg: 17m 24s | Max: 17m 49s
      🟩 VerifyCodegen      Pass: 100%/1   | Total:  1m 59s | Avg:  1m 59s | Max:  1m 59s
    🟨 std
      🟩 11                 Pass: 100%/6   | Total: 48m 17s | Avg:  8m 02s | Max: 33m 08s
      🟨 14                 Pass:  75%/4   | Total:  1h 05m | Avg: 16m 22s | Max: 36m 54s
      🟨 17                 Pass:  93%/15  | Total:  3h 07m | Avg: 12m 28s | Max: 38m 03s | Hits:  99%/4954  
      🟩 20                 Pass: 100%/23  | Total:  3h 24m | Avg:  8m 52s | Max: 37m 40s | Hits:  98%/2624  
    🟨 gpu
      🟨 v100               Pass:  95%/49  | Total:  8h 27m | Avg: 10m 20s | Max: 38m 03s | Hits:  99%/7578  
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total: 14m 12s | Avg: 14m 12s | Max: 14m 12s
      🟩 90a                Pass: 100%/2   | Total: 17m 45s | Avg:  8m 52s | Max: 13m 40s
    
  • 🟩 cudax: Pass: 100%/26 | Total: 2h 07m | Avg: 4m 54s | Max: 20m 15s | Hits: 92%/312

    🟩 cpu
      🟩 amd64              Pass: 100%/22  | Total:  1h 57m | Avg:  5m 20s | Max: 20m 15s | Hits:  92%/312   
      🟩 arm64              Pass: 100%/4   | Total: 10m 22s | Avg:  2m 35s | Max:  2m 42s
    🟩 ctk
      🟩 12.0               Pass: 100%/3   | Total: 15m 16s | Avg:  5m 05s | Max:  9m 27s | Hits:  92%/156   
      🟩 12.5               Pass: 100%/2   | Total: 10m 48s | Avg:  5m 24s | Max:  5m 40s
      🟩 12.6               Pass: 100%/21  | Total:  1h 41m | Avg:  4m 50s | Max: 20m 15s | Hits:  92%/156   
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/3   | Total: 15m 16s | Avg:  5m 05s | Max:  9m 27s | Hits:  92%/156   
      🟩 nvcc12.5           Pass: 100%/2   | Total: 10m 48s | Avg:  5m 24s | Max:  5m 40s
      🟩 nvcc12.6           Pass: 100%/21  | Total:  1h 41m | Avg:  4m 50s | Max: 20m 15s | Hits:  92%/156   
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/26  | Total:  2h 07m | Avg:  4m 54s | Max: 20m 15s | Hits:  92%/312   
    🟩 cxx
      🟩 Clang9             Pass: 100%/1   | Total:  3m 02s | Avg:  3m 02s | Max:  3m 02s
      🟩 Clang10            Pass: 100%/1   | Total:  3m 53s | Avg:  3m 53s | Max:  3m 53s
      🟩 Clang11            Pass: 100%/1   | Total:  3m 07s | Avg:  3m 07s | Max:  3m 07s
      🟩 Clang12            Pass: 100%/1   | Total:  3m 02s | Avg:  3m 02s | Max:  3m 02s
      🟩 Clang13            Pass: 100%/1   | Total:  3m 18s | Avg:  3m 18s | Max:  3m 18s
      🟩 Clang14            Pass: 100%/1   | Total:  3m 25s | Avg:  3m 25s | Max:  3m 25s
      🟩 Clang15            Pass: 100%/1   | Total:  3m 08s | Avg:  3m 08s | Max:  3m 08s
      🟩 Clang16            Pass: 100%/1   | Total:  3m 25s | Avg:  3m 25s | Max:  3m 25s
      🟩 Clang17            Pass: 100%/1   | Total:  3m 08s | Avg:  3m 08s | Max:  3m 08s
      🟩 Clang18            Pass: 100%/4   | Total: 25m 54s | Avg:  6m 28s | Max: 17m 22s
      🟩 GCC9               Pass: 100%/1   | Total:  2m 47s | Avg:  2m 47s | Max:  2m 47s
      🟩 GCC10              Pass: 100%/1   | Total:  3m 10s | Avg:  3m 10s | Max:  3m 10s
      🟩 GCC11              Pass: 100%/1   | Total:  3m 04s | Avg:  3m 04s | Max:  3m 04s
      🟩 GCC12              Pass: 100%/2   | Total: 23m 34s | Avg: 11m 47s | Max: 20m 15s
      🟩 GCC13              Pass: 100%/4   | Total: 10m 47s | Avg:  2m 41s | Max:  2m 54s
      🟩 MSVC14.36          Pass: 100%/1   | Total:  9m 27s | Avg:  9m 27s | Max:  9m 27s | Hits:  92%/156   
      🟩 MSVC14.39          Pass: 100%/1   | Total:  8m 50s | Avg:  8m 50s | Max:  8m 50s | Hits:  92%/156   
      🟩 NVHPC24.7          Pass: 100%/2   | Total: 10m 48s | Avg:  5m 24s | Max:  5m 40s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/13  | Total: 55m 22s | Avg:  4m 15s | Max: 17m 22s
      🟩 GCC                Pass: 100%/9   | Total: 43m 22s | Avg:  4m 49s | Max: 20m 15s
      🟩 MSVC               Pass: 100%/2   | Total: 18m 17s | Avg:  9m 08s | Max:  9m 27s | Hits:  92%/312   
      🟩 NVHPC              Pass: 100%/2   | Total: 10m 48s | Avg:  5m 24s | Max:  5m 40s
    🟩 gpu
      🟩 v100               Pass: 100%/26  | Total:  2h 07m | Avg:  4m 54s | Max: 20m 15s | Hits:  92%/312   
    🟩 jobs
      🟩 Build              Pass: 100%/24  | Total:  1h 30m | Avg:  3m 45s | Max:  9m 27s | Hits:  92%/312   
      🟩 Test               Pass: 100%/2   | Total: 37m 37s | Avg: 18m 48s | Max: 20m 15s
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  2m 54s | Avg:  2m 54s | Max:  2m 54s
      🟩 90a                Pass: 100%/1   | Total:  2m 44s | Avg:  2m 44s | Max:  2m 44s
    🟩 std
      🟩 17                 Pass: 100%/6   | Total: 19m 36s | Avg:  3m 16s | Max:  5m 40s
      🟩 20                 Pass: 100%/20  | Total:  1h 48m | Avg:  5m 24s | Max: 20m 15s | Hits:  92%/312   
    
  • 🟩 cccl: Pass: 100%/6 | Total: 27m 23s | Avg: 4m 33s | Max: 4m 50s

    🟩 cpu
      🟩 amd64              Pass: 100%/6   | Total: 27m 23s | Avg:  4m 33s | Max:  4m 50s
    🟩 ctk
      🟩 11.1               Pass: 100%/2   | Total:  9m 02s | Avg:  4m 31s | Max:  4m 31s
      🟩 12.0               Pass: 100%/2   | Total:  9m 16s | Avg:  4m 38s | Max:  4m 50s
      🟩 12.6               Pass: 100%/2   | Total:  9m 05s | Avg:  4m 32s | Max:  4m 43s
    🟩 cudacxx
      🟩 nvcc11.1           Pass: 100%/2   | Total:  9m 02s | Avg:  4m 31s | Max:  4m 31s
      🟩 nvcc12.0           Pass: 100%/2   | Total:  9m 16s | Avg:  4m 38s | Max:  4m 50s
      🟩 nvcc12.6           Pass: 100%/2   | Total:  9m 05s | Avg:  4m 32s | Max:  4m 43s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/6   | Total: 27m 23s | Avg:  4m 33s | Max:  4m 50s
    🟩 cxx
      🟩 Clang9             Pass: 100%/1   | Total:  4m 31s | Avg:  4m 31s | Max:  4m 31s
      🟩 Clang14            Pass: 100%/1   | Total:  4m 50s | Avg:  4m 50s | Max:  4m 50s
      🟩 Clang18            Pass: 100%/1   | Total:  4m 43s | Avg:  4m 43s | Max:  4m 43s
      🟩 GCC6               Pass: 100%/1   | Total:  4m 31s | Avg:  4m 31s | Max:  4m 31s
      🟩 GCC12              Pass: 100%/1   | Total:  4m 26s | Avg:  4m 26s | Max:  4m 26s
      🟩 GCC13              Pass: 100%/1   | Total:  4m 22s | Avg:  4m 22s | Max:  4m 22s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/3   | Total: 14m 04s | Avg:  4m 41s | Max:  4m 50s
      🟩 GCC                Pass: 100%/3   | Total: 13m 19s | Avg:  4m 26s | Max:  4m 31s
    🟩 gpu
      🟩 v100               Pass: 100%/6   | Total: 27m 23s | Avg:  4m 33s | Max:  4m 50s
    🟩 jobs
      🟩 Infra              Pass: 100%/6   | Total: 27m 23s | Avg:  4m 33s | Max:  4m 50s
    
  • 🟩 cccl_c_parallel: Pass: 100%/2 | Total: 13m 27s | Avg: 6m 43s | Max: 11m 27s

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total: 13m 27s | Avg:  6m 43s | Max: 11m 27s
    🟩 ctk
      🟩 12.6               Pass: 100%/2   | Total: 13m 27s | Avg:  6m 43s | Max: 11m 27s
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/2   | Total: 13m 27s | Avg:  6m 43s | Max: 11m 27s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total: 13m 27s | Avg:  6m 43s | Max: 11m 27s
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total: 13m 27s | Avg:  6m 43s | Max: 11m 27s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total: 13m 27s | Avg:  6m 43s | Max: 11m 27s
    🟩 gpu
      🟩 v100               Pass: 100%/2   | Total: 13m 27s | Avg:  6m 43s | Max: 11m 27s
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  2m 00s | Avg:  2m 00s | Max:  2m 00s
      🟩 Test               Pass: 100%/1   | Total: 11m 27s | Avg: 11m 27s | Max: 11m 27s
    
  • 🟩 python: Pass: 100%/1 | Total: 28m 28s | Avg: 28m 28s | Max: 28m 28s

    🟩 cpu
      🟩 amd64              Pass: 100%/1   | Total: 28m 28s | Avg: 28m 28s | Max: 28m 28s
    🟩 ctk
      🟩 12.6               Pass: 100%/1   | Total: 28m 28s | Avg: 28m 28s | Max: 28m 28s
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/1   | Total: 28m 28s | Avg: 28m 28s | Max: 28m 28s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/1   | Total: 28m 28s | Avg: 28m 28s | Max: 28m 28s
    🟩 cxx
      🟩 GCC13              Pass: 100%/1   | Total: 28m 28s | Avg: 28m 28s | Max: 28m 28s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/1   | Total: 28m 28s | Avg: 28m 28s | Max: 28m 28s
    🟩 gpu
      🟩 v100               Pass: 100%/1   | Total: 28m 28s | Avg: 28m 28s | Max: 28m 28s
    🟩 jobs
      🟩 Test               Pass: 100%/1   | Total: 28m 28s | Avg: 28m 28s | Max: 28m 28s
    

👃 Inspect Changes

Modifications in project?

Project
+/- CCCL Infrastructure
+/- libcu++
+/- CUB
+/- Thrust
CUDA Experimental
python
CCCL C Parallel Library
Catch2Helper

Modifications in project or dependencies?

Project
+/- CCCL Infrastructure
+/- libcu++
+/- CUB
+/- Thrust
+/- CUDA Experimental
+/- python
+/- CCCL C Parallel Library
+/- Catch2Helper

🏃‍ Runner counts (total jobs: 171)

# Runner
119 linux-amd64-cpu16
25 linux-amd64-gpu-v100-latest-1
16 windows-amd64-cpu16
10 linux-arm64-cpu16
1 linux-amd64-gpu-h100-latest-1-testing

@bernhardmgruber bernhardmgruber force-pushed the cpp17 branch 3 times, most recently from c61cefa to 27d6f98 Compare January 8, 2025 08:13
Comment on lines +16 to +17
- {jobs: ['build'], std: [11, 14], cxx: ['gcc7', 'clang9'], project: 'libcudacxx'}
- {jobs: ['build'], std: [17], cxx: ['gcc7', 'clang9']}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will spawn an additional libcu++ job for C++17, but @miscco says this is fine since building libcu++ is cheap.

@bernhardmgruber
Copy link
Contributor Author

I compared the generated CI jobs with a different PR (https://github.com/NVIDIA/cccl/actions/runs/12666242412) and it all looks good except that this job is suddently missing from this PR: Thrust CTK12.6 nvcc MSVC / Lk / [C++20 MSVC14.39] TestCPU(amd64)

@miscco
Copy link
Collaborator

miscco commented Jan 8, 2025

I compared the generated CI jobs with a different PR (https://github.com/NVIDIA/cccl/actions/runs/12666242412) and it all looks good except that this job is suddently missing from this PR: Thrust CTK12.6 nvcc MSVC / Lk / [C++20 MSVC14.39] TestCPU(amd64)

I believe its here https://github.com/NVIDIA/cccl/actions/runs/12666572193/job/35303368647?pr=3255

@bernhardmgruber
Copy link
Contributor Author

I compared the generated CI jobs with a different PR (https://github.com/NVIDIA/cccl/actions/runs/12666242412) and it all looks good except that this job is suddently missing from this PR: Thrust CTK12.6 nvcc MSVC / Lk / [C++20 MSVC14.39] TestCPU(amd64)

I believe its here https://github.com/NVIDIA/cccl/actions/runs/12666572193/job/35303368647?pr=3255

lol. It just started :D

image

@bernhardmgruber
Copy link
Contributor Author

The remaining CI failures are only occuring for nvcc 11.1. Maybe it's best if we first push a PR to remove CTK 11.x, and then rebase.

Copy link
Contributor

github-actions bot commented Jan 8, 2025

🟨 CI finished in 1h 09m: Pass: 97%/169 | Total: 1d 02h | Avg: 9m 26s | Max: 45m 12s | Hits: 70%/17650
  • 🟨 libcudacxx: Pass: 96%/51 | Total: 9h 53m | Avg: 11m 38s | Max: 41m 26s | Hits: 32%/7590

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  95%/49  | Total:  9h 46m | Avg: 11m 58s | Max: 41m 26s | Hits:  32%/7590  
      🟩 arm64              Pass: 100%/2   | Total:  7m 04s | Avg:  3m 32s | Max:  3m 46s
    🔍 ctk: 11.1 🔍
      🔍 11.1               Pass:  75%/8   | Total:  1h 06m | Avg:  8m 16s | Max: 32m 47s
      🟩 12.5               Pass: 100%/2   | Total:  1h 01m | Avg: 30m 56s | Max: 31m 18s
      🟩 12.6               Pass: 100%/41  | Total:  7h 45m | Avg: 11m 21s | Max: 41m 26s | Hits:  32%/7590  
    🔍 cudacxx: nvcc11.1 🔍
      🟩 ClangCUDA18        Pass: 100%/4   | Total:  1h 06m | Avg: 16m 34s | Max: 22m 12s
      🔍 nvcc11.1           Pass:  75%/8   | Total:  1h 06m | Avg:  8m 16s | Max: 32m 47s
      🟩 nvcc12.5           Pass: 100%/2   | Total:  1h 01m | Avg: 30m 56s | Max: 31m 18s
      🟩 nvcc12.6           Pass: 100%/37  | Total:  6h 39m | Avg: 10m 47s | Max: 41m 26s | Hits:  32%/7590  
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/4   | Total:  1h 06m | Avg: 16m 34s | Max: 22m 12s
      🔍 nvcc               Pass:  95%/47  | Total:  8h 47m | Avg: 11m 13s | Max: 41m 26s | Hits:  32%/7590  
    🔍 cxx: MSVC14.29 🔍
      🟩 Clang9             Pass: 100%/5   | Total: 20m 57s | Avg:  4m 11s | Max:  5m 22s
      🟩 Clang10            Pass: 100%/1   | Total:  4m 39s | Avg:  4m 39s | Max:  4m 39s
      🟩 Clang11            Pass: 100%/1   | Total:  4m 06s | Avg:  4m 06s | Max:  4m 06s
      🟩 Clang12            Pass: 100%/1   | Total:  4m 22s | Avg:  4m 22s | Max:  4m 22s
      🟩 Clang13            Pass: 100%/1   | Total:  4m 19s | Avg:  4m 19s | Max:  4m 19s
      🟩 Clang14            Pass: 100%/1   | Total:  4m 19s | Avg:  4m 19s | Max:  4m 19s
      🟩 Clang15            Pass: 100%/1   | Total:  4m 45s | Avg:  4m 45s | Max:  4m 45s
      🟩 Clang16            Pass: 100%/1   | Total:  4m 19s | Avg:  4m 19s | Max:  4m 19s
      🟩 Clang17            Pass: 100%/1   | Total:  4m 08s | Avg:  4m 08s | Max:  4m 08s
      🟩 Clang18            Pass: 100%/8   | Total:  1h 44m | Avg: 13m 06s | Max: 25m 59s
      🟩 GCC7               Pass: 100%/5   | Total: 15m 29s | Avg:  3m 05s | Max:  3m 36s
      🟩 GCC8               Pass: 100%/1   | Total:  3m 29s | Avg:  3m 29s | Max:  3m 29s
      🟩 GCC9               Pass: 100%/3   | Total:  9m 37s | Avg:  3m 12s | Max:  3m 50s
      🟩 GCC10              Pass: 100%/1   | Total:  3m 37s | Avg:  3m 37s | Max:  3m 37s
      🟩 GCC11              Pass: 100%/1   | Total:  3m 44s | Avg:  3m 44s | Max:  3m 44s
      🟩 GCC12              Pass: 100%/1   | Total:  4m 06s | Avg:  4m 06s | Max:  4m 06s
      🟩 GCC13              Pass: 100%/10  | Total:  2h 46m | Avg: 16m 41s | Max: 41m 26s
      🟩 Intel2023.2.0      Pass: 100%/1   | Total: 13m 42s | Avg: 13m 42s | Max: 13m 42s
      🔍 MSVC14.29          Pass:  33%/3   | Total:  1h 22m | Avg: 27m 32s | Max: 34m 03s | Hits:  31%/2481  
      🟩 MSVC14.39          Pass: 100%/2   | Total:  1h 07m | Avg: 33m 53s | Max: 34m 58s | Hits:  33%/5109  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  1h 01m | Avg: 30m 56s | Max: 31m 18s
    🔍 cxx_family: MSVC 🔍
      🟩 Clang              Pass: 100%/21  | Total:  2h 40m | Avg:  7m 39s | Max: 25m 59s
      🟩 GCC                Pass: 100%/22  | Total:  3h 27m | Avg:  9m 24s | Max: 41m 26s
      🟩 Intel              Pass: 100%/1   | Total: 13m 42s | Avg: 13m 42s | Max: 13m 42s
      🔍 MSVC               Pass:  60%/5   | Total:  2h 30m | Avg: 30m 04s | Max: 34m 58s | Hits:  32%/7590  
      🟩 NVHPC              Pass: 100%/2   | Total:  1h 01m | Avg: 30m 56s | Max: 31m 18s
    🔍 jobs: Build 🔍
      🔍 Build              Pass:  95%/44  | Total:  6h 55m | Avg:  9m 26s | Max: 34m 58s | Hits:  32%/7590  
      🟩 NVRTC              Pass: 100%/4   | Total:  2h 04m | Avg: 31m 09s | Max: 41m 26s
      🟩 Test               Pass: 100%/2   | Total: 51m 32s | Avg: 25m 46s | Max: 25m 59s
      🟩 VerifyCodegen      Pass: 100%/1   | Total:  1m 52s | Avg:  1m 52s | Max:  1m 52s
    🟨 std
      🟩 11                 Pass: 100%/6   | Total: 51m 57s | Avg:  8m 39s | Max: 36m 28s
      🟨 14                 Pass:  75%/4   | Total: 48m 32s | Avg: 12m 08s | Max: 24m 18s
      🟨 17                 Pass:  94%/17  | Total:  3h 43m | Avg: 13m 09s | Max: 34m 03s | Hits:  31%/4962  
      🟩 20                 Pass: 100%/23  | Total:  4h 27m | Avg: 11m 38s | Max: 41m 26s | Hits:  35%/2628  
    🟨 gpu
      🟨 v100               Pass:  96%/51  | Total:  9h 53m | Avg: 11m 38s | Max: 41m 26s | Hits:  32%/7590  
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total: 12m 54s | Avg: 12m 54s | Max: 12m 54s
      🟩 90a                Pass: 100%/2   | Total: 16m 54s | Avg:  8m 27s | Max: 12m 56s
    
  • 🟨 cub: Pass: 97%/42 | Total: 7h 36m | Avg: 10m 52s | Max: 45m 12s | Hits: 99%/2340

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  97%/40  | Total:  7h 27m | Avg: 11m 10s | Max: 45m 12s | Hits:  99%/2340  
      🟩 arm64              Pass: 100%/2   | Total:  9m 38s | Avg:  4m 49s | Max:  5m 01s
    🔍 ctk: 11.1 🔍
      🔍 11.1               Pass:  75%/4   | Total: 26m 09s | Avg:  6m 32s | Max: 12m 36s
      🟩 12.5               Pass: 100%/2   | Total: 18m 45s | Avg:  9m 22s | Max:  9m 50s
      🟩 12.6               Pass: 100%/36  | Total:  6h 51m | Avg: 11m 26s | Max: 45m 12s | Hits:  99%/2340  
    🔍 cudacxx: nvcc11.1 🔍
      🟩 ClangCUDA18        Pass: 100%/2   | Total:  8m 45s | Avg:  4m 22s | Max:  4m 28s
      🔍 nvcc11.1           Pass:  75%/4   | Total: 26m 09s | Avg:  6m 32s | Max: 12m 36s
      🟩 nvcc12.5           Pass: 100%/2   | Total: 18m 45s | Avg:  9m 22s | Max:  9m 50s
      🟩 nvcc12.6           Pass: 100%/34  | Total:  6h 43m | Avg: 11m 51s | Max: 45m 12s | Hits:  99%/2340  
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/2   | Total:  8m 45s | Avg:  4m 22s | Max:  4m 28s
      🔍 nvcc               Pass:  97%/40  | Total:  7h 28m | Avg: 11m 12s | Max: 45m 12s | Hits:  99%/2340  
    🔍 cxx: MSVC14.29 🔍
      🟩 Clang9             Pass: 100%/2   | Total: 11m 35s | Avg:  5m 47s | Max:  6m 37s
      🟩 Clang10            Pass: 100%/1   | Total:  6m 34s | Avg:  6m 34s | Max:  6m 34s
      🟩 Clang11            Pass: 100%/1   | Total:  5m 37s | Avg:  5m 37s | Max:  5m 37s
      🟩 Clang12            Pass: 100%/1   | Total:  5m 32s | Avg:  5m 32s | Max:  5m 32s
      🟩 Clang13            Pass: 100%/1   | Total:  5m 18s | Avg:  5m 18s | Max:  5m 18s
      🟩 Clang14            Pass: 100%/1   | Total:  5m 13s | Avg:  5m 13s | Max:  5m 13s
      🟩 Clang15            Pass: 100%/1   | Total:  5m 27s | Avg:  5m 27s | Max:  5m 27s
      🟩 Clang16            Pass: 100%/1   | Total:  5m 52s | Avg:  5m 52s | Max:  5m 52s
      🟩 Clang17            Pass: 100%/1   | Total:  5m 50s | Avg:  5m 50s | Max:  5m 50s
      🟩 Clang18            Pass: 100%/7   | Total:  1h 36m | Avg: 13m 50s | Max: 45m 12s
      🟩 GCC7               Pass: 100%/2   | Total:  9m 35s | Avg:  4m 47s | Max:  5m 20s
      🟩 GCC8               Pass: 100%/1   | Total:  5m 23s | Avg:  5m 23s | Max:  5m 23s
      🟩 GCC9               Pass: 100%/2   | Total: 10m 04s | Avg:  5m 02s | Max:  5m 44s
      🟩 GCC10              Pass: 100%/1   | Total:  5m 51s | Avg:  5m 51s | Max:  5m 51s
      🟩 GCC11              Pass: 100%/1   | Total:  5m 26s | Avg:  5m 26s | Max:  5m 26s
      🟩 GCC12              Pass: 100%/3   | Total: 25m 46s | Avg:  8m 35s | Max: 16m 03s
      🟩 GCC13              Pass: 100%/8   | Total:  2h 43m | Avg: 20m 26s | Max: 44m 07s
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  6m 49s | Avg:  6m 49s | Max:  6m 49s
      🔍 MSVC14.29          Pass:  50%/2   | Total: 24m 51s | Avg: 12m 25s | Max: 12m 36s | Hits:  99%/780   
      🟩 MSVC14.39          Pass: 100%/2   | Total: 26m 49s | Avg: 13m 24s | Max: 13m 25s | Hits:  99%/1560  
      🟩 NVHPC24.7          Pass: 100%/2   | Total: 18m 45s | Avg:  9m 22s | Max:  9m 50s
    🔍 cxx_family: MSVC 🔍
      🟩 Clang              Pass: 100%/17  | Total:  2h 33m | Avg:  9m 03s | Max: 45m 12s
      🟩 GCC                Pass: 100%/18  | Total:  3h 45m | Avg: 12m 32s | Max: 44m 07s
      🟩 Intel              Pass: 100%/1   | Total:  6m 49s | Avg:  6m 49s | Max:  6m 49s
      🔍 MSVC               Pass:  75%/4   | Total: 51m 40s | Avg: 12m 55s | Max: 13m 25s | Hits:  99%/2340  
      🟩 NVHPC              Pass: 100%/2   | Total: 18m 45s | Avg:  9m 22s | Max:  9m 50s
    🔍 gpu: v100 🔍
      🟩 h100               Pass: 100%/2   | Total: 20m 09s | Avg: 10m 04s | Max: 16m 03s
      🔍 v100               Pass:  97%/40  | Total:  7h 16m | Avg: 10m 54s | Max: 45m 12s | Hits:  99%/2340  
    🔍 jobs: Build 🔍
      🔍 Build              Pass:  97%/35  | Total:  3h 45m | Avg:  6m 26s | Max: 13m 25s | Hits:  99%/2340  
      🟩 DeviceLaunch       Pass: 100%/1   | Total: 32m 54s | Avg: 32m 54s | Max: 32m 54s
      🟩 GraphCapture       Pass: 100%/1   | Total: 25m 54s | Avg: 25m 54s | Max: 25m 54s
      🟩 HostLaunch         Pass: 100%/3   | Total:  1h 45m | Avg: 35m 07s | Max: 45m 12s
      🟩 TestGPU            Pass: 100%/2   | Total:  1h 07m | Avg: 33m 34s | Max: 39m 30s
    🔍 std: 17 🔍
      🔍 17                 Pass:  93%/16  | Total:  1h 54m | Avg:  7m 08s | Max: 13m 25s | Hits:  99%/1560  
      🟩 20                 Pass: 100%/26  | Total:  5h 42m | Avg: 13m 10s | Max: 45m 12s | Hits:  99%/780   
    🟩 sm
      🟩 90                 Pass: 100%/2   | Total: 20m 09s | Avg: 10m 04s | Max: 16m 03s
      🟩 90a                Pass: 100%/1   | Total:  4m 05s | Avg:  4m 05s | Max:  4m 05s
    
  • 🟨 thrust: Pass: 97%/41 | Total: 5h 51m | Avg: 8m 34s | Max: 24m 03s | Hits: 99%/7408

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  97%/39  | Total:  5h 41m | Avg:  8m 45s | Max: 24m 03s | Hits:  99%/7408  
      🟩 arm64              Pass: 100%/2   | Total:  9m 38s | Avg:  4m 49s | Max:  5m 08s
    🔍 ctk: 11.1 🔍
      🔍 11.1               Pass:  75%/4   | Total: 28m 51s | Avg:  7m 12s | Max: 15m 11s
      🟩 12.5               Pass: 100%/2   | Total: 28m 24s | Avg: 14m 12s | Max: 14m 36s
      🟩 12.6               Pass: 100%/35  | Total:  4h 54m | Avg:  8m 24s | Max: 24m 03s | Hits:  99%/7408  
    🔍 cudacxx: nvcc11.1 🔍
      🟩 ClangCUDA18        Pass: 100%/2   | Total: 10m 02s | Avg:  5m 01s | Max:  5m 10s
      🔍 nvcc11.1           Pass:  75%/4   | Total: 28m 51s | Avg:  7m 12s | Max: 15m 11s
      🟩 nvcc12.5           Pass: 100%/2   | Total: 28m 24s | Avg: 14m 12s | Max: 14m 36s
      🟩 nvcc12.6           Pass: 100%/33  | Total:  4h 44m | Avg:  8m 36s | Max: 24m 03s | Hits:  99%/7408  
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/2   | Total: 10m 02s | Avg:  5m 01s | Max:  5m 10s
      🔍 nvcc               Pass:  97%/39  | Total:  5h 41m | Avg:  8m 45s | Max: 24m 03s | Hits:  99%/7408  
    🔍 cxx: MSVC14.29 🔍
      🟩 Clang9             Pass: 100%/2   | Total: 11m 38s | Avg:  5m 49s | Max:  6m 56s
      🟩 Clang10            Pass: 100%/1   | Total:  7m 18s | Avg:  7m 18s | Max:  7m 18s
      🟩 Clang11            Pass: 100%/1   | Total:  5m 24s | Avg:  5m 24s | Max:  5m 24s
      🟩 Clang12            Pass: 100%/1   | Total:  5m 29s | Avg:  5m 29s | Max:  5m 29s
      🟩 Clang13            Pass: 100%/1   | Total:  5m 31s | Avg:  5m 31s | Max:  5m 31s
      🟩 Clang14            Pass: 100%/1   | Total:  5m 43s | Avg:  5m 43s | Max:  5m 43s
      🟩 Clang15            Pass: 100%/1   | Total:  5m 28s | Avg:  5m 28s | Max:  5m 28s
      🟩 Clang16            Pass: 100%/1   | Total:  5m 49s | Avg:  5m 49s | Max:  5m 49s
      🟩 Clang17            Pass: 100%/1   | Total:  5m 53s | Avg:  5m 53s | Max:  5m 53s
      🟩 Clang18            Pass: 100%/7   | Total: 56m 42s | Avg:  8m 06s | Max: 24m 03s
      🟩 GCC7               Pass: 100%/2   | Total:  9m 37s | Avg:  4m 48s | Max:  5m 31s
      🟩 GCC8               Pass: 100%/1   | Total:  5m 12s | Avg:  5m 12s | Max:  5m 12s
      🟩 GCC9               Pass: 100%/2   | Total: 10m 12s | Avg:  5m 06s | Max:  5m 20s
      🟩 GCC10              Pass: 100%/1   | Total:  5m 07s | Avg:  5m 07s | Max:  5m 07s
      🟩 GCC11              Pass: 100%/1   | Total:  5m 44s | Avg:  5m 44s | Max:  5m 44s
      🟩 GCC12              Pass: 100%/1   | Total:  5m 50s | Avg:  5m 50s | Max:  5m 50s
      🟩 GCC13              Pass: 100%/8   | Total:  1h 13m | Avg:  9m 09s | Max: 18m 53s
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  7m 15s | Avg:  7m 15s | Max:  7m 15s
      🔍 MSVC14.29          Pass:  50%/2   | Total: 32m 29s | Avg: 16m 14s | Max: 17m 18s | Hits:  99%/1852  
      🟩 MSVC14.39          Pass: 100%/3   | Total: 53m 15s | Avg: 17m 45s | Max: 21m 11s | Hits:  99%/5556  
      🟩 NVHPC24.7          Pass: 100%/2   | Total: 28m 24s | Avg: 14m 12s | Max: 14m 36s
    🔍 cxx_family: MSVC 🔍
      🟩 Clang              Pass: 100%/17  | Total:  1h 54m | Avg:  6m 45s | Max: 24m 03s
      🟩 GCC                Pass: 100%/16  | Total:  1h 55m | Avg:  7m 11s | Max: 18m 53s
      🟩 Intel              Pass: 100%/1   | Total:  7m 15s | Avg:  7m 15s | Max:  7m 15s
      🔍 MSVC               Pass:  80%/5   | Total:  1h 25m | Avg: 17m 08s | Max: 21m 11s | Hits:  99%/7408  
      🟩 NVHPC              Pass: 100%/2   | Total: 28m 24s | Avg: 14m 12s | Max: 14m 36s
    🔍 jobs: Build 🔍
      🔍 Build              Pass:  97%/35  | Total:  4h 12m | Avg:  7m 13s | Max: 17m 18s | Hits:  99%/5556  
      🟩 TestCPU            Pass: 100%/3   | Total: 36m 57s | Avg: 12m 19s | Max: 21m 11s | Hits:  99%/1852  
      🟩 TestGPU            Pass: 100%/3   | Total:  1h 01m | Avg: 20m 31s | Max: 24m 03s
    🔍 std: 17 🔍
      🔍 17                 Pass:  93%/16  | Total:  2h 09m | Avg:  8m 07s | Max: 17m 18s | Hits:  99%/3704  
      🟩 20                 Pass: 100%/23  | Total:  3h 16m | Avg:  8m 33s | Max: 24m 03s | Hits:  99%/3704  
    🟨 gpu
      🟨 v100               Pass:  97%/41  | Total:  5h 51m | Avg:  8m 34s | Max: 24m 03s | Hits:  99%/7408  
    🟩 cmake_options
      🟩 -DTHRUST_DISPATCH_TYPE=Force32bit Pass: 100%/2   | Total: 24m 28s | Avg: 12m 14s | Max: 18m 53s
    🟩 sm
      🟩 90a                Pass: 100%/1   | Total:  4m 15s | Avg:  4m 15s | Max:  4m 15s
    
  • 🟩 cudax: Pass: 100%/26 | Total: 2h 12m | Avg: 5m 05s | Max: 21m 50s | Hits: 92%/312

    🟩 cpu
      🟩 amd64              Pass: 100%/22  | Total:  2h 01m | Avg:  5m 32s | Max: 21m 50s | Hits:  92%/312   
      🟩 arm64              Pass: 100%/4   | Total: 10m 28s | Avg:  2m 37s | Max:  2m 44s
    🟩 ctk
      🟩 12.0               Pass: 100%/3   | Total: 14m 23s | Avg:  4m 47s | Max:  8m 37s | Hits:  92%/156   
      🟩 12.5               Pass: 100%/2   | Total: 10m 26s | Avg:  5m 13s | Max:  5m 25s
      🟩 12.6               Pass: 100%/21  | Total:  1h 47m | Avg:  5m 07s | Max: 21m 50s | Hits:  92%/156   
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/3   | Total: 14m 23s | Avg:  4m 47s | Max:  8m 37s | Hits:  92%/156   
      🟩 nvcc12.5           Pass: 100%/2   | Total: 10m 26s | Avg:  5m 13s | Max:  5m 25s
      🟩 nvcc12.6           Pass: 100%/21  | Total:  1h 47m | Avg:  5m 07s | Max: 21m 50s | Hits:  92%/156   
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/26  | Total:  2h 12m | Avg:  5m 05s | Max: 21m 50s | Hits:  92%/312   
    🟩 cxx
      🟩 Clang9             Pass: 100%/1   | Total:  3m 00s | Avg:  3m 00s | Max:  3m 00s
      🟩 Clang10            Pass: 100%/1   | Total:  3m 56s | Avg:  3m 56s | Max:  3m 56s
      🟩 Clang11            Pass: 100%/1   | Total:  3m 14s | Avg:  3m 14s | Max:  3m 14s
      🟩 Clang12            Pass: 100%/1   | Total:  3m 20s | Avg:  3m 20s | Max:  3m 20s
      🟩 Clang13            Pass: 100%/1   | Total:  3m 12s | Avg:  3m 12s | Max:  3m 12s
      🟩 Clang14            Pass: 100%/1   | Total:  3m 03s | Avg:  3m 03s | Max:  3m 03s
      🟩 Clang15            Pass: 100%/1   | Total:  3m 15s | Avg:  3m 15s | Max:  3m 15s
      🟩 Clang16            Pass: 100%/1   | Total:  3m 18s | Avg:  3m 18s | Max:  3m 18s
      🟩 Clang17            Pass: 100%/1   | Total:  3m 12s | Avg:  3m 12s | Max:  3m 12s
      🟩 Clang18            Pass: 100%/4   | Total: 30m 06s | Avg:  7m 31s | Max: 21m 50s
      🟩 GCC9               Pass: 100%/1   | Total:  2m 46s | Avg:  2m 46s | Max:  2m 46s
      🟩 GCC10              Pass: 100%/1   | Total:  3m 04s | Avg:  3m 04s | Max:  3m 04s
      🟩 GCC11              Pass: 100%/1   | Total:  3m 08s | Avg:  3m 08s | Max:  3m 08s
      🟩 GCC12              Pass: 100%/2   | Total: 24m 36s | Avg: 12m 18s | Max: 21m 23s
      🟩 GCC13              Pass: 100%/4   | Total: 11m 01s | Avg:  2m 45s | Max:  2m 57s
      🟩 MSVC14.36          Pass: 100%/1   | Total:  8m 37s | Avg:  8m 37s | Max:  8m 37s | Hits:  92%/156   
      🟩 MSVC14.39          Pass: 100%/1   | Total:  9m 06s | Avg:  9m 06s | Max:  9m 06s | Hits:  92%/156   
      🟩 NVHPC24.7          Pass: 100%/2   | Total: 10m 26s | Avg:  5m 13s | Max:  5m 25s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/13  | Total: 59m 36s | Avg:  4m 35s | Max: 21m 50s
      🟩 GCC                Pass: 100%/9   | Total: 44m 35s | Avg:  4m 57s | Max: 21m 23s
      🟩 MSVC               Pass: 100%/2   | Total: 17m 43s | Avg:  8m 51s | Max:  9m 06s | Hits:  92%/312   
      🟩 NVHPC              Pass: 100%/2   | Total: 10m 26s | Avg:  5m 13s | Max:  5m 25s
    🟩 gpu
      🟩 v100               Pass: 100%/26  | Total:  2h 12m | Avg:  5m 05s | Max: 21m 50s | Hits:  92%/312   
    🟩 jobs
      🟩 Build              Pass: 100%/24  | Total:  1h 29m | Avg:  3m 42s | Max:  9m 06s | Hits:  92%/312   
      🟩 Test               Pass: 100%/2   | Total: 43m 13s | Avg: 21m 36s | Max: 21m 50s
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  2m 47s | Avg:  2m 47s | Max:  2m 47s
      🟩 90a                Pass: 100%/1   | Total:  2m 57s | Avg:  2m 57s | Max:  2m 57s
    🟩 std
      🟩 17                 Pass: 100%/6   | Total: 19m 05s | Avg:  3m 10s | Max:  5m 25s
      🟩 20                 Pass: 100%/20  | Total:  1h 53m | Avg:  5m 39s | Max: 21m 50s | Hits:  92%/312   
    
  • 🟩 cccl: Pass: 100%/6 | Total: 24m 58s | Avg: 4m 09s | Max: 5m 00s

    🟩 cpu
      🟩 amd64              Pass: 100%/6   | Total: 24m 58s | Avg:  4m 09s | Max:  5m 00s
    🟩 ctk
      🟩 11.1               Pass: 100%/2   | Total:  7m 04s | Avg:  3m 32s | Max:  3m 39s
      🟩 12.0               Pass: 100%/2   | Total:  8m 39s | Avg:  4m 19s | Max:  4m 20s
      🟩 12.6               Pass: 100%/2   | Total:  9m 15s | Avg:  4m 37s | Max:  5m 00s
    🟩 cudacxx
      🟩 nvcc11.1           Pass: 100%/2   | Total:  7m 04s | Avg:  3m 32s | Max:  3m 39s
      🟩 nvcc12.0           Pass: 100%/2   | Total:  8m 39s | Avg:  4m 19s | Max:  4m 20s
      🟩 nvcc12.6           Pass: 100%/2   | Total:  9m 15s | Avg:  4m 37s | Max:  5m 00s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/6   | Total: 24m 58s | Avg:  4m 09s | Max:  5m 00s
    🟩 cxx
      🟩 Clang9             Pass: 100%/1   | Total:  3m 39s | Avg:  3m 39s | Max:  3m 39s
      🟩 Clang14            Pass: 100%/1   | Total:  4m 19s | Avg:  4m 19s | Max:  4m 19s
      🟩 Clang18            Pass: 100%/1   | Total:  5m 00s | Avg:  5m 00s | Max:  5m 00s
      🟩 GCC6               Pass: 100%/1   | Total:  3m 25s | Avg:  3m 25s | Max:  3m 25s
      🟩 GCC12              Pass: 100%/1   | Total:  4m 20s | Avg:  4m 20s | Max:  4m 20s
      🟩 GCC13              Pass: 100%/1   | Total:  4m 15s | Avg:  4m 15s | Max:  4m 15s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/3   | Total: 12m 58s | Avg:  4m 19s | Max:  5m 00s
      🟩 GCC                Pass: 100%/3   | Total: 12m 00s | Avg:  4m 00s | Max:  4m 20s
    🟩 gpu
      🟩 v100               Pass: 100%/6   | Total: 24m 58s | Avg:  4m 09s | Max:  5m 00s
    🟩 jobs
      🟩 Infra              Pass: 100%/6   | Total: 24m 58s | Avg:  4m 09s | Max:  5m 00s
    
  • 🟩 cccl_c_parallel: Pass: 100%/2 | Total: 9m 41s | Avg: 4m 50s | Max: 7m 41s

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total:  9m 41s | Avg:  4m 50s | Max:  7m 41s
    🟩 ctk
      🟩 12.6               Pass: 100%/2   | Total:  9m 41s | Avg:  4m 50s | Max:  7m 41s
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/2   | Total:  9m 41s | Avg:  4m 50s | Max:  7m 41s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total:  9m 41s | Avg:  4m 50s | Max:  7m 41s
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total:  9m 41s | Avg:  4m 50s | Max:  7m 41s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total:  9m 41s | Avg:  4m 50s | Max:  7m 41s
    🟩 gpu
      🟩 v100               Pass: 100%/2   | Total:  9m 41s | Avg:  4m 50s | Max:  7m 41s
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  2m 00s | Avg:  2m 00s | Max:  2m 00s
      🟩 Test               Pass: 100%/1   | Total:  7m 41s | Avg:  7m 41s | Max:  7m 41s
    
  • 🟩 python: Pass: 100%/1 | Total: 27m 55s | Avg: 27m 55s | Max: 27m 55s

    🟩 cpu
      🟩 amd64              Pass: 100%/1   | Total: 27m 55s | Avg: 27m 55s | Max: 27m 55s
    🟩 ctk
      🟩 12.6               Pass: 100%/1   | Total: 27m 55s | Avg: 27m 55s | Max: 27m 55s
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/1   | Total: 27m 55s | Avg: 27m 55s | Max: 27m 55s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/1   | Total: 27m 55s | Avg: 27m 55s | Max: 27m 55s
    🟩 cxx
      🟩 GCC13              Pass: 100%/1   | Total: 27m 55s | Avg: 27m 55s | Max: 27m 55s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/1   | Total: 27m 55s | Avg: 27m 55s | Max: 27m 55s
    🟩 gpu
      🟩 v100               Pass: 100%/1   | Total: 27m 55s | Avg: 27m 55s | Max: 27m 55s
    🟩 jobs
      🟩 Test               Pass: 100%/1   | Total: 27m 55s | Avg: 27m 55s | Max: 27m 55s
    

👃 Inspect Changes

Modifications in project?

Project
+/- CCCL Infrastructure
+/- libcu++
+/- CUB
+/- Thrust
CUDA Experimental
python
CCCL C Parallel Library
Catch2Helper

Modifications in project or dependencies?

Project
+/- CCCL Infrastructure
+/- libcu++
+/- CUB
+/- Thrust
+/- CUDA Experimental
+/- python
+/- CCCL C Parallel Library
+/- Catch2Helper

🏃‍ Runner counts (total jobs: 169)

# Runner
117 linux-amd64-cpu16
25 linux-amd64-gpu-v100-latest-1
16 windows-amd64-cpu16
10 linux-arm64-cpu16
1 linux-amd64-gpu-h100-latest-1-testing

* Issue an unsuppressable warning when compiling with < C++17
* Remove C++11/14 presets
* Remove CCCL_IGNORE_DEPRECATED_CPP_DIALECT from headers
* Remove [CUB|THRUST|TCT]_IGNORE_DEPRECATED_CPP_[11|14]
* Remove CUB_ENABLE_DIALECT_CPP[11|14]

Fixes: NVIDIA#3252
* Remove C++11/14 CI runs for CUB and Thrust
* Raise compiler minimum versions for C++17
Copy link
Contributor

github-actions bot commented Jan 9, 2025

🟩 CI finished in 1h 58m: Pass: 100%/162 | Total: 2d 04h | Avg: 19m 19s | Max: 1h 23m | Hits: 288%/25145
  • 🟩 libcudacxx: Pass: 100%/50 | Total: 16h 18m | Avg: 19m 33s | Max: 1h 23m | Hits: 451%/12453

    🟩 cpu
      🟩 amd64              Pass: 100%/48  | Total: 15h 54m | Avg: 19m 53s | Max:  1h 23m | Hits: 451%/12453 
      🟩 arm64              Pass: 100%/2   | Total: 23m 27s | Avg: 11m 43s | Max: 20m 08s
    🟩 ctk
      🟩 12.0               Pass: 100%/8   | Total:  2h 16m | Avg: 17m 00s | Max: 33m 17s | Hits: 471%/4863  
      🟩 12.5               Pass: 100%/2   | Total: 59m 30s | Avg: 29m 45s | Max: 33m 04s
      🟩 12.6               Pass: 100%/40  | Total: 13h 02m | Avg: 19m 33s | Max:  1h 23m | Hits: 438%/7590  
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/4   | Total:  1h 05m | Avg: 16m 20s | Max: 20m 27s
      🟩 nvcc12.0           Pass: 100%/8   | Total:  2h 16m | Avg: 17m 00s | Max: 33m 17s | Hits: 471%/4863  
      🟩 nvcc12.5           Pass: 100%/2   | Total: 59m 30s | Avg: 29m 45s | Max: 33m 04s
      🟩 nvcc12.6           Pass: 100%/36  | Total: 11h 57m | Avg: 19m 55s | Max:  1h 23m | Hits: 438%/7590  
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/4   | Total:  1h 05m | Avg: 16m 20s | Max: 20m 27s
      🟩 nvcc               Pass: 100%/46  | Total: 15h 12m | Avg: 19m 50s | Max:  1h 23m | Hits: 451%/12453 
    🟩 cxx
      🟩 Clang9             Pass: 100%/5   | Total:  1h 13m | Avg: 14m 42s | Max: 23m 59s
      🟩 Clang10            Pass: 100%/1   | Total: 25m 11s | Avg: 25m 11s | Max: 25m 11s
      🟩 Clang11            Pass: 100%/1   | Total: 20m 43s | Avg: 20m 43s | Max: 20m 43s
      🟩 Clang12            Pass: 100%/1   | Total: 20m 39s | Avg: 20m 39s | Max: 20m 39s
      🟩 Clang13            Pass: 100%/1   | Total: 20m 52s | Avg: 20m 52s | Max: 20m 52s
      🟩 Clang14            Pass: 100%/1   | Total:  4m 10s | Avg:  4m 10s | Max:  4m 10s
      🟩 Clang15            Pass: 100%/1   | Total:  4m 10s | Avg:  4m 10s | Max:  4m 10s
      🟩 Clang16            Pass: 100%/1   | Total: 23m 25s | Avg: 23m 25s | Max: 23m 25s
      🟩 Clang17            Pass: 100%/1   | Total: 23m 29s | Avg: 23m 29s | Max: 23m 29s
      🟩 Clang18            Pass: 100%/8   | Total:  1h 56m | Avg: 14m 30s | Max: 20m 27s
      🟩 GCC7               Pass: 100%/5   | Total:  1h 13m | Avg: 14m 41s | Max: 21m 22s
      🟩 GCC8               Pass: 100%/1   | Total: 19m 47s | Avg: 19m 47s | Max: 19m 47s
      🟩 GCC9               Pass: 100%/3   | Total: 40m 36s | Avg: 13m 32s | Max: 20m 14s
      🟩 GCC10              Pass: 100%/1   | Total: 23m 51s | Avg: 23m 51s | Max: 23m 51s
      🟩 GCC11              Pass: 100%/1   | Total: 21m 52s | Avg: 21m 52s | Max: 21m 52s
      🟩 GCC12              Pass: 100%/1   | Total:  3m 50s | Avg:  3m 50s | Max:  3m 50s
      🟩 GCC13              Pass: 100%/10  | Total:  3h 52m | Avg: 23m 12s | Max:  1h 23m
      🟩 MSVC14.29          Pass: 100%/3   | Total:  1h 34m | Avg: 31m 27s | Max: 33m 29s | Hits: 469%/7344  
      🟩 MSVC14.39          Pass: 100%/2   | Total:  1h 16m | Avg: 38m 15s | Max: 39m 33s | Hits: 425%/5109  
      🟩 NVHPC24.7          Pass: 100%/2   | Total: 59m 30s | Avg: 29m 45s | Max: 33m 04s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/21  | Total:  5h 32m | Avg: 15m 49s | Max: 25m 11s
      🟩 GCC                Pass: 100%/22  | Total:  6h 55m | Avg: 18m 53s | Max:  1h 23m
      🟩 MSVC               Pass: 100%/5   | Total:  2h 50m | Avg: 34m 10s | Max: 39m 33s | Hits: 451%/12453 
      🟩 NVHPC              Pass: 100%/2   | Total: 59m 30s | Avg: 29m 45s | Max: 33m 04s
    🟩 gpu
      🟩 v100               Pass: 100%/50  | Total: 16h 18m | Avg: 19m 33s | Max:  1h 23m | Hits: 451%/12453 
    🟩 jobs
      🟩 Build              Pass: 100%/43  | Total: 12h 27m | Avg: 17m 23s | Max: 39m 33s | Hits: 451%/12453 
      🟩 NVRTC              Pass: 100%/4   | Total:  2h 08m | Avg: 32m 06s | Max: 40m 16s
      🟩 Test               Pass: 100%/2   | Total:  1h 40m | Avg: 50m 09s | Max:  1h 23m
      🟩 VerifyCodegen      Pass: 100%/1   | Total:  1m 53s | Avg:  1m 53s | Max:  1m 53s
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total: 12m 35s | Avg: 12m 35s | Max: 12m 35s
      🟩 90a                Pass: 100%/2   | Total: 16m 09s | Avg:  8m 04s | Max: 12m 34s
    🟩 std
      🟩 11                 Pass: 100%/6   | Total:  1h 13m | Avg: 12m 16s | Max: 23m 00s
      🟩 14                 Pass: 100%/4   | Total:  1h 19m | Avg: 19m 52s | Max: 27m 35s | Hits: 473%/2392  
      🟩 17                 Pass: 100%/16  | Total:  6h 01m | Avg: 22m 37s | Max: 40m 10s | Hits: 457%/7433  
      🟩 20                 Pass: 100%/23  | Total:  7h 41m | Avg: 20m 03s | Max:  1h 23m | Hits: 414%/2628  
    
  • 🟩 cub: Pass: 100%/41 | Total: 18h 16m | Avg: 26m 44s | Max: 1h 14m | Hits: 34%/3120

    🟩 cpu
      🟩 amd64              Pass: 100%/39  | Total: 18h 07m | Avg: 27m 52s | Max:  1h 14m | Hits:  34%/3120  
      🟩 arm64              Pass: 100%/2   | Total:  9m 33s | Avg:  4m 46s | Max:  4m 51s
    🟩 ctk
      🟩 12.0               Pass: 100%/4   | Total:  3h 20m | Avg: 50m 03s | Max:  1h 01m | Hits:  32%/780   
      🟩 12.5               Pass: 100%/2   | Total:  2h 13m | Avg:  1h 06m | Max:  1h 06m
      🟩 12.6               Pass: 100%/35  | Total: 12h 42m | Avg: 21m 47s | Max:  1h 14m | Hits:  35%/2340  
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/2   | Total:  8m 49s | Avg:  4m 24s | Max:  4m 31s
      🟩 nvcc12.0           Pass: 100%/4   | Total:  3h 20m | Avg: 50m 03s | Max:  1h 01m | Hits:  32%/780   
      🟩 nvcc12.5           Pass: 100%/2   | Total:  2h 13m | Avg:  1h 06m | Max:  1h 06m
      🟩 nvcc12.6           Pass: 100%/33  | Total: 12h 33m | Avg: 22m 50s | Max:  1h 14m | Hits:  35%/2340  
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total:  8m 49s | Avg:  4m 24s | Max:  4m 31s
      🟩 nvcc               Pass: 100%/39  | Total: 18h 07m | Avg: 27m 53s | Max:  1h 14m | Hits:  34%/3120  
    🟩 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  1h 33m | Avg: 46m 46s | Max: 49m 19s
      🟩 Clang10            Pass: 100%/1   | Total: 48m 57s | Avg: 48m 57s | Max: 48m 57s
      🟩 Clang11            Pass: 100%/1   | Total: 45m 38s | Avg: 45m 38s | Max: 45m 38s
      🟩 Clang12            Pass: 100%/1   | Total: 46m 27s | Avg: 46m 27s | Max: 46m 27s
      🟩 Clang13            Pass: 100%/1   | Total: 50m 19s | Avg: 50m 19s | Max: 50m 19s
      🟩 Clang14            Pass: 100%/1   | Total:  5m 17s | Avg:  5m 17s | Max:  5m 17s
      🟩 Clang15            Pass: 100%/1   | Total:  5m 51s | Avg:  5m 51s | Max:  5m 51s
      🟩 Clang16            Pass: 100%/1   | Total:  5m 56s | Avg:  5m 56s | Max:  5m 56s
      🟩 Clang17            Pass: 100%/1   | Total:  5m 34s | Avg:  5m 34s | Max:  5m 34s
      🟩 Clang18            Pass: 100%/7   | Total:  1h 11m | Avg: 10m 15s | Max: 23m 49s
      🟩 GCC7               Pass: 100%/2   | Total:  1h 37m | Avg: 48m 30s | Max: 49m 02s
      🟩 GCC8               Pass: 100%/1   | Total:  5m 43s | Avg:  5m 43s | Max:  5m 43s
      🟩 GCC9               Pass: 100%/2   | Total: 52m 19s | Avg: 26m 09s | Max: 46m 50s
      🟩 GCC10              Pass: 100%/1   | Total:  5m 47s | Avg:  5m 47s | Max:  5m 47s
      🟩 GCC11              Pass: 100%/1   | Total:  5m 52s | Avg:  5m 52s | Max:  5m 52s
      🟩 GCC12              Pass: 100%/3   | Total: 26m 09s | Avg:  8m 43s | Max: 16m 12s
      🟩 GCC13              Pass: 100%/8   | Total:  1h 49m | Avg: 13m 38s | Max: 25m 20s
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 16m | Avg:  1h 08m | Max:  1h 14m | Hits:  34%/1560  
      🟩 MSVC14.39          Pass: 100%/2   | Total:  2h 25m | Avg:  1h 12m | Max:  1h 13m | Hits:  34%/1560  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  2h 13m | Avg:  1h 06m | Max:  1h 06m
    🟩 cxx_family
      🟩 Clang              Pass: 100%/17  | Total:  6h 19m | Avg: 22m 18s | Max: 50m 19s
      🟩 GCC                Pass: 100%/18  | Total:  5h 02m | Avg: 16m 46s | Max: 49m 02s
      🟩 MSVC               Pass: 100%/4   | Total:  4h 41m | Avg:  1h 10m | Max:  1h 14m | Hits:  34%/3120  
      🟩 NVHPC              Pass: 100%/2   | Total:  2h 13m | Avg:  1h 06m | Max:  1h 06m
    🟩 gpu
      🟩 h100               Pass: 100%/2   | Total: 20m 31s | Avg: 10m 15s | Max: 16m 12s
      🟩 v100               Pass: 100%/39  | Total: 17h 56m | Avg: 27m 35s | Max:  1h 14m | Hits:  34%/3120  
    🟩 jobs
      🟩 Build              Pass: 100%/34  | Total: 15h 44m | Avg: 27m 47s | Max:  1h 14m | Hits:  34%/3120  
      🟩 DeviceLaunch       Pass: 100%/1   | Total: 21m 21s | Avg: 21m 21s | Max: 21m 21s
      🟩 GraphCapture       Pass: 100%/1   | Total: 17m 13s | Avg: 17m 13s | Max: 17m 13s
      🟩 HostLaunch         Pass: 100%/3   | Total:  1h 04m | Avg: 21m 35s | Max: 25m 20s
      🟩 TestGPU            Pass: 100%/2   | Total: 48m 30s | Avg: 24m 15s | Max: 24m 41s
    🟩 sm
      🟩 90                 Pass: 100%/2   | Total: 20m 31s | Avg: 10m 15s | Max: 16m 12s
      🟩 90a                Pass: 100%/1   | Total:  4m 21s | Avg:  4m 21s | Max:  4m 21s
    🟩 std
      🟩 17                 Pass: 100%/15  | Total:  9h 48m | Avg: 39m 14s | Max:  1h 14m | Hits:  34%/2340  
      🟩 20                 Pass: 100%/26  | Total:  8h 28m | Avg: 19m 32s | Max:  1h 13m | Hits:  34%/780   
    
  • 🟩 thrust: Pass: 100%/40 | Total: 14h 26m | Avg: 21m 39s | Max: 1h 17m | Hits: 144%/9260

    🟩 cmake_options
      🟩 -DTHRUST_DISPATCH_TYPE=Force32bit Pass: 100%/2   | Total: 20m 21s | Avg: 10m 10s | Max: 14m 28s
    🟩 cpu
      🟩 amd64              Pass: 100%/38  | Total: 14h 11m | Avg: 22m 24s | Max:  1h 17m | Hits: 144%/9260  
      🟩 arm64              Pass: 100%/2   | Total: 14m 51s | Avg:  7m 25s | Max: 10m 26s
    🟩 ctk
      🟩 12.0               Pass: 100%/4   | Total:  2h 24m | Avg: 36m 04s | Max: 59m 48s | Hits:  81%/1852  
      🟩 12.5               Pass: 100%/2   | Total:  2h 27m | Avg:  1h 13m | Max:  1h 17m
      🟩 12.6               Pass: 100%/34  | Total:  9h 35m | Avg: 16m 54s | Max:  1h 08m | Hits: 160%/7408  
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/2   | Total: 10m 23s | Avg:  5m 11s | Max:  5m 25s
      🟩 nvcc12.0           Pass: 100%/4   | Total:  2h 24m | Avg: 36m 04s | Max: 59m 48s | Hits:  81%/1852  
      🟩 nvcc12.5           Pass: 100%/2   | Total:  2h 27m | Avg:  1h 13m | Max:  1h 17m
      🟩 nvcc12.6           Pass: 100%/32  | Total:  9h 24m | Avg: 17m 38s | Max:  1h 08m | Hits: 160%/7408  
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total: 10m 23s | Avg:  5m 11s | Max:  5m 25s
      🟩 nvcc               Pass: 100%/38  | Total: 14h 16m | Avg: 22m 31s | Max:  1h 17m | Hits: 144%/9260  
    🟩 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  1h 01m | Avg: 30m 41s | Max: 30m 45s
      🟩 Clang10            Pass: 100%/1   | Total: 28m 17s | Avg: 28m 17s | Max: 28m 17s
      🟩 Clang11            Pass: 100%/1   | Total: 26m 59s | Avg: 26m 59s | Max: 26m 59s
      🟩 Clang12            Pass: 100%/1   | Total: 26m 53s | Avg: 26m 53s | Max: 26m 53s
      🟩 Clang13            Pass: 100%/1   | Total: 26m 19s | Avg: 26m 19s | Max: 26m 19s
      🟩 Clang14            Pass: 100%/1   | Total:  5m 41s | Avg:  5m 41s | Max:  5m 41s
      🟩 Clang15            Pass: 100%/1   | Total:  5m 37s | Avg:  5m 37s | Max:  5m 37s
      🟩 Clang16            Pass: 100%/1   | Total:  5m 22s | Avg:  5m 22s | Max:  5m 22s
      🟩 Clang17            Pass: 100%/1   | Total:  5m 16s | Avg:  5m 16s | Max:  5m 16s
      🟩 Clang18            Pass: 100%/7   | Total: 46m 16s | Avg:  6m 36s | Max: 13m 35s
      🟩 GCC7               Pass: 100%/2   | Total: 58m 15s | Avg: 29m 07s | Max: 29m 16s
      🟩 GCC8               Pass: 100%/1   | Total:  8m 42s | Avg:  8m 42s | Max:  8m 42s
      🟩 GCC9               Pass: 100%/2   | Total: 34m 12s | Avg: 17m 06s | Max: 24m 45s
      🟩 GCC10              Pass: 100%/1   | Total:  8m 38s | Avg:  8m 38s | Max:  8m 38s
      🟩 GCC11              Pass: 100%/1   | Total:  8m 27s | Avg:  8m 27s | Max:  8m 27s
      🟩 GCC12              Pass: 100%/1   | Total:  8m 26s | Avg:  8m 26s | Max:  8m 26s
      🟩 GCC13              Pass: 100%/8   | Total:  1h 13m | Avg:  9m 11s | Max: 14m 28s
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 00m | Avg:  1h 00m | Max:  1h 00m | Hits:  97%/3704  
      🟩 MSVC14.39          Pass: 100%/3   | Total:  2h 40m | Avg: 53m 35s | Max:  1h 08m | Hits: 175%/5556  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  2h 27m | Avg:  1h 13m | Max:  1h 17m
    🟩 cxx_family
      🟩 Clang              Pass: 100%/17  | Total:  3h 58m | Avg: 14m 00s | Max: 30m 45s
      🟩 GCC                Pass: 100%/16  | Total:  3h 20m | Avg: 12m 30s | Max: 29m 16s
      🟩 MSVC               Pass: 100%/5   | Total:  4h 41m | Avg: 56m 12s | Max:  1h 08m | Hits: 144%/9260  
      🟩 NVHPC              Pass: 100%/2   | Total:  2h 27m | Avg:  1h 13m | Max:  1h 17m
    🟩 gpu
      🟩 v100               Pass: 100%/40  | Total: 14h 26m | Avg: 21m 39s | Max:  1h 17m | Hits: 144%/9260  
    🟩 jobs
      🟩 Build              Pass: 100%/34  | Total: 12h 53m | Avg: 22m 45s | Max:  1h 17m | Hits:  89%/7408  
      🟩 TestCPU            Pass: 100%/3   | Total: 50m 36s | Avg: 16m 52s | Max: 36m 06s | Hits: 365%/1852  
      🟩 TestGPU            Pass: 100%/3   | Total: 42m 04s | Avg: 14m 01s | Max: 14m 28s
    🟩 sm
      🟩 90a                Pass: 100%/1   | Total:  4m 19s | Avg:  4m 19s | Max:  4m 19s
    🟩 std
      🟩 17                 Pass: 100%/15  | Total:  7h 36m | Avg: 30m 27s | Max:  1h 09m | Hits:  91%/5556  
      🟩 20                 Pass: 100%/23  | Total:  6h 29m | Avg: 16m 55s | Max:  1h 17m | Hits: 223%/3704  
    
  • 🟩 cudax: Pass: 100%/24 | Total: 2h 10m | Avg: 5m 26s | Max: 23m 11s | Hits: 572%/312

    🟩 cpu
      🟩 amd64              Pass: 100%/20  | Total:  2h 00m | Avg:  6m 01s | Max: 23m 11s | Hits: 572%/312   
      🟩 arm64              Pass: 100%/4   | Total: 10m 14s | Avg:  2m 33s | Max:  2m 37s
    🟩 ctk
      🟩 12.0               Pass: 100%/1   | Total: 11m 41s | Avg: 11m 41s | Max: 11m 41s | Hits: 576%/156   
      🟩 12.5               Pass: 100%/2   | Total: 12m 07s | Avg:  6m 03s | Max:  6m 07s
      🟩 12.6               Pass: 100%/21  | Total:  1h 46m | Avg:  5m 05s | Max: 23m 11s | Hits: 567%/156   
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/1   | Total: 11m 41s | Avg: 11m 41s | Max: 11m 41s | Hits: 576%/156   
      🟩 nvcc12.5           Pass: 100%/2   | Total: 12m 07s | Avg:  6m 03s | Max:  6m 07s
      🟩 nvcc12.6           Pass: 100%/21  | Total:  1h 46m | Avg:  5m 05s | Max: 23m 11s | Hits: 567%/156   
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/24  | Total:  2h 10m | Avg:  5m 26s | Max: 23m 11s | Hits: 572%/312   
    🟩 cxx
      🟩 Clang10            Pass: 100%/1   | Total:  3m 43s | Avg:  3m 43s | Max:  3m 43s
      🟩 Clang11            Pass: 100%/1   | Total:  3m 13s | Avg:  3m 13s | Max:  3m 13s
      🟩 Clang12            Pass: 100%/1   | Total:  3m 04s | Avg:  3m 04s | Max:  3m 04s
      🟩 Clang13            Pass: 100%/1   | Total:  3m 09s | Avg:  3m 09s | Max:  3m 09s
      🟩 Clang14            Pass: 100%/1   | Total:  2m 58s | Avg:  2m 58s | Max:  2m 58s
      🟩 Clang15            Pass: 100%/1   | Total:  3m 17s | Avg:  3m 17s | Max:  3m 17s
      🟩 Clang16            Pass: 100%/1   | Total:  3m 22s | Avg:  3m 22s | Max:  3m 22s
      🟩 Clang17            Pass: 100%/1   | Total:  3m 17s | Avg:  3m 17s | Max:  3m 17s
      🟩 Clang18            Pass: 100%/4   | Total: 31m 39s | Avg:  7m 54s | Max: 23m 11s
      🟩 GCC10              Pass: 100%/1   | Total:  3m 01s | Avg:  3m 01s | Max:  3m 01s
      🟩 GCC11              Pass: 100%/1   | Total:  3m 08s | Avg:  3m 08s | Max:  3m 08s
      🟩 GCC12              Pass: 100%/2   | Total: 20m 09s | Avg: 10m 04s | Max: 17m 04s
      🟩 GCC13              Pass: 100%/4   | Total: 10m 30s | Avg:  2m 37s | Max:  2m 46s
      🟩 MSVC14.36          Pass: 100%/1   | Total: 11m 41s | Avg: 11m 41s | Max: 11m 41s | Hits: 576%/156   
      🟩 MSVC14.39          Pass: 100%/1   | Total: 12m 21s | Avg: 12m 21s | Max: 12m 21s | Hits: 567%/156   
      🟩 NVHPC24.7          Pass: 100%/2   | Total: 12m 07s | Avg:  6m 03s | Max:  6m 07s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/12  | Total: 57m 42s | Avg:  4m 48s | Max: 23m 11s
      🟩 GCC                Pass: 100%/8   | Total: 36m 48s | Avg:  4m 36s | Max: 17m 04s
      🟩 MSVC               Pass: 100%/2   | Total: 24m 02s | Avg: 12m 01s | Max: 12m 21s | Hits: 572%/312   
      🟩 NVHPC              Pass: 100%/2   | Total: 12m 07s | Avg:  6m 03s | Max:  6m 07s
    🟩 gpu
      🟩 v100               Pass: 100%/24  | Total:  2h 10m | Avg:  5m 26s | Max: 23m 11s | Hits: 572%/312   
    🟩 jobs
      🟩 Build              Pass: 100%/22  | Total:  1h 30m | Avg:  4m 06s | Max: 12m 21s | Hits: 572%/312   
      🟩 Test               Pass: 100%/2   | Total: 40m 15s | Avg: 20m 07s | Max: 23m 11s
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  2m 46s | Avg:  2m 46s | Max:  2m 46s
      🟩 90a                Pass: 100%/1   | Total:  2m 43s | Avg:  2m 43s | Max:  2m 43s
    🟩 std
      🟩 17                 Pass: 100%/4   | Total: 14m 02s | Avg:  3m 30s | Max:  6m 07s
      🟩 20                 Pass: 100%/20  | Total:  1h 56m | Avg:  5m 49s | Max: 23m 11s | Hits: 572%/312   
    
  • 🟩 cccl: Pass: 100%/4 | Total: 23m 12s | Avg: 5m 48s | Max: 6m 41s

    🟩 cpu
      🟩 amd64              Pass: 100%/4   | Total: 23m 12s | Avg:  5m 48s | Max:  6m 41s
    🟩 ctk
      🟩 12.0               Pass: 100%/2   | Total: 11m 12s | Avg:  5m 36s | Max:  6m 41s
      🟩 12.6               Pass: 100%/2   | Total: 12m 00s | Avg:  6m 00s | Max:  6m 06s
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/2   | Total: 11m 12s | Avg:  5m 36s | Max:  6m 41s
      🟩 nvcc12.6           Pass: 100%/2   | Total: 12m 00s | Avg:  6m 00s | Max:  6m 06s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/4   | Total: 23m 12s | Avg:  5m 48s | Max:  6m 41s
    🟩 cxx
      🟩 Clang14            Pass: 100%/1   | Total:  6m 41s | Avg:  6m 41s | Max:  6m 41s
      🟩 Clang18            Pass: 100%/1   | Total:  5m 54s | Avg:  5m 54s | Max:  5m 54s
      🟩 GCC12              Pass: 100%/1   | Total:  4m 31s | Avg:  4m 31s | Max:  4m 31s
      🟩 GCC13              Pass: 100%/1   | Total:  6m 06s | Avg:  6m 06s | Max:  6m 06s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/2   | Total: 12m 35s | Avg:  6m 17s | Max:  6m 41s
      🟩 GCC                Pass: 100%/2   | Total: 10m 37s | Avg:  5m 18s | Max:  6m 06s
    🟩 gpu
      🟩 v100               Pass: 100%/4   | Total: 23m 12s | Avg:  5m 48s | Max:  6m 41s
    🟩 jobs
      🟩 Infra              Pass: 100%/4   | Total: 23m 12s | Avg:  5m 48s | Max:  6m 41s
    
  • 🟩 cccl_c_parallel: Pass: 100%/2 | Total: 9m 50s | Avg: 4m 55s | Max: 7m 53s

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total:  9m 50s | Avg:  4m 55s | Max:  7m 53s
    🟩 ctk
      🟩 12.6               Pass: 100%/2   | Total:  9m 50s | Avg:  4m 55s | Max:  7m 53s
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/2   | Total:  9m 50s | Avg:  4m 55s | Max:  7m 53s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total:  9m 50s | Avg:  4m 55s | Max:  7m 53s
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total:  9m 50s | Avg:  4m 55s | Max:  7m 53s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total:  9m 50s | Avg:  4m 55s | Max:  7m 53s
    🟩 gpu
      🟩 v100               Pass: 100%/2   | Total:  9m 50s | Avg:  4m 55s | Max:  7m 53s
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  1m 57s | Avg:  1m 57s | Max:  1m 57s
      🟩 Test               Pass: 100%/1   | Total:  7m 53s | Avg:  7m 53s | Max:  7m 53s
    
  • 🟩 python: Pass: 100%/1 | Total: 25m 40s | Avg: 25m 40s | Max: 25m 40s

    🟩 cpu
      🟩 amd64              Pass: 100%/1   | Total: 25m 40s | Avg: 25m 40s | Max: 25m 40s
    🟩 ctk
      🟩 12.6               Pass: 100%/1   | Total: 25m 40s | Avg: 25m 40s | Max: 25m 40s
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/1   | Total: 25m 40s | Avg: 25m 40s | Max: 25m 40s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/1   | Total: 25m 40s | Avg: 25m 40s | Max: 25m 40s
    🟩 cxx
      🟩 GCC13              Pass: 100%/1   | Total: 25m 40s | Avg: 25m 40s | Max: 25m 40s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/1   | Total: 25m 40s | Avg: 25m 40s | Max: 25m 40s
    🟩 gpu
      🟩 v100               Pass: 100%/1   | Total: 25m 40s | Avg: 25m 40s | Max: 25m 40s
    🟩 jobs
      🟩 Test               Pass: 100%/1   | Total: 25m 40s | Avg: 25m 40s | Max: 25m 40s
    

👃 Inspect Changes

Modifications in project?

Project
+/- CCCL Infrastructure
+/- libcu++
+/- CUB
+/- Thrust
CUDA Experimental
python
CCCL C Parallel Library
Catch2Helper

Modifications in project or dependencies?

Project
+/- CCCL Infrastructure
+/- libcu++
+/- CUB
+/- Thrust
+/- CUDA Experimental
+/- python
+/- CCCL C Parallel Library
+/- Catch2Helper

🏃‍ Runner counts (total jobs: 162)

# Runner
112 linux-amd64-cpu16
23 linux-amd64-gpu-v100-latest-1
16 windows-amd64-cpu16
10 linux-arm64-cpu16
1 linux-amd64-gpu-h100-latest-1-testing

Copy link
Contributor

github-actions bot commented Jan 9, 2025

🟩 CI finished in 1h 50m: Pass: 100%/162 | Total: 1d 23h | Avg: 17m 44s | Max: 1h 16m | Hits: 396%/25145
  • 🟩 libcudacxx: Pass: 100%/50 | Total: 14h 53m | Avg: 17m 52s | Max: 59m 07s | Hits: 671%/12453

    🟩 cpu
      🟩 amd64              Pass: 100%/48  | Total: 14h 41m | Avg: 18m 21s | Max: 59m 07s | Hits: 671%/12453 
      🟩 arm64              Pass: 100%/2   | Total: 12m 37s | Avg:  6m 18s | Max:  8m 52s
    🟩 ctk
      🟩 12.0               Pass: 100%/8   | Total:  2h 05m | Avg: 15m 42s | Max: 25m 13s | Hits: 673%/4863  
      🟩 12.5               Pass: 100%/2   | Total:  1h 01m | Avg: 30m 55s | Max: 31m 59s
      🟩 12.6               Pass: 100%/40  | Total: 11h 46m | Avg: 17m 39s | Max: 59m 07s | Hits: 670%/7590  
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/4   | Total:  1h 05m | Avg: 16m 16s | Max: 21m 30s
      🟩 nvcc12.0           Pass: 100%/8   | Total:  2h 05m | Avg: 15m 42s | Max: 25m 13s | Hits: 673%/4863  
      🟩 nvcc12.5           Pass: 100%/2   | Total:  1h 01m | Avg: 30m 55s | Max: 31m 59s
      🟩 nvcc12.6           Pass: 100%/36  | Total: 10h 41m | Avg: 17m 48s | Max: 59m 07s | Hits: 670%/7590  
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/4   | Total:  1h 05m | Avg: 16m 16s | Max: 21m 30s
      🟩 nvcc               Pass: 100%/46  | Total: 13h 48m | Avg: 18m 01s | Max: 59m 07s | Hits: 671%/12453 
    🟩 cxx
      🟩 Clang9             Pass: 100%/5   | Total:  1h 03m | Avg: 12m 43s | Max: 25m 09s
      🟩 Clang10            Pass: 100%/1   | Total: 26m 14s | Avg: 26m 14s | Max: 26m 14s
      🟩 Clang11            Pass: 100%/1   | Total:  4m 13s | Avg:  4m 13s | Max:  4m 13s
      🟩 Clang12            Pass: 100%/1   | Total: 21m 51s | Avg: 21m 51s | Max: 21m 51s
      🟩 Clang13            Pass: 100%/1   | Total:  4m 17s | Avg:  4m 17s | Max:  4m 17s
      🟩 Clang14            Pass: 100%/1   | Total: 19m 44s | Avg: 19m 44s | Max: 19m 44s
      🟩 Clang15            Pass: 100%/1   | Total: 22m 55s | Avg: 22m 55s | Max: 22m 55s
      🟩 Clang16            Pass: 100%/1   | Total:  4m 20s | Avg:  4m 20s | Max:  4m 20s
      🟩 Clang17            Pass: 100%/1   | Total: 21m 29s | Avg: 21m 29s | Max: 21m 29s
      🟩 Clang18            Pass: 100%/8   | Total:  2h 28m | Avg: 18m 36s | Max: 36m 23s
      🟩 GCC7               Pass: 100%/5   | Total:  1h 12m | Avg: 14m 34s | Max: 21m 45s
      🟩 GCC8               Pass: 100%/1   | Total: 19m 49s | Avg: 19m 49s | Max: 19m 49s
      🟩 GCC9               Pass: 100%/3   | Total: 46m 30s | Avg: 15m 30s | Max: 20m 20s
      🟩 GCC10              Pass: 100%/1   | Total:  4m 04s | Avg:  4m 04s | Max:  4m 04s
      🟩 GCC11              Pass: 100%/1   | Total:  3m 59s | Avg:  3m 59s | Max:  3m 59s
      🟩 GCC12              Pass: 100%/1   | Total: 18m 53s | Avg: 18m 53s | Max: 18m 53s
      🟩 GCC13              Pass: 100%/10  | Total:  3h 18m | Avg: 19m 48s | Max: 59m 07s
      🟩 MSVC14.29          Pass: 100%/3   | Total:  1h 13m | Avg: 24m 28s | Max: 25m 42s | Hits: 669%/7344  
      🟩 MSVC14.39          Pass: 100%/2   | Total: 56m 57s | Avg: 28m 28s | Max: 29m 22s | Hits: 674%/5109  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  1h 01m | Avg: 30m 55s | Max: 31m 59s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/21  | Total:  5h 37m | Avg: 16m 04s | Max: 36m 23s
      🟩 GCC                Pass: 100%/22  | Total:  6h 04m | Avg: 16m 33s | Max: 59m 07s
      🟩 MSVC               Pass: 100%/5   | Total:  2h 10m | Avg: 26m 04s | Max: 29m 22s | Hits: 671%/12453 
      🟩 NVHPC              Pass: 100%/2   | Total:  1h 01m | Avg: 30m 55s | Max: 31m 59s
    🟩 gpu
      🟩 v100               Pass: 100%/50  | Total: 14h 53m | Avg: 17m 52s | Max: 59m 07s | Hits: 671%/12453 
    🟩 jobs
      🟩 Build              Pass: 100%/43  | Total: 11h 36m | Avg: 16m 12s | Max: 31m 59s | Hits: 671%/12453 
      🟩 NVRTC              Pass: 100%/4   | Total:  1h 39m | Avg: 24m 54s | Max: 29m 07s
      🟩 Test               Pass: 100%/2   | Total:  1h 35m | Avg: 47m 45s | Max: 59m 07s
      🟩 VerifyCodegen      Pass: 100%/1   | Total:  1m 59s | Avg:  1m 59s | Max:  1m 59s
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total: 12m 28s | Avg: 12m 28s | Max: 12m 28s
      🟩 90a                Pass: 100%/2   | Total: 16m 08s | Avg:  8m 04s | Max: 12m 33s
    🟩 std
      🟩 11                 Pass: 100%/6   | Total:  1h 13m | Avg: 12m 12s | Max: 26m 08s
      🟩 14                 Pass: 100%/4   | Total:  1h 05m | Avg: 16m 25s | Max: 22m 29s | Hits: 663%/2392  
      🟩 17                 Pass: 100%/16  | Total:  5h 49m | Avg: 21m 52s | Max: 29m 52s | Hits: 670%/7433  
      🟩 20                 Pass: 100%/23  | Total:  6h 43m | Avg: 17m 31s | Max: 59m 07s | Hits: 682%/2628  
    
  • 🟩 cub: Pass: 100%/41 | Total: 16h 00m | Avg: 23m 25s | Max: 1h 14m | Hits: 33%/3120

    🟩 cpu
      🟩 amd64              Pass: 100%/39  | Total: 15h 44m | Avg: 24m 12s | Max:  1h 14m | Hits:  33%/3120  
      🟩 arm64              Pass: 100%/2   | Total: 16m 14s | Avg:  8m 07s | Max: 11m 25s
    🟩 ctk
      🟩 12.0               Pass: 100%/4   | Total:  1h 33m | Avg: 23m 23s | Max:  1h 01m | Hits:  33%/780   
      🟩 12.5               Pass: 100%/2   | Total:  2h 20m | Avg:  1h 10m | Max:  1h 14m
      🟩 12.6               Pass: 100%/35  | Total: 12h 06m | Avg: 20m 44s | Max:  1h 12m | Hits:  33%/2340  
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/2   | Total:  8m 44s | Avg:  4m 22s | Max:  4m 24s
      🟩 nvcc12.0           Pass: 100%/4   | Total:  1h 33m | Avg: 23m 23s | Max:  1h 01m | Hits:  33%/780   
      🟩 nvcc12.5           Pass: 100%/2   | Total:  2h 20m | Avg:  1h 10m | Max:  1h 14m
      🟩 nvcc12.6           Pass: 100%/33  | Total: 11h 57m | Avg: 21m 44s | Max:  1h 12m | Hits:  33%/2340  
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total:  8m 44s | Avg:  4m 22s | Max:  4m 24s
      🟩 nvcc               Pass: 100%/39  | Total: 15h 51m | Avg: 24m 24s | Max:  1h 14m | Hits:  33%/3120  
    🟩 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  1h 11m | Avg: 35m 41s | Max:  1h 00m
      🟩 Clang10            Pass: 100%/1   | Total: 11m 46s | Avg: 11m 46s | Max: 11m 46s
      🟩 Clang11            Pass: 100%/1   | Total:  9m 54s | Avg:  9m 54s | Max:  9m 54s
      🟩 Clang12            Pass: 100%/1   | Total: 10m 30s | Avg: 10m 30s | Max: 10m 30s
      🟩 Clang13            Pass: 100%/1   | Total: 10m 13s | Avg: 10m 13s | Max: 10m 13s
      🟩 Clang14            Pass: 100%/1   | Total:  5m 37s | Avg:  5m 37s | Max:  5m 37s
      🟩 Clang15            Pass: 100%/1   | Total:  5m 23s | Avg:  5m 23s | Max:  5m 23s
      🟩 Clang16            Pass: 100%/1   | Total:  5m 23s | Avg:  5m 23s | Max:  5m 23s
      🟩 Clang17            Pass: 100%/1   | Total:  5m 45s | Avg:  5m 45s | Max:  5m 45s
      🟩 Clang18            Pass: 100%/7   | Total:  1h 10m | Avg: 10m 01s | Max: 22m 56s
      🟩 GCC7               Pass: 100%/2   | Total:  1h 06m | Avg: 33m 16s | Max: 55m 57s
      🟩 GCC8               Pass: 100%/1   | Total: 10m 33s | Avg: 10m 33s | Max: 10m 33s
      🟩 GCC9               Pass: 100%/2   | Total: 21m 32s | Avg: 10m 46s | Max: 10m 53s
      🟩 GCC10              Pass: 100%/1   | Total: 11m 36s | Avg: 11m 36s | Max: 11m 36s
      🟩 GCC11              Pass: 100%/1   | Total: 10m 16s | Avg: 10m 16s | Max: 10m 16s
      🟩 GCC12              Pass: 100%/3   | Total: 33m 08s | Avg: 11m 02s | Max: 16m 00s
      🟩 GCC13              Pass: 100%/8   | Total:  3h 04m | Avg: 23m 05s | Max: 54m 10s
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 12m | Avg:  1h 06m | Max:  1h 10m | Hits:  33%/1560  
      🟩 MSVC14.39          Pass: 100%/2   | Total:  2h 23m | Avg:  1h 11m | Max:  1h 12m | Hits:  33%/1560  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  2h 20m | Avg:  1h 10m | Max:  1h 14m
    🟩 cxx_family
      🟩 Clang              Pass: 100%/17  | Total:  3h 26m | Avg: 12m 07s | Max:  1h 00m
      🟩 GCC                Pass: 100%/18  | Total:  5h 38m | Avg: 18m 48s | Max: 55m 57s
      🟩 MSVC               Pass: 100%/4   | Total:  4h 35m | Avg:  1h 08m | Max:  1h 12m | Hits:  33%/3120  
      🟩 NVHPC              Pass: 100%/2   | Total:  2h 20m | Avg:  1h 10m | Max:  1h 14m
    🟩 gpu
      🟩 h100               Pass: 100%/2   | Total: 22m 16s | Avg: 11m 08s | Max: 16m 00s
      🟩 v100               Pass: 100%/39  | Total: 15h 38m | Avg: 24m 03s | Max:  1h 14m | Hits:  33%/3120  
    🟩 jobs
      🟩 Build              Pass: 100%/34  | Total: 13h 18m | Avg: 23m 29s | Max:  1h 14m | Hits:  33%/3120  
      🟩 DeviceLaunch       Pass: 100%/1   | Total: 27m 50s | Avg: 27m 50s | Max: 27m 50s
      🟩 GraphCapture       Pass: 100%/1   | Total: 25m 28s | Avg: 25m 28s | Max: 25m 28s
      🟩 HostLaunch         Pass: 100%/3   | Total:  1h 06m | Avg: 22m 16s | Max: 27m 53s
      🟩 TestGPU            Pass: 100%/2   | Total: 41m 20s | Avg: 20m 40s | Max: 21m 29s
    🟩 sm
      🟩 90                 Pass: 100%/2   | Total: 22m 16s | Avg: 11m 08s | Max: 16m 00s
      🟩 90a                Pass: 100%/1   | Total:  6m 35s | Avg:  6m 35s | Max:  6m 35s
    🟩 std
      🟩 17                 Pass: 100%/15  | Total:  8h 37m | Avg: 34m 30s | Max:  1h 12m | Hits:  33%/2340  
      🟩 20                 Pass: 100%/26  | Total:  7h 22m | Avg: 17m 01s | Max:  1h 14m | Hits:  33%/780   
    
  • 🟩 thrust: Pass: 100%/40 | Total: 13h 42m | Avg: 20m 33s | Max: 1h 16m | Hits: 144%/9260

    🟩 cmake_options
      🟩 -DTHRUST_DISPATCH_TYPE=Force32bit Pass: 100%/2   | Total: 27m 15s | Avg: 13m 37s | Max: 16m 44s
    🟩 cpu
      🟩 amd64              Pass: 100%/38  | Total: 13h 23m | Avg: 21m 08s | Max:  1h 16m | Hits: 144%/9260  
      🟩 arm64              Pass: 100%/2   | Total: 19m 06s | Avg:  9m 33s | Max: 12m 49s
    🟩 ctk
      🟩 12.0               Pass: 100%/4   | Total:  1h 28m | Avg: 22m 11s | Max: 52m 36s | Hits:  79%/1852  
      🟩 12.5               Pass: 100%/2   | Total:  2h 26m | Avg:  1h 13m | Max:  1h 16m
      🟩 12.6               Pass: 100%/34  | Total:  9h 46m | Avg: 17m 15s | Max:  1h 07m | Hits: 160%/7408  
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/2   | Total: 13m 19s | Avg:  6m 39s | Max:  7m 00s
      🟩 nvcc12.0           Pass: 100%/4   | Total:  1h 28m | Avg: 22m 11s | Max: 52m 36s | Hits:  79%/1852  
      🟩 nvcc12.5           Pass: 100%/2   | Total:  2h 26m | Avg:  1h 13m | Max:  1h 16m
      🟩 nvcc12.6           Pass: 100%/32  | Total:  9h 33m | Avg: 17m 55s | Max:  1h 07m | Hits: 160%/7408  
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total: 13m 19s | Avg:  6m 39s | Max:  7m 00s
      🟩 nvcc               Pass: 100%/38  | Total: 13h 29m | Avg: 21m 17s | Max:  1h 16m | Hits: 144%/9260  
    🟩 cxx
      🟩 Clang9             Pass: 100%/2   | Total: 46m 03s | Avg: 23m 01s | Max: 33m 54s
      🟩 Clang10            Pass: 100%/1   | Total: 13m 23s | Avg: 13m 23s | Max: 13m 23s
      🟩 Clang11            Pass: 100%/1   | Total: 11m 03s | Avg: 11m 03s | Max: 11m 03s
      🟩 Clang12            Pass: 100%/1   | Total: 10m 52s | Avg: 10m 52s | Max: 10m 52s
      🟩 Clang13            Pass: 100%/1   | Total: 11m 10s | Avg: 11m 10s | Max: 11m 10s
      🟩 Clang14            Pass: 100%/1   | Total:  6m 58s | Avg:  6m 58s | Max:  6m 58s
      🟩 Clang15            Pass: 100%/1   | Total:  7m 16s | Avg:  7m 16s | Max:  7m 16s
      🟩 Clang16            Pass: 100%/1   | Total:  7m 16s | Avg:  7m 16s | Max:  7m 16s
      🟩 Clang17            Pass: 100%/1   | Total:  7m 50s | Avg:  7m 50s | Max:  7m 50s
      🟩 Clang18            Pass: 100%/7   | Total:  1h 10m | Avg: 10m 06s | Max: 29m 01s
      🟩 GCC7               Pass: 100%/2   | Total: 45m 35s | Avg: 22m 47s | Max: 33m 56s
      🟩 GCC8               Pass: 100%/1   | Total: 12m 17s | Avg: 12m 17s | Max: 12m 17s
      🟩 GCC9               Pass: 100%/2   | Total: 24m 04s | Avg: 12m 02s | Max: 12m 21s
      🟩 GCC10              Pass: 100%/1   | Total: 11m 22s | Avg: 11m 22s | Max: 11m 22s
      🟩 GCC11              Pass: 100%/1   | Total: 13m 03s | Avg: 13m 03s | Max: 13m 03s
      🟩 GCC12              Pass: 100%/1   | Total: 13m 26s | Avg: 13m 26s | Max: 13m 26s
      🟩 GCC13              Pass: 100%/8   | Total:  1h 36m | Avg: 12m 07s | Max: 16m 44s
      🟩 MSVC14.29          Pass: 100%/2   | Total:  1h 44m | Avg: 52m 22s | Max: 52m 36s | Hits:  98%/3704  
      🟩 MSVC14.39          Pass: 100%/3   | Total:  2h 41m | Avg: 53m 50s | Max:  1h 07m | Hits: 174%/5556  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  2h 26m | Avg:  1h 13m | Max:  1h 16m
    🟩 cxx_family
      🟩 Clang              Pass: 100%/17  | Total:  3h 12m | Avg: 11m 19s | Max: 33m 54s
      🟩 GCC                Pass: 100%/16  | Total:  3h 36m | Avg: 13m 32s | Max: 33m 56s
      🟩 MSVC               Pass: 100%/5   | Total:  4h 26m | Avg: 53m 15s | Max:  1h 07m | Hits: 144%/9260  
      🟩 NVHPC              Pass: 100%/2   | Total:  2h 26m | Avg:  1h 13m | Max:  1h 16m
    🟩 gpu
      🟩 v100               Pass: 100%/40  | Total: 13h 42m | Avg: 20m 33s | Max:  1h 16m | Hits: 144%/9260  
    🟩 jobs
      🟩 Build              Pass: 100%/34  | Total: 11h 51m | Avg: 20m 55s | Max:  1h 16m | Hits:  88%/7408  
      🟩 TestCPU            Pass: 100%/3   | Total: 49m 49s | Avg: 16m 36s | Max: 33m 29s | Hits: 365%/1852  
      🟩 TestGPU            Pass: 100%/3   | Total:  1h 00m | Avg: 20m 19s | Max: 29m 01s
    🟩 sm
      🟩 90a                Pass: 100%/1   | Total:  8m 34s | Avg:  8m 34s | Max:  8m 34s
    🟩 std
      🟩 17                 Pass: 100%/15  | Total:  6h 42m | Avg: 26m 49s | Max:  1h 10m | Hits:  91%/5556  
      🟩 20                 Pass: 100%/23  | Total:  6h 32m | Avg: 17m 04s | Max:  1h 16m | Hits: 222%/3704  
    
  • 🟩 cudax: Pass: 100%/24 | Total: 2h 21m | Avg: 5m 54s | Max: 23m 16s | Hits: 576%/312

    🟩 cpu
      🟩 amd64              Pass: 100%/20  | Total:  2h 09m | Avg:  6m 28s | Max: 23m 16s | Hits: 576%/312   
      🟩 arm64              Pass: 100%/4   | Total: 12m 25s | Avg:  3m 06s | Max:  3m 35s
    🟩 ctk
      🟩 12.0               Pass: 100%/1   | Total: 11m 44s | Avg: 11m 44s | Max: 11m 44s | Hits: 576%/156   
      🟩 12.5               Pass: 100%/2   | Total: 12m 12s | Avg:  6m 06s | Max:  6m 19s
      🟩 12.6               Pass: 100%/21  | Total:  1h 57m | Avg:  5m 36s | Max: 23m 16s | Hits: 576%/156   
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/1   | Total: 11m 44s | Avg: 11m 44s | Max: 11m 44s | Hits: 576%/156   
      🟩 nvcc12.5           Pass: 100%/2   | Total: 12m 12s | Avg:  6m 06s | Max:  6m 19s
      🟩 nvcc12.6           Pass: 100%/21  | Total:  1h 57m | Avg:  5m 36s | Max: 23m 16s | Hits: 576%/156   
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/24  | Total:  2h 21m | Avg:  5m 54s | Max: 23m 16s | Hits: 576%/312   
    🟩 cxx
      🟩 Clang10            Pass: 100%/1   | Total:  4m 04s | Avg:  4m 04s | Max:  4m 04s
      🟩 Clang11            Pass: 100%/1   | Total:  3m 37s | Avg:  3m 37s | Max:  3m 37s
      🟩 Clang12            Pass: 100%/1   | Total:  3m 39s | Avg:  3m 39s | Max:  3m 39s
      🟩 Clang13            Pass: 100%/1   | Total:  3m 29s | Avg:  3m 29s | Max:  3m 29s
      🟩 Clang14            Pass: 100%/1   | Total:  3m 08s | Avg:  3m 08s | Max:  3m 08s
      🟩 Clang15            Pass: 100%/1   | Total:  3m 26s | Avg:  3m 26s | Max:  3m 26s
      🟩 Clang16            Pass: 100%/1   | Total:  3m 31s | Avg:  3m 31s | Max:  3m 31s
      🟩 Clang17            Pass: 100%/1   | Total:  3m 27s | Avg:  3m 27s | Max:  3m 27s
      🟩 Clang18            Pass: 100%/4   | Total: 27m 55s | Avg:  6m 58s | Max: 19m 05s
      🟩 GCC10              Pass: 100%/1   | Total:  4m 04s | Avg:  4m 04s | Max:  4m 04s
      🟩 GCC11              Pass: 100%/1   | Total:  4m 02s | Avg:  4m 02s | Max:  4m 02s
      🟩 GCC12              Pass: 100%/2   | Total: 27m 14s | Avg: 13m 37s | Max: 23m 16s
      🟩 GCC13              Pass: 100%/4   | Total: 13m 20s | Avg:  3m 20s | Max:  3m 35s
      🟩 MSVC14.36          Pass: 100%/1   | Total: 11m 44s | Avg: 11m 44s | Max: 11m 44s | Hits: 576%/156   
      🟩 MSVC14.39          Pass: 100%/1   | Total: 12m 56s | Avg: 12m 56s | Max: 12m 56s | Hits: 576%/156   
      🟩 NVHPC24.7          Pass: 100%/2   | Total: 12m 12s | Avg:  6m 06s | Max:  6m 19s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/12  | Total: 56m 16s | Avg:  4m 41s | Max: 19m 05s
      🟩 GCC                Pass: 100%/8   | Total: 48m 40s | Avg:  6m 05s | Max: 23m 16s
      🟩 MSVC               Pass: 100%/2   | Total: 24m 40s | Avg: 12m 20s | Max: 12m 56s | Hits: 576%/312   
      🟩 NVHPC              Pass: 100%/2   | Total: 12m 12s | Avg:  6m 06s | Max:  6m 19s
    🟩 gpu
      🟩 v100               Pass: 100%/24  | Total:  2h 21m | Avg:  5m 54s | Max: 23m 16s | Hits: 576%/312   
    🟩 jobs
      🟩 Build              Pass: 100%/22  | Total:  1h 39m | Avg:  4m 31s | Max: 12m 56s | Hits: 576%/312   
      🟩 Test               Pass: 100%/2   | Total: 42m 21s | Avg: 21m 10s | Max: 23m 16s
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  3m 17s | Avg:  3m 17s | Max:  3m 17s
      🟩 90a                Pass: 100%/1   | Total:  3m 01s | Avg:  3m 01s | Max:  3m 01s
    🟩 std
      🟩 17                 Pass: 100%/4   | Total: 15m 28s | Avg:  3m 52s | Max:  5m 53s
      🟩 20                 Pass: 100%/20  | Total:  2h 06m | Avg:  6m 19s | Max: 23m 16s | Hits: 576%/312   
    
  • 🟩 cccl: Pass: 100%/4 | Total: 19m 02s | Avg: 4m 45s | Max: 5m 01s

    🟩 cpu
      🟩 amd64              Pass: 100%/4   | Total: 19m 02s | Avg:  4m 45s | Max:  5m 01s
    🟩 ctk
      🟩 12.0               Pass: 100%/2   | Total:  9m 08s | Avg:  4m 34s | Max:  4m 49s
      🟩 12.6               Pass: 100%/2   | Total:  9m 54s | Avg:  4m 57s | Max:  5m 01s
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/2   | Total:  9m 08s | Avg:  4m 34s | Max:  4m 49s
      🟩 nvcc12.6           Pass: 100%/2   | Total:  9m 54s | Avg:  4m 57s | Max:  5m 01s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/4   | Total: 19m 02s | Avg:  4m 45s | Max:  5m 01s
    🟩 cxx
      🟩 Clang14            Pass: 100%/1   | Total:  4m 19s | Avg:  4m 19s | Max:  4m 19s
      🟩 Clang18            Pass: 100%/1   | Total:  5m 01s | Avg:  5m 01s | Max:  5m 01s
      🟩 GCC12              Pass: 100%/1   | Total:  4m 49s | Avg:  4m 49s | Max:  4m 49s
      🟩 GCC13              Pass: 100%/1   | Total:  4m 53s | Avg:  4m 53s | Max:  4m 53s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/2   | Total:  9m 20s | Avg:  4m 40s | Max:  5m 01s
      🟩 GCC                Pass: 100%/2   | Total:  9m 42s | Avg:  4m 51s | Max:  4m 53s
    🟩 gpu
      🟩 v100               Pass: 100%/4   | Total: 19m 02s | Avg:  4m 45s | Max:  5m 01s
    🟩 jobs
      🟩 Infra              Pass: 100%/4   | Total: 19m 02s | Avg:  4m 45s | Max:  5m 01s
    
  • 🟩 cccl_c_parallel: Pass: 100%/2 | Total: 9m 42s | Avg: 4m 51s | Max: 7m 48s

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total:  9m 42s | Avg:  4m 51s | Max:  7m 48s
    🟩 ctk
      🟩 12.6               Pass: 100%/2   | Total:  9m 42s | Avg:  4m 51s | Max:  7m 48s
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/2   | Total:  9m 42s | Avg:  4m 51s | Max:  7m 48s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total:  9m 42s | Avg:  4m 51s | Max:  7m 48s
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total:  9m 42s | Avg:  4m 51s | Max:  7m 48s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total:  9m 42s | Avg:  4m 51s | Max:  7m 48s
    🟩 gpu
      🟩 v100               Pass: 100%/2   | Total:  9m 42s | Avg:  4m 51s | Max:  7m 48s
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  1m 54s | Avg:  1m 54s | Max:  1m 54s
      🟩 Test               Pass: 100%/1   | Total:  7m 48s | Avg:  7m 48s | Max:  7m 48s
    
  • 🟩 python: Pass: 100%/1 | Total: 26m 46s | Avg: 26m 46s | Max: 26m 46s

    🟩 cpu
      🟩 amd64              Pass: 100%/1   | Total: 26m 46s | Avg: 26m 46s | Max: 26m 46s
    🟩 ctk
      🟩 12.6               Pass: 100%/1   | Total: 26m 46s | Avg: 26m 46s | Max: 26m 46s
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/1   | Total: 26m 46s | Avg: 26m 46s | Max: 26m 46s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/1   | Total: 26m 46s | Avg: 26m 46s | Max: 26m 46s
    🟩 cxx
      🟩 GCC13              Pass: 100%/1   | Total: 26m 46s | Avg: 26m 46s | Max: 26m 46s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/1   | Total: 26m 46s | Avg: 26m 46s | Max: 26m 46s
    🟩 gpu
      🟩 v100               Pass: 100%/1   | Total: 26m 46s | Avg: 26m 46s | Max: 26m 46s
    🟩 jobs
      🟩 Test               Pass: 100%/1   | Total: 26m 46s | Avg: 26m 46s | Max: 26m 46s
    

👃 Inspect Changes

Modifications in project?

Project
+/- CCCL Infrastructure
+/- libcu++
+/- CUB
+/- Thrust
CUDA Experimental
python
CCCL C Parallel Library
Catch2Helper

Modifications in project or dependencies?

Project
+/- CCCL Infrastructure
+/- libcu++
+/- CUB
+/- Thrust
+/- CUDA Experimental
+/- python
+/- CCCL C Parallel Library
+/- Catch2Helper

🏃‍ Runner counts (total jobs: 162)

# Runner
112 linux-amd64-cpu16
23 linux-amd64-gpu-v100-latest-1
16 windows-amd64-cpu16
10 linux-arm64-cpu16
1 linux-amd64-gpu-h100-latest-1-testing

@bernhardmgruber bernhardmgruber merged commit fdaaf97 into NVIDIA:main Jan 9, 2025
207 checks passed
@bernhardmgruber bernhardmgruber deleted the cpp17 branch January 9, 2025 16:42
davebayer pushed a commit to davebayer/cccl that referenced this pull request Jan 18, 2025
* Issue an unsuppressable warning when compiling with < C++17
* Remove C++11/14 presets
* Remove CCCL_IGNORE_DEPRECATED_CPP_DIALECT from headers
* Remove [CUB|THRUST|TCT]_IGNORE_DEPRECATED_CPP_[11|14]
* Remove CUB_ENABLE_DIALECT_CPP[11|14]
* Update CI runs
* Remove C++11/14 CI runs for CUB and Thrust
* Raise compiler minimum versions for C++17
* Update ReadMe
* Drop Thrust's cpp14_required.h
* Add escape hatch for C++17 removal

Fixes: NVIDIA#3252
davebayer added a commit to davebayer/cccl that referenced this pull request Jan 20, 2025
implement `add_sat`

split `signed`/`unsigned` implementation, improve implementation for MSVC

improve device `add_sat` implementation

add `add_sat` test

improve generic `add_sat` implementation for signed types

implement `sub_sat`

allow more msvc intrinsics on x86

add op tests

partially implement `mul_sat`

implement `div_sat` and `saturate_cast`

add `saturate_cast` test

simplify `div_sat` test

Deprectate C++11 and C++14 for libcu++ (#3173)

* Deprectate C++11 and C++14 for libcu++

Co-authored-by: Bernhard Manfred Gruber <[email protected]>

Implement `abs` and `div` from `cstdlib` (#3153)

* implement integer abs functions
* improve tests, fix constexpr support
* just use the our implementation
* implement `cuda::std::div`
* prefer host's `div_t` like types
* provide `cuda::std::abs` overloads for floats
* allow fp abs for NVRTC
* silence msvc's warning about conversion from floating point to integral

Fix missing radix sort policies (#3174)

Fixes NVBug 5009941

Introduces new `DeviceReduce::Arg{Min,Max}` interface with two output iterators (#3148)

* introduces new arg{min,max} interface with two output iterators

* adds fp inf tests

* fixes docs

* improves code example

* fixes exec space specifier

* trying to fix deprecation warning for more compilers

* inlines unzip operator

* trying to fix deprecation warning for nvhpc

* integrates supression fixes in diagnostics

* pre-ctk 11.5 deprecation suppression

* fixes icc

* fix for pre-ctk11.5

* cleans up deprecation suppression

* cleanup

Extend tuning documentation (#3179)

Add codespell pre-commit hook, fix typos in CCCL (#3168)

* Add codespell pre-commit hook
* Automatic changes from codespell.
* Manual changes.

Fix parameter space for TUNE_LOAD in scan benchmark (#3176)

fix various old compiler checks (#3178)

implement C++26 `std::projected` (#3175)

Fix pre-commit config for codespell and remaining typos (#3182)

Massive cleanup of our config (#3155)

Fix UB in atomics with automatic storage (#2586)

* Adds specialized local cuda atomics and injects them into most atomics paths.

Co-authored-by: Georgy Evtushenko <[email protected]>
Co-authored-by: gonzalobg <[email protected]>

* Allow CUDA 12.2 to keep perf, this addresses earlier comments in #478

* Remove extraneous double brackets in unformatted code.

* Merge unsafe atomic logic into `__cuda_is_local`.

* Use `const_cast` for type conversions in cuda_local.h

* Fix build issues from interface changes

* Fix missing __nanosleep on sm70-

* Guard __isLocal from NVHPC

* Use PTX instead of running nothing from NVHPC

* fixup /s/nvrtc/nvhpc

* Fixup missing CUDA ifdef surrounding device code

* Fix codegen

* Bypass some sort of compiler bug on GCC7

* Apply suggestions from code review

* Use unsafe automatic storage atomics in codegen tests

---------

Co-authored-by: Georgy Evtushenko <[email protected]>
Co-authored-by: gonzalobg <[email protected]>
Co-authored-by: Michael Schellenberger Costa <[email protected]>

Refactor the source code layout for `cuda.parallel` (#3177)

* Refactor the source layout for cuda.parallel

* Add copyright

* Address review feedback

* Don't import anything into `experimental` namespace

* fix import

---------

Co-authored-by: Ashwin Srinath <[email protected]>

new type-erased memory resources (#2824)

s/_LIBCUDACXX_DECLSPEC_EMPTY_BASES/_CCCL_DECLSPEC_EMPTY_BASES/g (#3186)

Document address stability of `thrust::transform` (#3181)

* Do not document _LIBCUDACXX_MARK_CAN_COPY_ARGUMENTS
* Reformat and fix UnaryFunction/BinaryFunction in transform docs
* Mention transform can use proclaim_copyable_arguments
* Document cuda::proclaims_copyable_arguments better
* Deprecate depending on transform functor argument addresses

Fixes: #3053

turn off cuda version check for clangd (#3194)

[STF] jacobi example based on parallel_for (#3187)

* Simple jacobi example with parallel for and reductions

* clang-format

* remove useless capture list

fixes pre-nv_diag suppression issues (#3189)

Prefer c2h::type_name over c2h::demangle (#3195)

Fix memcpy_async* tests (#3197)

* memcpy_async_tx: Fix bug in test

Two bugs, one of which occurs in practice:

1. There is a missing fence.proxy.space::global between the writes to
   global memory and the memcpy_async_tx. (Occurs in practice)

2. The end of the kernel should be fenced with `__syncthreads()`,
   because the barrier is invalidated in the destructor. If other
   threads are still waiting on it, there will be UB. (Has not yet
   manifested itself)

* cp_async_bulk_tensor: Pre-emptively fence more in test

Add type annotations and mypy checks for `cuda.parallel`  (#3180)

* Refactor the source layout for cuda.parallel

* Add initial type annotations

* Update pre-commit config

* More typing

* Fix bad merge

* Fix TYPE_CHECKING and numpy annotations

* typing bindings.py correctly

* Address review feedback

---------

Co-authored-by: Ashwin Srinath <[email protected]>

Fix rendering of cuda.parallel docs (#3192)

* Fix pre-commit config for codespell and remaining typos

* Fix rendering of docs for cuda.parallel

---------

Co-authored-by: Ashwin Srinath <[email protected]>

Enable PDL for DeviceMergeSortBlockSortKernel (#3199)

The kernel already contains a call to _CCCL_PDL_GRID_DEPENDENCY_SYNC.
This commit enables PDL when launching the kernel.

Adds support for large `num_items` to `DeviceReduce::{ArgMin,ArgMax}` (#2647)

* adds benchmarks for reduce::arg{min,max}

* preliminary streaming arg-extremum reduction

* fixes implicit conversion

* uses streaming dispatch class

* changes arg benches to use new streaming reduce

* streaming arg-extrema reduction

* fixes style

* fixes compilation failures

* cleanups

* adds rst style comments

* declare vars const and use clamp

* consolidates argmin argmax benchmarks

* fixes thrust usage

* drops offset type in arg-extrema benchmarks

* fixes clang cuda

* exec space macros

* switch to signed global offset type for slightly better perf

* clarifies documentation

* applies minor benchmark style changes from review comments

* fixes interface documentation and comments

* list-init accumulating output op

* improves style, comments, and tests

* cleans up aggregate init

* renames dispatch class usage in benchmarks

* fixes merge conflicts

* addresses review comments

* addresses review comments

* fixes assertion

* removes superseded implementation

* changes large problem tests to use new interface

* removes obsolete tests for deprecated interface

Fixes for Python 3.7 docs environment (#3206)

Co-authored-by: Ashwin Srinath <[email protected]>

Adds support for large number of items to `DeviceTransform` (#3172)

* moves large problem test helper to common file

* adds support for large num items to device transform

* adds tests for large number of items to device interface

* fixes format

* addresses review comments

cp_async_bulk: Fix test (#3198)

* memcpy_async_tx: Fix bug in test

Two bugs, one of which occurs in practice:

1. There is a missing fence.proxy.space::global between the writes to
   global memory and the memcpy_async_tx. (Occurs in practice)

2. The end of the kernel should be fenced with `__syncthreads()`,
   because the barrier is invalidated in the destructor. If other
   threads are still waiting on it, there will be UB. (Has not yet
   manifested itself)

* cp_async_bulk_tensor: Pre-emptively fence more in test

* cp_async_bulk: Fix test

The global memory pointer could be misaligned.

cudax fixes for msvc 14.41 (#3200)

avoid instantiating class templates in `is_same` implementation when possible (#3203)

Fix: make launchers a CUB detail; make kernel source functions hidden. (#3209)

* Fix: make launchers a CUB detail; make kernel source functions hidden.

* [pre-commit.ci] auto code formatting

* Address review comments, fix which macro gets fixed.

help the ranges concepts recognize standard contiguous iterators in c++14/17 (#3202)

unify macros and cmake options that control the suppression of deprecation warnings (#3220)

* unify macros and cmake options that control the suppression of deprecation warnings

* suppress nvcc warning #186 in thrust header tests

* suppress c++ dialect deprecation warnings in libcudacxx header tests

Fx thread-reduce performance regression (#3225)

cuda.parallel: In-memory caching of build objects (#3216)

* Define __eq__ and __hash__ for Iterators

* Define cache_with_key utility and use it to cache Reduce objects

* Add tests for caching Reduce objects

* Tighten up types

* Updates to support 3.7

* Address review feedback

* Introduce IteratorKind to hold iterator type information

* Use the .kind to generate an abi_name

* Remove __eq__ and __hash__ methods from IteratorBase

* Move helper function

* Formatting

* Don't unpack tuple in cache key

---------

Co-authored-by: Ashwin Srinath <[email protected]>

Just enough ranges for c++14 `span` (#3211)

use generalized concepts portability macros to simplify the `range` concept (#3217)

fixes some issues in the concepts portability macros and then re-implements the `range` concept with `_CCCL_REQUIRES_EXPR`

Use Ruff to sort imports (#3230)

* Update pyproject.tomls for import sorting

* Update files after running pre-commit

* Move ruff config to pyproject.toml

---------

Co-authored-by: Ashwin Srinath <[email protected]>

fix tuning_scan sm90 config issue (#3236)

Co-authored-by: Shijie Chen <[email protected]>

[STF] Logical token (#3196)

* Split the implementation of the void interface into the definition of the interface, and its implementations on streams and graphs.

* Add missing files

* Check if a task implementation can match a prototype where the void_interface arguments are ignored

* Implement ctx.abstract_logical_data() which relies on a void data interface

* Illustrate how to use abstract handles in local contexts

* Introduce an is_void_interface() virtual method in the data interface to potentially optimize some stages

* Small improvements in the examples

* Do not try to allocate or move void data

* Do not use I as a variable

* fix linkage error

* rename abtract_logical_data into logical_token

* Document logical token

* fix spelling error

* fix sphinx error

* reflect name changes

* use meaningful variable names

* simplify logical_token implementation because writeback is already disabled

* add a unit test for token elision

* implement token elision in host_launch

* Remove unused type

* Implement helpers to check if a function can be invoked from a tuple, or from a tuple where we removed tokens

* Much simpler is_tuple_invocable_with_filtered implementation

* Fix buggy test

* Factorize code

* Document that we can ignore tokens for task and host_launch

* Documentation for logical data freeze

Fix ReduceByKey tuning (#3240)

Fix RLE tuning (#3239)

cuda.parallel: Forbid non-contiguous arrays as inputs (or outputs) (#3233)

* Forbid non-contiguous arrays as inputs (or outputs)

* Implement a more robust way to check for contiguity

* Don't bother if cublas unavailable

* Fix how we check for zero-element arrays

* sort imports

---------

Co-authored-by: Ashwin Srinath <[email protected]>

expands support for more offset types in segmented benchmark (#3231)

Add escape hatches to the cmake configuration of the header tests so that we can tests deprecated compilers / dialects (#3253)

* Add escape hatches to the cmake configuration of the header tests so that we can tests deprecated compilers / dialects

* Do not add option twice

ptx: Add add_instruction.py (#3190)

This file helps create the necessary structure for new PTX instructions.

Co-authored-by: Allard Hendriksen <[email protected]>

Bump main to 2.9.0. (#3247)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

Drop cub::Mutex (#3251)

Fixes: #3250

Remove legacy macros from CUB util_arch.cuh (#3257)

Fixes: #3256

Remove thrust::[unary|binary]_traits (#3260)

Fixes: #3259

Architecture and OS identification macros (#3237)

Bump main to 3.0.0. (#3265)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

Drop thrust not1 and not2 (#3264)

Fixes: #3263

CCCL Internal macro documentation (#3238)

Deprecate GridBarrier and GridBarrierLifetime (#3258)

Fixes: #1389

Require at least gcc7 (#3268)

Fixes: #3267

Drop thrust::[unary|binary]_function (#3274)

Fixes: #3273

Drop ICC from CI (#3277)

[STF] Corruption of the capture list of an extended lambda with a parallel_for construct on a host execution place (#3270)

* Add a test to reproduce a bug observed with parallel_for on a host place

* clang-format

* use _CCCL_ASSERT

* Attempt to debug

* do not create a tuple with a universal reference that is out of scope when we use it, use an lvalue instead

* fix lambda expression

* clang-format

Enable thrust::identity test for non-MSVC (#3281)

This seems to be an oversight when the test was added

Co-authored-by: Michael Schellenberger Costa <[email protected]>

Enable PDL in triple chevron launch (#3282)

It seems PDL was disabled by accident when _THRUST_HAS_PDL was renamed
to _CCCL_HAS_PDL during the review introducing the feature.

Disambiguate line continuations and macro continuations in <nv/target> (#3244)

Drop VS 2017 from CI (#3287)

Fixes: #3286

Drop ICC support in code (#3279)

* Drop ICC from code

Fixes: #3278

Co-authored-by: Michael Schellenberger Costa <[email protected]>

Make CUB NVRTC commandline arguments come from a cmake template (#3292)

Propose the same components (thrust, cub, libc++, cudax, cuda.parallel,...) in the bug report template than in the feature request template (#3295)

Use process isolation instead of default hyper-v for Windows. (#3294)

Try improving build times by using process isolation instead of hyper-v

Co-authored-by: Michael Schellenberger Costa <[email protected]>

[pre-commit.ci] pre-commit autoupdate (#3248)

* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/pre-commit/mirrors-clang-format: v18.1.8 → v19.1.6](https://github.com/pre-commit/mirrors-clang-format/compare/v18.1.8...v19.1.6)
- [github.com/astral-sh/ruff-pre-commit: v0.8.3 → v0.8.6](https://github.com/astral-sh/ruff-pre-commit/compare/v0.8.3...v0.8.6)
- [github.com/pre-commit/mirrors-mypy: v1.13.0 → v1.14.1](https://github.com/pre-commit/mirrors-mypy/compare/v1.13.0...v1.14.1)

Co-authored-by: Michael Schellenberger Costa <[email protected]>

Drop Thrust legacy arch macros (#3298)

Which were disabled and could be re-enabled using THRUST_PROVIDE_LEGACY_ARCH_MACROS

Drop Thrust's compiler_fence.h (#3300)

Drop CTK 11.x from CI (#3275)

* Add cuda12.0-gcc7 devcontainer
* Move MSVC2017 jobs to CTK 12.6
Those is the only combination where rapidsai has devcontainers
* Add /Zc:__cplusplus for the libcudacxx tests
* Only add excape hatch for affected CTKs
* Workaround missing cudaLaunchKernelEx on MSVC
cudaLaunchKernelEx requires C++11, but unfortunately <cuda_runtime.h> checks this using the __cplusplus macro, which is reported wrongly for MSVC. CTK 12.3 fixed this by additionally detecting _MSV_VER. As a workaround, we provide our own copy of cudaLaunchKernelEx when it is not available from the CTK.
* Workaround nvcc+MSVC issue
* Regenerate devcontainers

Fixes: #3249

Co-authored-by: Michael Schellenberger Costa <[email protected]>

Drop CUB's util_compiler.cuh (#3302)

All contained macros were deprecated

Update packman and repo_docs versions (#3293)

Co-authored-by: Ashwin Srinath <[email protected]>

Drop Thrust's deprecated compiler macros (#3301)

Drop CUB_RUNTIME_ENABLED and __THRUST_HAS_CUDART__ (#3305)

Adds support for large number of items to `DevicePartition::If` with the `ThreeWayPartition` overload (#2506)

* adds support for large number of items to three-way partition

* adapts interface to use choose_signed_offset_t

* integrates applicable feedback from device-select pr

* changes behavior for empty problems

* unifies grid constant macro

* fixes kernel template specialization mismatch

* integrates _CCCL_GRID_CONSTANT changes

* resolve merge conflicts

* fixes checks in test

* fixes test verification

* improves tests

* makes few improvements to streaming dispatch

* improves code comment on test

* fixes unrelated compiler error

* minor style improvements

Refactor scan tunings (#3262)

Require C++17 for compiling Thrust and CUB (#3255)

* Issue an unsuppressable warning when compiling with < C++17
* Remove C++11/14 presets
* Remove CCCL_IGNORE_DEPRECATED_CPP_DIALECT from headers
* Remove [CUB|THRUST|TCT]_IGNORE_DEPRECATED_CPP_[11|14]
* Remove CUB_ENABLE_DIALECT_CPP[11|14]
* Update CI runs
* Remove C++11/14 CI runs for CUB and Thrust
* Raise compiler minimum versions for C++17
* Update ReadMe
* Drop Thrust's cpp14_required.h
* Add escape hatch for C++17 removal

Fixes: #3252

Implement `views::empty` (#3254)

* Disable pair conversion of subrange with clang in C++17

* Fix namespace views

* Implement `views::empty`

This implements `std::ranges::views::empty`, see https://en.cppreference.com/w/cpp/ranges/empty_view

Refactor `limits` and `climits` (#3221)

* implement builtins for huge val, nan and nans

* change `INFINITY` and `NAN` implementation for NVRTC

cuda.parallel: Add documentation for the current iterators along with examples and tests (#3311)

* Add tests demonstrating usage of different iterators

* Update documentation of reduce_into by merging import code snippet with the rest of the example

* Add documentation for current iterators

* Run pre-commit checks and update accordingly

* Fix comments to refer to the proper lines in the code snippets in the docs

Drop clang<14 from CI, update devcontainers. (#3309)

Co-authored-by: Bernhard Manfred Gruber <[email protected]>

[STF] Cleanup task dependencies object constructors (#3291)

* Define tag types for access modes

* - Rework how we build task_dep objects based on access mode tags
- pack_state is now responsible for using a const_cast for read only data

* Greatly simplify the previous attempt : do not define new types, but use integral constants based on the enums

* It seems the const_cast was not necessarily so we can simplify it and not even do some dispatch based on access modes

Disable test with a gcc-14 regression (#3297)

Deprecate Thrust's cpp_compatibility.h macros (#3299)

Remove dropped function objects from docs (#3319)

Document `NV_TARGET` macros (#3313)

[STF] Define ctx.pick_stream() which was missing for the unified context (#3326)

* Define ctx.pick_stream() which was missing for the unified context

* clang-format

Deprecate cub::IterateThreadStore (#3337)

Drop CUB's BinaryFlip operator (#3332)

Deprecate cub::Swap (#3333)

Clarify transform output can overlap input (#3323)

Drop CUB APIs with a debug_synchronous parameter (#3330)

Fixes: #3329

Drop CUB's util_compiler.cuh for real (#3340)

PR #3302 planned to drop the file, but only dropped its content. This
was an oversight. So let's drop the entire file.

Drop cub::ValueCache (#3346)

limits offset types for merge sort (#3328)

Drop CDPv1 (#3344)

Fixes: #3341

Drop thrust::void_t (#3362)

Use cuda::std::addressof in Thrust (#3363)

Fix all_of documentation for empty ranges (#3358)

all_of always returns true on an empty range.

[STF] Do not keep track of dangling events in a CUDA graph backend (#3327)

* Unlike the CUDA stream backend, nodes in a CUDA graph are necessarily done when
the CUDA graph completes. Therefore keeping track of "dangling events" is a
waste of time and resources.

* replace can_ignore_dangling_events by track_dangling_events which leads to more readable code

* When not storing the dangling events, we must still perform the deinit operations that were producing these events !

Extract scan kernels into NVRTC-compilable header (#3334)

* Extract scan kernels into NVRTC-compilable header

* Update cub/cub/device/dispatch/dispatch_scan.cuh

Co-authored-by: Georgii Evtushenko <[email protected]>

---------

Co-authored-by: Ashwin Srinath <[email protected]>
Co-authored-by: Georgii Evtushenko <[email protected]>

Drop deprecated aliases in Thrust functional (#3272)

Fixes: #3271

Drop cub::DivideAndRoundUp (#3347)

Use cuda::std::min/max in Thrust (#3364)

Implement `cuda::std::numeric_limits` for `__half` and `__nv_bfloat16` (#3361)

* implement `cuda::std::numeric_limits` for `__half` and `__nv_bfloat16`

Cleanup util_arch (#2773)

Deprecate thrust::null_type (#3367)

Deprecate cub::DeviceSpmv (#3320)

Fixes: #896

Improves `DeviceSegmentedSort` test run time for large number of items and segments (#3246)

* fixes segment offset generation

* switches to analytical verification

* switches to analytical verification for pairs

* fixes spelling

* adds tests for large number of segments

* fixes narrowing conversion in tests

* addresses review comments

* fixes includes

Compile basic infra test with C++17 (#3377)

Adds support for large number of items and large number of segments to `DeviceSegmentedSort` (#3308)

* fixes segment offset generation

* switches to analytical verification

* switches to analytical verification for pairs

* addresses review comments

* introduces segment offset type

* adds tests for large number of segments

* adds support for large number of segments

* drops segment offset type

* fixes thrust namespace

* removes about-to-be-deprecated cub iterators

* no exec specifier on defaulted ctor

* fixes gcc7 linker error

* uses local_segment_index_t throughout

* determine offset type based on type returned by segment iterator begin/end iterators

* minor style improvements

Exit with error when RAPIDS CI fails. (#3385)

cuda.parallel: Support structured types as algorithm inputs (#3218)

* Introduce gpu_struct decorator and typing

* Enable `reduce` to accept arrays of structs as inputs

* Add test for reducing arrays-of-struct

* Update documentation

* Use a numpy array rather than ctypes object

* Change zeros -> empty for output array and temp storage

* Add a TODO for typing GpuStruct

* Documentation udpates

* Remove test_reduce_struct_type from test_reduce.py

* Revert to `to_cccl_value()` accepting ndarray + GpuStruct

* Bump copyrights

---------

Co-authored-by: Ashwin Srinath <[email protected]>

Deprecate thrust::async (#3324)

Fixes: #100

Review/Deprecate CUB `util.ptx` for CCCL 2.x (#3342)

Fix broken `_CCCL_BUILTIN_ASSUME` macro (#3314)

* add compiler-specific path
* fix device code path
* add _CCC_ASSUME

Deprecate thrust::numeric_limits (#3366)

Replace `typedef` with `using` in libcu++ (#3368)

Deprecate thrust::optional (#3307)

Fixes: #3306

Upgrade to Catch2 3.8  (#3310)

Fixes: #1724

refactor `<cuda/std/cstdint>` (#3325)

Co-authored-by: Bernhard Manfred Gruber <[email protected]>

Update CODEOWNERS (#3331)

* Update CODEOWNERS

* Update CODEOWNERS

* Update CODEOWNERS

* [pre-commit.ci] auto code formatting

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

Fix sign-compare warning (#3408)

Implement more cmath functions to be usable on host and device (#3382)

* Implement more cmath functions to be usable on host and device

* Implement math roots functions

* Implement exponential functions

Redefine and deprecate thrust::remove_cvref (#3394)

* Redefine and deprecate thrust::remove_cvref

Co-authored-by: Michael Schellenberger Costa <[email protected]>

Fix assert definition for NVHPC due to constexpr issues (#3418)

NVHPC cannot decide at compile time where the code would run so _CCCL_ASSERT within a constexpr function breaks it.

Fix this by always using the host definition which should also work on device.

Fixes #3411

Extend CUB reduce benchmarks (#3401)

* Rename max.cu to custom.cu, since it uses a custom operator
* Extend types covered my min.cu to all fundamental types
* Add some notes on how to collect tuning parameters

Fixes: #3283

Update upload-pages-artifact to v3 (#3423)

* Update upload-pages-artifact to v3

* Empty commit

---------

Co-authored-by: Ashwin Srinath <[email protected]>

Replace and deprecate thrust::cuda_cub::terminate (#3421)

`std::linalg` accessors and `transposed_layout` (#2962)

Add round up/down to multiple (#3234)

[FEA]: Introduce Python module with CCCL headers (#3201)

* Add cccl/python/cuda_cccl directory and use from cuda_parallel, cuda_cooperative

* Run `copy_cccl_headers_to_aude_include()` before `setup()`

* Create python/cuda_cccl/cuda/_include/__init__.py, then simply import cuda._include to find the include path.

* Add cuda.cccl._version exactly as for cuda.cooperative and cuda.parallel

* Bug fix: cuda/_include only exists after shutil.copytree() ran.

* Use `f"cuda-cccl @ file://{cccl_path}/python/cuda_cccl"` in setup.py

* Remove CustomBuildCommand, CustomWheelBuild in cuda_parallel/setup.py (they are equivalent to the default functions)

* Replace := operator (needs Python 3.8+)

* Fix oversights: remove `pip3 install ./cuda_cccl` lines from README.md

* Restore original README.md: `pip3 install -e` now works on first pass.

* cuda_cccl/README.md: FOR INTERNAL USE ONLY

* Remove `$pymajor.$pyminor.` prefix in cuda_cccl _version.py (as suggested under https://github.com/NVIDIA/cccl/pull/3201#discussion_r1894035917)

Command used: ci/update_version.sh 2 8 0

* Modernize pyproject.toml, setup.py

Trigger for this change:

* https://github.com/NVIDIA/cccl/pull/3201#discussion_r1894043178

* https://github.com/NVIDIA/cccl/pull/3201#discussion_r1894044996

* Install CCCL headers under cuda.cccl.include

Trigger for this change:

* https://github.com/NVIDIA/cccl/pull/3201#discussion_r1894048562

Unexpected accidental discovery: cuda.cooperative unit tests pass without CCCL headers entirely.

* Factor out cuda_cccl/cuda/cccl/include_paths.py

* Reuse cuda_cccl/cuda/cccl/include_paths.py from cuda_cooperative

* Add missing Copyright notice.

* Add missing __init__.py (cuda.cccl)

* Add `"cuda.cccl"` to `autodoc.mock_imports`

* Move cuda.cccl.include_paths into function where it is used. (Attempt to resolve Build and Verify Docs failure.)

* Add # TODO: move this to a module-level import

* Modernize cuda_cooperative/pyproject.toml, setup.py

* Convert cuda_cooperative to use hatchling as build backend.

* Revert "Convert cuda_cooperative to use hatchling as build backend."

This reverts commit 61637d608da06fcf6851ef6197f88b5e7dbc3bbe.

* Move numpy from [build-system] requires -> [project] dependencies

* Move pyproject.toml [project] dependencies -> setup.py install_requires, to be able to use CCCL_PATH

* Remove copy_license() and use license_files=["../../LICENSE"] instead.

* Further modernize cuda_cccl/setup.py to use pathlib

* Trivial simplifications in cuda_cccl/pyproject.toml

* Further simplify cuda_cccl/pyproject.toml, setup.py: remove inconsequential code

* Make cuda_cooperative/pyproject.toml more similar to cuda_cccl/pyproject.toml

* Add taplo-pre-commit to .pre-commit-config.yaml

* taplo-pre-commit auto-fixes

* Use pathlib in cuda_cooperative/setup.py

* CCCL_PYTHON_PATH in cuda_cooperative/setup.py

* Modernize cuda_parallel/pyproject.toml, setup.py

* Use pathlib in cuda_parallel/setup.py

* Add `# TOML lint & format` comment.

* Replace MANIFEST.in with `[tool.setuptools.package-data]` section in pyproject.toml

* Use pathlib in cuda/cccl/include_paths.py

* pre-commit autoupdate (EXCEPT clang-format, which was manually restored)

* Fixes after git merge main

* Resolve warning: AttributeError: '_Reduce' object has no attribute 'build_result'

```
=========================================================================== warnings summary ===========================================================================
tests/test_reduce.py::test_reduce_non_contiguous
  /home/coder/cccl/python/devenv/lib/python3.12/site-packages/_pytest/unraisableexception.py:85: PytestUnraisableExceptionWarning: Exception ignored in: <function _Reduce.__del__ at 0x7bf123139080>

  Traceback (most recent call last):
    File "/home/coder/cccl/python/cuda_parallel/cuda/parallel/experimental/algorithms/reduce.py", line 132, in __del__
      bindings.cccl_device_reduce_cleanup(ctypes.byref(self.build_result))
                                                       ^^^^^^^^^^^^^^^^^
  AttributeError: '_Reduce' object has no attribute 'build_result'

    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================================================= 1 passed, 93 deselected, 1 warning in 0.44s ==============================================================
```

* Move `copy_cccl_headers_to_cuda_cccl_include()` functionality to `class CustomBuildPy`

* Introduce cuda_cooperative/constraints.txt

* Also add cuda_parallel/constraints.txt

* Add `--constraint constraints.txt` in ci/test_python.sh

* Update Copyright dates

* Switch to https://github.com/ComPWA/taplo-pre-commit (the other repo has been archived by the owner on Jul 1, 2024)

For completeness: The other repo took a long time to install into the pre-commit cache; so long it lead to timeouts in the CCCL CI.

* Remove unused cuda_parallel jinja2 dependency (noticed by chance).

* Remove constraints.txt files, advertise running `pip install cuda-cccl` first instead.

* Make cuda_cooperative, cuda_parallel testing completely independent.

* Run only test_python.sh [skip-rapids][skip-matx][skip-docs][skip-vdc]

* Try using another runner (because V100 runners seem to be stuck) [skip-rapids][skip-matx][skip-docs][skip-vdc]

* Fix sign-compare warning (#3408) [skip-rapids][skip-matx][skip-docs][skip-vdc]

* Revert "Try using another runner (because V100 runners seem to be stuck) [skip-rapids][skip-matx][skip-docs][skip-vdc]"

This reverts commit ea33a218ed77a075156cd1b332047202adb25aa2.

Error message: https://github.com/NVIDIA/cccl/pull/3201#issuecomment-2594012971

* Try using A100 runner (because V100 runners still seem to be stuck) [skip-rapids][skip-matx][skip-docs][skip-vdc]

* Also show cuda-cooperative site-packages, cuda-parallel site-packages (after pip install) [skip-rapids][skip-matx][skip-docs][skip-vdc]

* Try using l4 runner (because V100 runners still seem to be stuck) [skip-rapids][skip-matx][skip-docs][skip-vdc]

* Restore original ci/matrix.yaml [skip-rapids]

* Use for loop in test_python.sh to avoid code duplication.

* Run only test_python.sh [skip-rapids][skip-matx][skip-docs][skip-vdc][skip pre-commit.ci]

* Comment out taplo-lint in pre-commit config [skip-rapids][skip-matx][skip-docs][skip-vdc]

* Revert "Run only test_python.sh [skip-rapids][skip-matx][skip-docs][skip-vdc][skip pre-commit.ci]"

This reverts commit ec206fd8b50a6a293e00a5825b579e125010b13d.

* Implement suggestion by @shwina (https://github.com/NVIDIA/cccl/pull/3201#pullrequestreview-2556918460)

* Address feedback by @leofang

---------

Co-authored-by: Bernhard Manfred Gruber <[email protected]>

cuda.parallel: Add optional stream argument to reduce_into() (#3348)

* Add optional stream argument to reduce_into()

* Add tests to check for reduce_into() stream behavior

* Move protocol related utils to separate file and rework __cuda_stream__ error messages

* Fix synchronization issue in stream test and add one more invalid stream test case

* Rename cuda stream validation function after removing leading underscore

* Unpack values from __cuda_stream__ instead of indexing

* Fix linting errors

* Handle TypeError when unpacking invalid __cuda_stream__ return

* Use stream to allocate cupy memory in new stream test

Upgrade to actions/deploy-pages@v4 (from v2), as suggested by @leofang (#3434)

Deprecate `cub::{min, max}` and replace internal uses with those from libcu++ (#3419)

* Deprecate `cub::{min, max}` and replace internal uses with those from libcu++

Fixes #3404

move to c++17, finalize device optimization

fix msvc compilation, update tests

Deprectate C++11 and C++14 for libcu++ (#3173)

* Deprectate C++11 and C++14 for libcu++

Co-authored-by: Bernhard Manfred Gruber <[email protected]>

Implement `abs` and `div` from `cstdlib` (#3153)

* implement integer abs functions
* improve tests, fix constexpr support
* just use the our implementation
* implement `cuda::std::div`
* prefer host's `div_t` like types
* provide `cuda::std::abs` overloads for floats
* allow fp abs for NVRTC
* silence msvc's warning about conversion from floating point to integral

Fix missing radix sort policies (#3174)

Fixes NVBug 5009941

Introduces new `DeviceReduce::Arg{Min,Max}` interface with two output iterators (#3148)

* introduces new arg{min,max} interface with two output iterators

* adds fp inf tests

* fixes docs

* improves code example

* fixes exec space specifier

* trying to fix deprecation warning for more compilers

* inlines unzip operator

* trying to fix deprecation warning for nvhpc

* integrates supression fixes in diagnostics

* pre-ctk 11.5 deprecation suppression

* fixes icc

* fix for pre-ctk11.5

* cleans up deprecation suppression

* cleanup

Extend tuning documentation (#3179)

Add codespell pre-commit hook, fix typos in CCCL (#3168)

* Add codespell pre-commit hook
* Automatic changes from codespell.
* Manual changes.

Fix parameter space for TUNE_LOAD in scan benchmark (#3176)

fix various old compiler checks (#3178)

implement C++26 `std::projected` (#3175)

Fix pre-commit config for codespell and remaining typos (#3182)

Massive cleanup of our config (#3155)

Fix UB in atomics with automatic storage (#2586)

* Adds specialized local cuda atomics and injects them into most atomics paths.

Co-authored-by: Georgy Evtushenko <[email protected]>
Co-authored-by: gonzalobg <[email protected]>

* Allow CUDA 12.2 to keep perf, this addresses earlier comments in #478

* Remove extraneous double brackets in unformatted code.

* Merge unsafe atomic logic into `__cuda_is_local`.

* Use `const_cast` for type conversions in cuda_local.h

* Fix build issues from interface changes

* Fix missing __nanosleep on sm70-

* Guard __isLocal from NVHPC

* Use PTX instead of running nothing from NVHPC

* fixup /s/nvrtc/nvhpc

* Fixup missing CUDA ifdef surrounding device code

* Fix codegen

* Bypass some sort of compiler bug on GCC7

* Apply suggestions from code review

* Use unsafe automatic storage atomics in codegen tests

---------

Co-authored-by: Georgy Evtushenko <[email protected]>
Co-authored-by: gonzalobg <[email protected]>
Co-authored-by: Michael Schellenberger Costa <[email protected]>

Refactor the source code layout for `cuda.parallel` (#3177)

* Refactor the source layout for cuda.parallel

* Add copyright

* Address review feedback

* Don't import anything into `experimental` namespace

* fix import

---------

Co-authored-by: Ashwin Srinath <[email protected]>

new type-erased memory resources (#2824)

s/_LIBCUDACXX_DECLSPEC_EMPTY_BASES/_CCCL_DECLSPEC_EMPTY_BASES/g (#3186)

Document address stability of `thrust::transform` (#3181)

* Do not document _LIBCUDACXX_MARK_CAN_COPY_ARGUMENTS
* Reformat and fix UnaryFunction/BinaryFunction in transform docs
* Mention transform can use proclaim_copyable_arguments
* Document cuda::proclaims_copyable_arguments better
* Deprecate depending on transform functor argument addresses

Fixes: #3053

turn off cuda version check for clangd (#3194)

[STF] jacobi example based on parallel_for (#3187)

* Simple jacobi example with parallel for and reductions

* clang-format

* remove useless capture list

fixes pre-nv_diag suppression issues (#3189)

Prefer c2h::type_name over c2h::demangle (#3195)

Fix memcpy_async* tests (#3197)

* memcpy_async_tx: Fix bug in test

Two bugs, one of which occurs in practice:

1. There is a missing fence.proxy.space::global between the writes to
   global memory and the memcpy_async_tx. (Occurs in practice)

2. The end of the kernel should be fenced with `__syncthreads()`,
   because the barrier is invalidated in the destructor. If other
   threads are still waiting on it, there will be UB. (Has not yet
   manifested itself)

* cp_async_bulk_tensor: Pre-emptively fence more in test

Add type annotations and mypy checks for `cuda.parallel`  (#3180)

* Refactor the source layout for cuda.parallel

* Add initial type annotations

* Update pre-commit config

* More typing

* Fix bad merge

* Fix TYPE_CHECKING and numpy annotations

* typing bindings.py correctly

* Address review feedback

---------

Co-authored-by: Ashwin Srinath <[email protected]>

Fix rendering of cuda.parallel docs (#3192)

* Fix pre-commit config for codespell and remaining typos

* Fix rendering of docs for cuda.parallel

---------

Co-authored-by: Ashwin Srinath <[email protected]>

Enable PDL for DeviceMergeSortBlockSortKernel (#3199)

The kernel already contains a call to _CCCL_PDL_GRID_DEPENDENCY_SYNC.
This commit enables PDL when launching the kernel.

Adds support for large `num_items` to `DeviceReduce::{ArgMin,ArgMax}` (#2647)

* adds benchmarks for reduce::arg{min,max}

* preliminary streaming arg-extremum reduction

* fixes implicit conversion

* uses streaming dispatch class

* changes arg benches to use new streaming reduce

* streaming arg-extrema reduction

* fixes style

* fixes compilation failures

* cleanups

* adds rst style comments

* declare vars const and use clamp

* consolidates argmin argmax benchmarks

* fixes thrust usage

* drops offset type in arg-extrema benchmarks

* fixes clang cuda

* exec space macros

* switch to signed global offset type for slightly better perf

* clarifies documentation

* applies minor benchmark style changes from review comments

* fixes interface documentation and comments

* list-init accumulating output op

* improves style, comments, and tests

* cleans up aggregate init

* renames dispatch class usage in benchmarks

* fixes merge conflicts

* addresses review comments

* addresses review comments

* fixes assertion

* removes superseded implementation

* changes large problem tests to use new interface

* removes obsolete tests for deprecated interface

Fixes for Python 3.7 docs environment (#3206)

Co-authored-by: Ashwin Srinath <[email protected]>

Adds support for large number of items to `DeviceTransform` (#3172)

* moves large problem test helper to common file

* adds support for large num items to device transform

* adds tests for large number of items to device interface

* fixes format

* addresses review comments

cp_async_bulk: Fix test (#3198)

* memcpy_async_tx: Fix bug in test

Two bugs, one of which occurs in practice:

1. There is a missing fence.proxy.space::global between the writes to
   global memory and the memcpy_async_tx. (Occurs in practice)

2. The end of the kernel should be fenced with `__syncthreads()`,
   because the barrier is invalidated in the destructor. If other
   threads are still waiting on it, there will be UB. (Has not yet
   manifested itself)

* cp_async_bulk_tensor: Pre-emptively fence more in test

* cp_async_bulk: Fix test

The global memory pointer could be misaligned.

cudax fixes for msvc 14.41 (#3200)

avoid instantiating class templates in `is_same` implementation when possible (#3203)

Fix: make launchers a CUB detail; make kernel source functions hidden. (#3209)

* Fix: make launchers a CUB detail; make kernel source functions hidden.

* [pre-commit.ci] auto code formatting

* Address review comments, fix which macro gets fixed.

help the ranges concepts recognize standard contiguous iterators in c++14/17 (#3202)

unify macros and cmake options that control the suppression of deprecation warnings (#3220)

* unify macros and cmake options that control the suppression of deprecation warnings

* suppress nvcc warning #186 in thrust header tests

* suppress c++ dialect deprecation warnings in libcudacxx header tests

Fx thread-reduce performance regression (#3225)

cuda.parallel: In-memory caching of build objects (#3216)

* Define __eq__ and __hash__ for Iterators

* Define cache_with_key utility and use it to cache Reduce objects

* Add tests for caching Reduce objects

* Tighten up types

* Updates to support 3.7

* Address review feedback

* Introduce IteratorKind to hold iterator type information

* Use the .kind to generate an abi_name

* Remove __eq__ and __hash__ methods from IteratorBase

* Move helper function

* Formatting

* Don't unpack tuple in cache key

---------

Co-authored-by: Ashwin Srinath <[email protected]>

Just enough ranges for c++14 `span` (#3211)

use generalized concepts portability macros to simplify the `range` concept (#3217)

fixes some issues in the concepts portability macros and then re-implements the `range` concept with `_CCCL_REQUIRES_EXPR`

Use Ruff to sort imports (#3230)

* Update pyproject.tomls for import sorting

* Update files after running pre-commit

* Move ruff config to pyproject.toml

---------

Co-authored-by: Ashwin Srinath <[email protected]>

fix tuning_scan sm90 config issue (#3236)

Co-authored-by: Shijie Chen <[email protected]>

[STF] Logical token (#3196)

* Split the implementation of the void interface into the definition of the interface, and its implementations on streams and graphs.

* Add missing files

* Check if a task implementation can match a prototype where the void_interface arguments are ignored

* Implement ctx.abstract_logical_data() which relies on a void data interface

* Illustrate how to use abstract handles in local contexts

* Introduce an is_void_interface() virtual method in the data interface to potentially optimize some stages

* Small improvements in the examples

* Do not try to allocate or move void data

* Do not use I as a variable

* fix linkage error

* rename abtract_logical_data into logical_token

* Document logical token

* fix spelling error

* fix sphinx error

* reflect name changes

* use meaningful variable names

* simplify logical_token implementation because writeback is already disabled

* add a unit test for token elision

* implement token elision in host_launch

* Remove unused type

* Implement helpers to check if a function can be invoked from a tuple, or from a tuple where we removed tokens

* Much simpler is_tuple_invocable_with_filtered implementation

* Fix buggy test

* Factorize code

* Document that we can ignore tokens for task and host_launch

* Documentation for logical data freeze

Fix ReduceByKey tuning (#3240)

Fix RLE tuning (#3239)

cuda.parallel: Forbid non-contiguous arrays as inputs (or outputs) (#3233)

* Forbid non-contiguous arrays as inputs (or outputs)

* Implement a more robust way to check for contiguity

* Don't bother if cublas unavailable

* Fix how we check for zero-element arrays

* sort imports

---------

Co-authored-by: Ashwin Srinath <[email protected]>

expands support for more offset types in segmented benchmark (#3231)

Add escape hatches to the cmake configuration of the header tests so that we can tests deprecated compilers / dialects (#3253)

* Add escape hatches to the cmake configuration of the header tests so that we can tests deprecated compilers / dialects

* Do not add option twice

ptx: Add add_instruction.py (#3190)

This file helps create the necessary structure for new PTX instructions.

Co-authored-by: Allard Hendriksen <[email protected]>

Bump main to 2.9.0. (#3247)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

Drop cub::Mutex (#3251)

Fixes: #3250

Remove legacy macros from CUB util_arch.cuh (#3257)

Fixes: #3256

Remove thrust::[unary|binary]_traits (#3260)

Fixes: #3259

Architecture and OS identification macros (#3237)

Bump main to 3.0.0. (#3265)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

Drop thrust not1 and not2 (#3264)

Fixes: #3263

CCCL Internal macro documentation (#3238)

Deprecate GridBarrier and GridBarrierLifetime (#3258)

Fixes: #1389

Require at least gcc7 (#3268)

Fixes: #3267

Drop thrust::[unary|binary]_function (#3274)

Fixes: #3273

Drop ICC from CI (#3277)

[STF] Corruption of the capture list of an extended lambda with a parallel_for construct on a host execution place (#3270)

* Add a test to reproduce a bug observed with parallel_for on a host place

* clang-format

* use _CCCL_ASSERT

* Attempt to debug

* do not create a tuple with a universal reference that is out of scope when we use it, use an lvalue instead

* fix lambda expression

* clang-format

Enable thrust::identity test for non-MSVC (#3281)

This seems to be an oversight when the test was added

Co-authored-by: Michael Schellenberger Costa <[email protected]>

Enable PDL in triple chevron launch (#3282)

It seems PDL was disabled by accident when _THRUST_HAS_PDL was renamed
to _CCCL_HAS_PDL during the review introducing the feature.

Disambiguate line continuations and macro continuations in <nv/target> (#3244)

Drop VS 2017 from CI (#3287)

Fixes: #3286

Drop ICC support in code (#3279)

* Drop ICC from code

Fixes: #3278

Co-authored-by: Michael Schellenberger Costa <[email protected]>

Make CUB NVRTC commandline arguments come from a cmake template (#3292)

Propose the same components (thrust, cub, libc++, cudax, cuda.parallel,...) in the bug report template than in the feature request template (#3295)

Use process isolation instead of default hyper-v for Windows. (#3294)

Try improving build times by using process isolation instead of hyper-v

Co-authored-by: Michael Schellenberger Costa <[email protected]>

[pre-commit.ci] pre-commit autoupdate (#3248)

* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/pre-commit/mirrors-clang-format: v18.1.8 → v19.1.6](https://github.com/pre-commit/mirrors-clang-format/compare/v18.1.8...v19.1.6)
- [github.com/astral-sh/ruff-pre-commit: v0.8.3 → v0.8.6](https://github.com/astral-sh/ruff-pre-commit/compare/v0.8.3...v0.8.6)
- [github.com/pre-commit/mirrors-mypy: v1.13.0 → v1.14.1](https://github.com/pre-commit/mirrors-mypy/compare/v1.13.0...v1.14.1)

Co-authored-by: Michael Schellenberger Costa <[email protected]>

Drop Thrust legacy arch macros (#3298)

Which were disabled and could be re-enabled using THRUST_PROVIDE_LEGACY_ARCH_MACROS

Drop Thrust's compiler_fence.h (#3300)

Drop CTK 11.x from CI (#3275)

* Add cuda12.0-gcc7 devcontainer
* Move MSVC2017 jobs to CTK 12.6
Those is the only combination where rapidsai has devcontainers
* Add /Zc:__cplusplus for the libcudacxx tests
* Only add excape hatch for affected CTKs
* Workaround missing cudaLaunchKernelEx on MSVC
cudaLaunchKernelEx requires C++11, but unfortunately <cuda_runtime.h> checks this using the __cplusplus macro, which is reported wrongly for MSVC. CTK 12.3 fixed this by additionally detecting _MSV_VER. As a workaround, we provide our own copy of cudaLaunchKernelEx when it is not available from the CTK.
* Workaround nvcc+MSVC issue
* Regenerate devcontainers

Fixes: #3249

Co-authored-by: Michael Schellenberger Costa <[email protected]>

Update packman and repo_docs versions (#3293)

Co-authored-by: Ashwin Srinath <[email protected]>

Drop Thrust's deprecated compiler macros (#3301)

Drop CUB_RUNTIME_ENABLED and __THRUST_HAS_CUDART__ (#3305)

Adds support for large number of items to `DevicePartition::If` with the `ThreeWayPartition` overload (#2506)

* adds support for large number of items to three-way partition

* adapts interface to use choose_signed_offset_t

* integrates applicable feedback from device-select pr

* changes behavior for empty problems

* unifies grid constant macro

* fixes kernel template specialization mismatch

* integrates _CCCL_GRID_CONSTANT changes

* resolve merge conflicts

* fixes checks in test

* fixes test verification

* improves tests

* makes few improvements to streaming dispatch

* improves code comment on test

* fixes unrelated compiler error

* minor style improvements

Refactor scan tunings (#3262)

Require C++17 for compiling Thrust and CUB (#3255)

* Issue an unsuppressable warning when compiling with < C++17
* Remove C++11/14 presets
* Remove CCCL_IGNORE_DEPRECATED_CPP_DIALECT from headers
* Remove [CUB|THRUST|TCT]_IGNORE_DEPRECATED_CPP_[11|14]
* Remove CUB_ENABLE_DIALECT_CPP[11|14]
* Update CI runs
* Remove C++11/14 CI runs for CUB and Thrust
* Raise compiler minimum versions for C++17
* Update ReadMe
* Drop Thrust's cpp14_required.h
* Add escape hatch for C++17 removal

Fixes: #3252

Implement `views::empty` (#3254)

* Disable pair conversion of subrange with clang in C++17

* Fix namespace views

* Implement `views::empty`

This implements `std::ranges::views::empty`, see https://en.cppreference.com/w/cpp/ranges/empty_view

Refactor `limits` and `climits` (#3221)

* implement builtins for huge val, nan and nans

* change `INFINITY` and `NAN` implementation for NVRTC

cuda.parallel: Add documentation for the current iterators along with examples and tests (#3311)

* Add tests demonstrating usage of different iterators

* Update documentation of reduce_into by merging import code snippet with the rest of the example

* Add documentation for current iterators

* Run pre-commit checks and update accordingly

* Fix comments to refer to the proper lines in the code snippets in the docs

Drop clang<14 from CI, update devcontainers. (#3309)

Co-authored-by: Bernhard Manfred Gruber <[email protected]>

[STF] Cleanup task dependencies object constructors (#3291)

* Define tag types for access modes

* - Rework how we build task_dep objects based on access mode tags
- pack_state is now responsible for using a const_cast for read only data

* Greatly simplify the previous attempt : do not define new types, but use integral constants based on the enums

* It seems the const_cast was not necessarily so we can simplify it and not even do some dispatch based on access modes

Disable test with a gcc-14 regression (#3297)

Deprecate Thrust's cpp_compatibility.h macros (#3299)

Remove dropped function objects from docs (#3319)

Document `NV_TARGET` macros (#3313)

[STF] Define ctx.pick_stream() which was missing for the unified context (#3326)

* Define ctx.pick_stream() which was missing for the unified context

* clang-format

Deprecate cub::IterateThreadStore (#3337)

Drop CUB's BinaryFlip operator (#3332)

Deprecate cub::Swap (#3333)

Clarify transform output can overlap input (#3323)

Drop CUB APIs with a debug_synchronous parameter (#3330)

Fixes: #3329

Drop CUB's util_compiler.cuh for real (#3340)

PR #3302 planned to drop the file, but only dropped its content. This
was an oversight. So let's drop the entire file.

Drop cub::ValueCache (#3346)

limits offset types for merge sort (#3328)

Drop CDPv1 (#3344)

Fixes: #3341

Drop thrust::void_t (#3362)

Use cuda::std::addressof in Thrust (#3363)

Fix all_of documentation for empty ranges (#3358)

all_of always returns true on an empty range.

[STF] Do not keep track of dangling events in a CUDA graph backend (#3327)

* Unlike the CUDA stream backend, nodes in a CUDA graph are necessarily done when
the CUDA graph completes. Therefore keeping track of "dangling events" is a
waste of time and resources.

* replace can_ignore_dangling_events by track_dangling_events which leads to more readable code

* When not storing the dangling events, we must still perform the deinit operations that were producing these events !

Extract scan kernels into NVRTC-compilable header (#3334)

* Extract scan kernels into NVRTC-compilable header

* Update cub/cub/device/dispatch/dispatch_scan.cuh

Co-authored-by: Georgii Evtushenko <[email protected]>

---------

Co-authored-by: Ashwin Srinath <[email protected]>
Co-authored-by: Georgii Evtushenko <[email protected]>

Drop deprecated aliases in Thrust functional (#3272)

Fixes: #3271

Drop cub::DivideAndRoundUp (#3347)

Use cuda::std::min/max in Thrust (#3364)

Implement `cuda::std::numeric_limits` for `__half` and `__nv_bfloat16` (#3361)

* implement `cuda::std::numeric_limits` for `__half` and `__nv_bfloat16`

Cleanup util_arch (#2773)

Deprecate thrust::null_type (#3367)

Deprecate cub::DeviceSpmv (#3320)

Fixes: #896

Improves `DeviceSegmentedSort` test run time for large number of items and segments (#3246)

* fixes segment offset generation

* switches to analytical verification

* switches to analytical verification for pairs

* fixes spelling

* adds tests for large number of segments

* fixes narrowing conversion in tests

* addresses review comments

* fixes includes

Compile basic infra test with C++17 (#3377)

Adds support for large number of items and large number of segments to `DeviceSegmentedSort` (#3308)

* fixes segment offset generation

* switches to analytical verification

* switches to analytical verification for pairs

* addresses review comments

* introduces segment offset type

* adds tests for large number of segments

* adds support for large number of segments

* drops segment offset type

* fixes thrust namespace

* removes about-to-be-deprecated cub iterators

* no exec specifier on defaulted ctor

* fixes gcc7 linker error

* uses local_segment_index_t throughout

* determine offset type based on type returned by segment iterator begin/end iterators

* minor style improvements

Exit with error when RAPIDS CI fails. (#3385)

cuda.parallel: Support structured types as algorithm inputs (#3218)

* Introduce gpu_struct decorator and typing

* Enable `reduce` to accept arrays of structs as inputs

* Add test for reducing arrays-of-struct

* Update documentation

* Use a numpy array rather than ctypes object

* Change zeros -> empty for output array and temp storage

* Add a TODO for typing GpuStruct

* Documentation udpates

* Remove test_reduce_struct_type from test_reduce.py

* Revert to `to_cccl_value()` accepting ndarray + GpuStruct

* Bump copyrights

---------

Co-authored-by: Ashwin Srinath <[email protected]>

Deprecate thrust::async (#3324)

Fixes: #100

Review/Deprecate CUB `util.ptx` for CCCL 2.x (#3342)

Fix broken `_CCCL_BUILTIN_ASSUME` macro (#3314)

* add compiler-specific path
* fix device code path
* add _CCC_ASSUME

Deprecate thrust::numeric_limits (#3366)

Replace `typedef` with `using` in libcu++ (#3368)

Deprecate thrust::optional (#3307)

Fixes: #3306

Upgrade to Catch2 3.8  (#3310)

Fixes: #1724

refactor `<cuda/std/cstdint>` (#3325)

Co-authored-by: Bernhard Manfred Gruber <[email protected]>

Update CODEOWNERS (#3331)

* Update CODEOWNERS

* Update CODEOWNERS

* Update CODEOWNERS

* [pre-commit.ci] auto code formatting

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

Fix sign-compare warning (#3408)

Implement more cmath functions to be usable on host and device (#3382)

* Implement more cmath functions to be usable on host and device

* Implement math roots functions

* Implement exponential functions

Redefine and deprecate thrust::remove_cvref (#3394)

* Redefine and deprecate thrust::remove_cvref

Co-authored-by: Michael Schellenberger Costa <[email protected]>

Fix assert definition for NVHPC due to constexpr issues (#3418)

NVHPC cannot decide at compile time where the code would run so _CCCL_ASSERT within a constexpr function breaks it.

Fix this by always using the host definition which should also work on device.

Fixes #3411

Extend CUB reduce benchmarks (#3401)

* Rename max.cu to custom.cu, since it uses a custom operator
* Extend types covered my min.cu to all fundamental types
* Add some notes on how to collect tuning parameters

Fixes: #3283

Update upload-pages-artifact to v3 (#3423)

* Update upload-pages-artifact to v3

* Empty commit

---------

Co-authored-by: Ashwin Srinath <[email protected]>

Replace and deprecate thrust::cuda_cub::terminate (#3421)

`std::linalg` accessors and `transposed_layout` (#2962)

Add round up/down to multiple (#3234)

[FEA]: Introduce Python module with CCCL headers (#3201)

* Add cccl/python/cuda_cccl directory and use from cuda_parallel, cuda_cooperative

* Run `copy_cccl_headers_to_aude_include()` before `setup()`

* Create python/cuda_cccl/cuda/_include/__init__.py, then simply import cuda._include to find the include path.

* Add cuda.cccl._version exactly as for cuda.cooperative and cuda.parallel

* Bug fix: cuda/_include only exists after shutil.copytree() ran.

* Use `f"cuda-cccl @ file://{cccl_path}/python/cuda_cccl"` in setup.py

* Remove CustomBuildCommand, CustomWheelBuild in cuda_parallel/setup.py (they are equivalent to the default functions)

* Replace := operator (needs Python 3.8+)

* Fix oversights: remove `pip3 install ./cuda_cccl` lines from README.md

* Restore original README.md: `pip3 install -e` now works on first pass.

* cuda_cccl/README.md: FOR INTERNAL USE ONLY

* Remove `$pymajor.$pyminor.` prefix in cuda_cccl _version.py (as suggested under https://github.com/NVIDIA/cccl/pull/3201#discussion_r1894035917)

Command used: ci/update_version.sh 2 8 0

* Modernize pyproject.toml, setup.py

Trigger for this change:

* https://github.com/NVIDIA/cccl/pull/3201#discussion_r1894043178

* https://github.com/NVIDIA/cccl/pull/3201#discussion_r1894044996

* Install CCCL headers under cuda.cccl.include

Trigger for this change:

* https://github.com/NVIDIA/cccl/pull/3201#discussion_r1894048562

Unexpected accidental discovery: cuda.cooperative unit tests pass without CCCL headers entirely.

* Factor out cuda_cccl/cuda/cccl/include_paths.py

* Reuse cuda_cccl/cuda/cccl/include_paths.py from cuda_cooperative

* Add missing Copyright notice.

* Add missing __init__.py (cuda.cccl)

* Add `"cuda.cccl"` to `autodoc.mock_imports`

* Move cuda.cccl.include_paths into function where it is used. (Attempt to resolve Build and Verify Docs failure.)

* Add # TODO: move this to a module-level import

* Modernize cuda_cooperative/pyproject.toml, setup.py

* Convert cuda_cooperative to use hatchling as build backend.

* Revert "Convert cuda_cooperative to use hatchling as build backend."

This reverts commit 61637d608da06fcf6851ef6197f88b5e7dbc3bbe.

* Move numpy from [build-system] requires -> [project] dependencies

* Move pyproject.toml [project] dependencies -> setup.py install_requires, to be able to use CCCL_PATH

* Remove copy_license() and use license_files=["../../LICENSE"] instead.

* Further modernize cuda_cccl/setup.py to use pathlib

* Trivial simplifications in cuda_cccl/pyproject.toml

* Further simplify cuda_cccl/pyproject.toml, setup.py: remove inconsequential code

* Make cuda_cooperative/pyproject.toml more similar to cuda_cccl/pyproject.toml

* Add taplo-pre-commit to .pre-commit-config.yaml

* taplo-pre-commit auto-fixes

* Use pathlib in cuda_cooperative/setup.py

* CCCL_PYTHON_PATH in cuda_cooperative/setup.py

* Modernize cuda_parallel/pyproject.toml, setup.py

* Use pathlib in cuda_parallel/setup.py

* Add `# TOML lint & format` comment.

* Replace MANIFEST.in with `[tool.setuptools.package-data]` section in pyproject.toml

* Use pathlib in cuda/cccl/include_paths.py

* pre-commit autoupdate (EXCEPT clang-format, which was manually restored)

* Fixes after git merge main

* Resolve warning: AttributeError: '_Reduce' object has no attribute 'build_result'

```
=========================================================================== warnings summary ===========================================================================
tests/test_reduce.py::test_reduce_non_contiguous
  /home/coder/cccl/python/devenv/lib/python3.12/site-packages/_pytest/unraisableexception.py:85: PytestUnraisableExceptionWarning: Exception ignored in: <function _Reduce.__del__ at 0x7bf123139080>

  Traceback (most recent call last):
    File "/home/coder/cccl/python/cuda_parallel/cuda/parallel/experimental/algorithms/reduce.py", line 132, in __del__
      bindings.cccl_device_reduce_cleanup(ctypes.byref(self.build_result))
                                                       ^^^^^^^^^^^^^^^^^
  AttributeError: '_Reduce' object has no attribute 'build_result'

    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================================================= 1 passed, 93 deselected, 1 warning in 0.44s ==============================================================
```

* Move `copy_cccl_headers_to_cuda_cccl_include()` functionality to `class CustomBuildPy`

* Introduce cuda_cooperative/constraints.txt

* Also add cuda_parallel/constraints.txt

* Add `--constraint constraints.txt` in ci/test_python.sh

* Update Copyright dates

* Switch to https://github.com/ComPWA/taplo-pre-commit (the other repo has been archived by the owner on Jul 1, 2024)

For completeness: The other repo took a long time to install into the pre-commit cache; so long it lead to timeouts in the CCCL CI.

* Remove unused cuda_parallel jinja2 dependency (noticed by chance).

* Remove constraints.txt files, advertise running `pip install cuda-cccl` first instead.

* Make cuda_cooperative, cuda_parallel testing completely independent.

* Run only test_python.sh [skip-rapids][skip-matx][skip-docs][skip-vdc]

* Try using another runner (because V100 runners seem to be stuck) [skip-rapids][skip-matx][skip-docs][skip-vdc]

* Fix sign-compare warning (#3408) [skip-rapids][skip-matx][skip-docs][skip-vdc]

* Revert "Try using another runner (because V100 runners seem to be stuck) [skip-rapids][skip-matx][skip-docs][skip-vdc]"

This reverts commit ea33a218ed77a075156cd1b332047202adb25aa2.

Error message: https://github.com/NVIDIA/cccl/pull/3201#issuecomment-2594012971

* Try using A100 runner (because V100 runners still seem to be stuck) [skip-rapids][skip-matx][skip-docs][skip-vdc]

* Also show cuda-cooperative site-packages, cuda-parallel site-packages (after pip install) [skip-rapids][skip-matx][skip-docs][skip-vdc]

* Try using l4 runner (because V100 runners still seem to be stuck) [skip-rapids][skip-matx][skip-docs][skip-vdc]

* Restore original ci/matrix.yaml [skip-rapids]

* Use for loop in test_python.sh to avoid code duplication.

* Run only test_python.sh [skip-rapids][skip-matx][skip-docs][skip-vdc][skip pre-commit.ci]

* Comment out taplo-lint in pre-commit config [skip-rapids][skip-matx][skip-docs][skip-vdc]

* Revert "Run only test_python.sh [skip-rapids][skip-matx][skip-docs][skip-vdc][skip pre-commit.ci]"

This reverts commit ec206fd8b50a6a293e00a5825b579e125010b13d.

* Implement suggestion by @shwina (https://github.com/NVIDIA/cccl/pull/3201#pullrequestreview-2556918460)

* Address feedback by @leofang

---------

Co-authored-by: Bernhard Manfred Gruber <[email protected]>

cuda.parallel: Add optional stream argument to reduce_into() (#3348)

* Add optional stream argument to reduce_into()

* Add tests to check for reduce_into() stream behavior

* Move protocol related utils to separate file and rework __cuda_stream__ error messages

* Fix synchronization issue in stream test and add one more invalid stream test case

* Rename cuda stream validation function after removing leading underscore

* Unpack values from __cuda_stream__ instead of indexing

* Fix linting errors

* Handle TypeError when unpacking invalid __cuda_stream__ return

* Use stream to allocate cupy memory in new stream test

Upgrade to actions/deploy-pages@v4 (from v2), as suggested by @leofang (#3434)

Deprecate `cub::{min, max}` and replace internal uses with those from libcu++ (#3419)

* Deprecate `cub::{min, max}` and replace internal uses with those from libcu++

Fixes #3404

Fix CI issues (#3443)

update docs

fix review

restrict allowed types

replace constexpr implementations with generic

optimize `__is_arithmetic_integral`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking Breaking change cub For all items related to CUB thrust For all items related to Thrust.
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Require C++17 for compiling Thrust and CUB
2 participants