Skip to content

tweak _CCCL_TRAILING_REQUIRES macro so it can be used to constrain non-template member fns #4865

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

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

ericniebler
Copy link
Contributor

@ericniebler ericniebler commented Jun 2, 2025

Description

c++20 concepts let you constrain non-template member functions of class templates, like:

template <class Base, class Fn>
struct transform_iterator {

  transform_iterator& operator+=(difference_type n) requires random_access_iterator<Base> {
    //...
  }

  Base base_;
};

but since we need to support c++17, we tend to write it like this:

template <class Base, class Fn>
struct transform_iterator {

  template <class Base2 = Base>
  auto operator+=(difference_type n)
    _CCCL_TRAILING_REQUIRES(transform_iterator&)( random_access_iterator<Base2>) {
    //...
  }

  Base base_;
};

this has the unfortunate side-effect of making the member function a template in c++20, where it doesn't need to be, and forcing the introduction of a dependent type that aliases Base.

with some small changes to the _CCCL_TEMPLATE and _CCCL_TRAILING_REQUIRES portability macros, we can now write it like this:

template <class Base, class Fn>
struct transform_iterator {

  _CCCL_TEMPLATE()
  auto operator+=(difference_type n)
    -> _CCCL_TRAILING_REQUIRES(transform_iterator&)( random_access_iterator<Base>) {
    //...
  }

  Base base_;
};

in c++17, this expands to a function template with a trailing enable_if, and in c++20 it expands to a non-template with a trailing requires clause.

also in this PR i moved the -> out of the _CCCL_TRAILING_REQUIRES macro. i prefer to see the -> in function signatures. i find it a helpful visual anchor in a sea of tokens.

Checklist

  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

Copy link

copy-pr-bot bot commented Jun 2, 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.

@cccl-authenticator-app cccl-authenticator-app bot moved this from Todo to In Progress in CCCL Jun 2, 2025
@ericniebler
Copy link
Contributor Author

/ok to test ac613f7

Copy link
Contributor

github-actions bot commented Jun 2, 2025

🟨 CI finished in 2h 10m: Pass: 72%/187 | Total: 3d 15h | Avg: 28m 04s | Max: 1h 54m | Hits: 41%/154668
  • 🟨 libcudacxx: Pass: 8%/45 | Total: 5h 07m | Avg: 6m 50s | Max: 29m 28s | Hits: 7%/6719

    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/2   | Total: 55m 29s | Avg: 27m 44s | Max: 29m 28s | Hits:   7%/6699  
      🔍 nvcc               Pass:   4%/43  | Total:  4h 12m | Avg:  5m 52s | Max: 22m 45s | Hits:  90%/20    
    🟨 cudacxx
      🟩 ClangCUDA19        Pass: 100%/2   | Total: 55m 29s | Avg: 27m 44s | Max: 29m 28s | Hits:   7%/6699  
      🟥 nvcc12.0           Pass:   0%/5   | Total: 26m 43s | Avg:  5m 20s | Max: 11m 21s
      🟨 nvcc12.9           Pass:   5%/38  | Total:  3h 45m | Avg:  5m 56s | Max: 22m 45s | Hits:  90%/20    
    🟨 jobs
      🟨 Build              Pass:   5%/39  | Total:  4h 24m | Avg:  6m 46s | Max: 29m 28s | Hits:   7%/6699  
      🟨 NVRTC              Pass:  50%/2   | Total: 41m 02s | Avg: 20m 31s | Max: 22m 45s | Hits:  90%/20    
      🟥 Test               Pass:   0%/3  
      🟩 VerifyCodegen      Pass: 100%/1   | Total:  2m 17s | Avg:  2m 17s | Max:  2m 17s
    🟨 cpu
      🟨 amd64              Pass:   9%/43  | Total:  4h 59m | Avg:  6m 57s | Max: 29m 28s | Hits:   7%/6719  
      🟥 arm64              Pass:   0%/2   | Total:  8m 30s | Avg:  4m 15s | Max:  4m 17s
    🟨 ctk
      🟥 12.0               Pass:   0%/5   | Total: 26m 43s | Avg:  5m 20s | Max: 11m 21s
      🟨 12.9               Pass:  10%/40  | Total:  4h 41m | Avg:  7m 01s | Max: 29m 28s | Hits:   7%/6719  
    🟨 cxx
      🟥 Clang14            Pass:   0%/4   | Total: 16m 36s | Avg:  4m 09s | Max:  4m 38s
      🟥 Clang15            Pass:   0%/2   | Total:  9m 24s | Avg:  4m 42s | Max:  4m 43s
      🟥 Clang16            Pass:   0%/2   | Total:  9m 26s | Avg:  4m 43s | Max:  4m 55s
      🟥 Clang17            Pass:   0%/2   | Total:  9m 15s | Avg:  4m 37s | Max:  4m 38s
      🟥 Clang18            Pass:   0%/2   | Total:  9m 47s | Avg:  4m 53s | Max:  5m 12s
      🟨 Clang19            Pass:  33%/6   | Total:  1h 09m | Avg: 11m 30s | Max: 29m 28s | Hits:   7%/6699  
      🟥 GCC7               Pass:   0%/2   | Total:  8m 20s | Avg:  4m 10s | Max:  4m 33s
      🟥 GCC8               Pass:   0%/1   | Total:  4m 22s | Avg:  4m 22s | Max:  4m 22s
      🟥 GCC9               Pass:   0%/2   | Total:  8m 12s | Avg:  4m 06s | Max:  4m 20s
      🟥 GCC10              Pass:   0%/2   | Total:  9m 16s | Avg:  4m 38s | Max:  4m 43s
      🟥 GCC11              Pass:   0%/2   | Total:  8m 43s | Avg:  4m 21s | Max:  4m 25s
      🟥 GCC12              Pass:   0%/2   | Total:  9m 06s | Avg:  4m 33s | Max:  4m 40s
      🟨 GCC13              Pass:  20%/10  | Total:  1h 05m | Avg:  6m 35s | Max: 22m 45s | Hits:  90%/20    
      🟥 MSVC14.29          Pass:   0%/2   | Total: 25m 35s | Avg: 12m 47s | Max: 14m 14s
      🟥 MSVC14.43          Pass:   0%/2   | Total: 25m 07s | Avg: 12m 33s | Max: 13m 12s
      🟥 NVHPC25.5          Pass:   0%/2   | Total: 19m 42s | Avg:  9m 51s | Max: 10m 17s
    🟨 cxx_family
      🟨 Clang              Pass:  11%/18  | Total:  2h 03m | Avg:  6m 51s | Max: 29m 28s | Hits:   7%/6699  
      🟨 GCC                Pass:   9%/21  | Total:  1h 53m | Avg:  5m 25s | Max: 22m 45s | Hits:  90%/20    
      🟥 MSVC               Pass:   0%/4   | Total: 50m 42s | Avg: 12m 40s | Max: 14m 14s
      🟥 NVHPC              Pass:   0%/2   | Total: 19m 42s | Avg:  9m 51s | Max: 10m 17s
    🟨 gpu
      🟥 h100               Pass:   0%/2   | Total:  3m 46s | Avg:  1m 53s | Max:  3m 46s
      🟨 rtx2080            Pass:   9%/43  | Total:  5h 04m | Avg:  7m 04s | Max: 29m 28s | Hits:   7%/6719  
    🟨 sm
      🟨 75                 Pass:  50%/2   | Total: 41m 02s | Avg: 20m 31s | Max: 22m 45s | Hits:  90%/20    
      🟥 90                 Pass:   0%/2   | Total:  3m 46s | Avg:  1m 53s | Max:  3m 46s
      🟥 90;90a;100         Pass:   0%/1   | Total:  4m 51s | Avg:  4m 51s | Max:  4m 51s
    🟨 std
      🟨 17                 Pass:   4%/22  | Total:  2h 42m | Avg:  7m 22s | Max: 26m 01s | Hits:   7%/3330  
      🟨 20                 Pass:   9%/22  | Total:  2h 23m | Avg:  6m 30s | Max: 29m 28s | Hits:   7%/3389  
    
  • 🟨 thrust: Pass: 89%/47 | Total: 1d 05h | Avg: 37m 16s | Max: 1h 54m | Hits: 52%/80365

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  88%/45  | Total:  1d 03h | Avg: 37m 12s | Max:  1h 54m | Hits:  52%/76538 
      🟩 arm64              Pass: 100%/2   | Total:  1h 17m | Avg: 38m 58s | Max: 41m 16s | Hits:  40%/3827  
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/2   | Total:  1h 07m | Avg: 33m 48s | Max: 37m 03s | Hits:  41%/3826  
      🔍 nvcc               Pass:  88%/45  | Total:  1d 04h | Avg: 37m 26s | Max:  1h 54m | Hits:  52%/76539 
    🚨 cxx_family: MSVC 🚨
      🟩 Clang              Pass: 100%/19  | Total: 11h 22m | Avg: 35m 53s | Max: 43m 36s | Hits:  51%/36347 
      🟩 GCC                Pass: 100%/21  | Total: 12h 48m | Avg: 36m 35s | Max: 47m 00s | Hits:  56%/40194 
      🔥 MSVC               Pass:   0%/5   | Total:  1h 30m | Avg: 18m 03s | Max: 24m 47s
      🟩 NVHPC              Pass: 100%/2   | Total:  3h 31m | Avg:  1h 45m | Max:  1h 54m | Hits:   6%/3824  
    🟨 cudacxx
      🟩 ClangCUDA19        Pass: 100%/2   | Total:  1h 07m | Avg: 33m 48s | Max: 37m 03s | Hits:  41%/3826  
      🟨 nvcc12.0           Pass:  80%/5   | Total:  3h 01m | Avg: 36m 12s | Max: 42m 33s | Hits:  46%/7654  
      🟨 nvcc12.9           Pass:  90%/40  | Total:  1d 01h | Avg: 37m 35s | Max:  1h 54m | Hits:  53%/68885 
    🟨 cxx
      🟩 Clang14            Pass: 100%/4   | Total:  2h 32m | Avg: 38m 07s | Max: 39m 02s | Hits:  54%/7652  
      🟩 Clang15            Pass: 100%/2   | Total:  1h 18m | Avg: 39m 22s | Max: 40m 15s | Hits:  41%/3826  
      🟩 Clang16            Pass: 100%/2   | Total:  1h 19m | Avg: 39m 50s | Max: 41m 36s | Hits:  41%/3826  
      🟩 Clang17            Pass: 100%/2   | Total:  1h 21m | Avg: 40m 51s | Max: 43m 36s | Hits:  41%/3826  
      🟩 Clang18            Pass: 100%/2   | Total:  1h 21m | Avg: 40m 42s | Max: 43m 05s | Hits:  41%/3826  
      🟩 Clang19            Pass: 100%/7   | Total:  3h 28m | Avg: 29m 43s | Max: 43m 35s | Hits:  61%/13391 
      🟩 GCC7               Pass: 100%/2   | Total:  1h 25m | Avg: 42m 53s | Max: 43m 13s | Hits:  55%/3828  
      🟩 GCC8               Pass: 100%/1   | Total: 41m 52s | Avg: 41m 52s | Max: 41m 52s | Hits:  40%/1914  
      🟩 GCC9               Pass: 100%/2   | Total:  1h 23m | Avg: 41m 31s | Max: 41m 35s | Hits:  55%/3828  
      🟩 GCC10              Pass: 100%/2   | Total:  1h 27m | Avg: 43m 34s | Max: 45m 16s | Hits:  40%/3828  
      🟩 GCC11              Pass: 100%/2   | Total:  1h 27m | Avg: 43m 55s | Max: 44m 10s | Hits:  40%/3828  
      🟩 GCC12              Pass: 100%/2   | Total:  1h 31m | Avg: 45m 52s | Max: 46m 00s | Hits:  40%/3828  
      🟩 GCC13              Pass: 100%/10  | Total:  4h 50m | Avg: 29m 05s | Max: 47m 00s | Hits:  68%/19140 
      🟥 MSVC14.29          Pass:   0%/2   | Total: 43m 11s | Avg: 21m 35s | Max: 21m 45s
      🟥 MSVC14.43          Pass:   0%/3   | Total: 47m 08s | Avg: 15m 42s | Max: 24m 47s
      🟩 NVHPC25.5          Pass: 100%/2   | Total:  3h 31m | Avg:  1h 45m | Max:  1h 54m | Hits:   6%/3824  
    🟨 gpu
      🟩 h100               Pass: 100%/2   | Total: 46m 30s | Avg: 23m 15s | Max: 28m 50s | Hits:  56%/3828  
      🟨 rtx2080            Pass:  91%/35  | Total:  1d 01h | Avg: 42m 57s | Max:  1h 54m | Hits:  43%/61228 
      🟨 rtx4090            Pass:  80%/10  | Total:  3h 22m | Avg: 20m 14s | Max: 43m 35s | Hits:  83%/15309 
    🟨 jobs
      🟨 Build              Pass:  90%/40  | Total:  1d 03h | Avg: 41m 58s | Max:  1h 54m | Hits:  44%/68883 
      🟨 TestCPU            Pass:  66%/3   | Total: 17m 34s | Avg:  5m 51s | Max:  9m 28s | Hits:  99%/3827  
      🟩 TestGPU            Pass: 100%/4   | Total: 55m 43s | Avg: 13m 55s | Max: 17m 40s | Hits:  93%/7655  
    🟩 cmake_options
      🟩 -DTHRUST_DISPATCH_TYPE=Force32bit Pass: 100%/2   | Total: 53m 31s | Avg: 26m 45s | Max: 40m 01s | Hits:  70%/3828  
    🟨 ctk
      🟨 12.0               Pass:  80%/5   | Total:  3h 01m | Avg: 36m 12s | Max: 42m 33s | Hits:  46%/7654  
      🟨 12.9               Pass:  90%/42  | Total:  1d 02h | Avg: 37m 24s | Max:  1h 54m | Hits:  52%/72711 
    🟩 sm
      🟩 90                 Pass: 100%/2   | Total: 46m 30s | Avg: 23m 15s | Max: 28m 50s | Hits:  56%/3828  
      🟩 90;90a;100         Pass: 100%/1   | Total: 41m 16s | Avg: 41m 16s | Max: 41m 16s | Hits:  75%/1914  
    🟨 std
      🟨 17                 Pass:  85%/21  | Total: 14h 47m | Avg: 42m 16s | Max:  1h 54m | Hits:  44%/34442 
      🟨 20                 Pass:  91%/24  | Total: 13h 31m | Avg: 33m 47s | Max:  1h 37m | Hits:  56%/42095 
    
  • 🟨 cub: Pass: 91%/47 | Total: 1d 18h | Avg: 54m 13s | Max: 1h 27m | Hits: 31%/53068

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  91%/45  | Total:  1d 16h | Avg: 53m 51s | Max:  1h 27m | Hits:  32%/50574 
      🟩 arm64              Pass: 100%/2   | Total:  2h 05m | Avg:  1h 02m | Max:  1h 06m | Hits:  15%/2494  
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/2   | Total:  1h 10m | Avg: 35m 29s | Max: 35m 47s | Hits:  14%/2151  
      🔍 nvcc               Pass:  91%/45  | Total:  1d 17h | Avg: 55m 03s | Max:  1h 27m | Hits:  32%/50917 
    🚨 cxx_family: MSVC 🚨
      🟩 Clang              Pass: 100%/19  | Total: 17h 30m | Avg: 55m 16s | Max:  1h 05m | Hits:  24%/23334 
      🟩 GCC                Pass: 100%/22  | Total: 20h 50m | Avg: 56m 51s | Max:  1h 19m | Hits:  38%/27437 
      🔥 MSVC               Pass:   0%/4   | Total:  1h 25m | Avg: 21m 15s | Max: 22m 49s
      🟩 NVHPC              Pass: 100%/2   | Total:  2h 42m | Avg:  1h 21m | Max:  1h 27m | Hits:   9%/2297  
    🔍 gpu: rtx2080 🔍
      🟩 h100               Pass: 100%/3   | Total:  1h 31m | Avg: 30m 25s | Max: 37m 59s | Hits:  71%/3744  
      🔍 rtx2080            Pass:  88%/36  | Total:  1d 11h | Avg: 59m 34s | Max:  1h 27m | Hits:  15%/39346 
      🟩 rtxa6000           Pass: 100%/8   | Total:  5h 12m | Avg: 39m 05s | Max:  1h 11m | Hits:  78%/9978  
    🔍 jobs: Build 🔍
      🔍 Build              Pass:  89%/39  | Total:  1d 14h | Avg: 59m 28s | Max:  1h 27m | Hits:  15%/43088 
      🟩 DeviceLaunch       Pass: 100%/1   | Total: 31m 14s | Avg: 31m 14s | Max: 31m 14s | Hits:  99%/1248  
      🟩 GraphCapture       Pass: 100%/1   | Total: 29m 27s | Avg: 29m 27s | Max: 29m 27s | Hits:  99%/1248  
      🟩 HostLaunch         Pass: 100%/3   | Total:  1h 33m | Avg: 31m 00s | Max: 35m 03s | Hits:  99%/3742  
      🟩 TestGPU            Pass: 100%/3   | Total:  1h 15m | Avg: 25m 08s | Max: 27m 59s | Hits:  99%/3742  
    🟨 cudacxx
      🟩 ClangCUDA19        Pass: 100%/2   | Total:  1h 10m | Avg: 35m 29s | Max: 35m 47s | Hits:  14%/2151  
      🟨 nvcc12.0           Pass:  80%/5   | Total:  4h 31m | Avg: 54m 16s | Max:  1h 04m | Hits:  15%/4989  
      🟨 nvcc12.9           Pass:  92%/40  | Total:  1d 12h | Avg: 55m 09s | Max:  1h 27m | Hits:  33%/45928 
    🟨 cxx
      🟩 Clang14            Pass: 100%/4   | Total:  4h 06m | Avg:  1h 01m | Max:  1h 02m | Hits:  16%/4990  
      🟩 Clang15            Pass: 100%/2   | Total:  2h 06m | Avg:  1h 03m | Max:  1h 05m | Hits:  15%/2491  
      🟩 Clang16            Pass: 100%/2   | Total:  2h 02m | Avg:  1h 01m | Max:  1h 02m | Hits:  15%/2491  
      🟩 Clang17            Pass: 100%/2   | Total:  2h 00m | Avg:  1h 00m | Max:  1h 01m | Hits:  15%/2491  
      🟩 Clang18            Pass: 100%/2   | Total:  2h 07m | Avg:  1h 03m | Max:  1h 04m | Hits:  15%/2491  
      🟩 Clang19            Pass: 100%/7   | Total:  5h 07m | Avg: 43m 54s | Max:  1h 05m | Hits:  40%/8380  
      🟩 GCC7               Pass: 100%/2   | Total:  2h 10m | Avg:  1h 05m | Max:  1h 05m | Hits:  15%/2494  
      🟩 GCC8               Pass: 100%/1   | Total:  1h 10m | Avg:  1h 10m | Max:  1h 10m | Hits:  15%/1247  
      🟩 GCC9               Pass: 100%/2   | Total:  2h 08m | Avg:  1h 04m | Max:  1h 05m | Hits:  15%/2494  
      🟩 GCC10              Pass: 100%/2   | Total:  2h 18m | Avg:  1h 09m | Max:  1h 14m | Hits:  15%/2495  
      🟩 GCC11              Pass: 100%/2   | Total:  2h 20m | Avg:  1h 10m | Max:  1h 16m | Hits:  15%/2491  
      🟩 GCC12              Pass: 100%/2   | Total:  2h 35m | Avg:  1h 17m | Max:  1h 19m | Hits:  15%/2491  
      🟩 GCC13              Pass: 100%/11  | Total:  8h 06m | Avg: 44m 12s | Max:  1h 11m | Hits:  61%/13725 
      🟥 MSVC14.29          Pass:   0%/2   | Total: 40m 41s | Avg: 20m 20s | Max: 21m 20s
      🟥 MSVC14.43          Pass:   0%/2   | Total: 44m 22s | Avg: 22m 11s | Max: 22m 49s
      🟩 NVHPC25.5          Pass: 100%/2   | Total:  2h 42m | Avg:  1h 21m | Max:  1h 27m | Hits:   9%/2297  
    🟨 ctk
      🟨 12.0               Pass:  80%/5   | Total:  4h 31m | Avg: 54m 16s | Max:  1h 04m | Hits:  15%/4989  
      🟨 12.9               Pass:  92%/42  | Total:  1d 13h | Avg: 54m 13s | Max:  1h 27m | Hits:  32%/48079 
    🟩 sm
      🟩 90                 Pass: 100%/3   | Total:  1h 31m | Avg: 30m 25s | Max: 37m 59s | Hits:  71%/3744  
      🟩 90;90a;100         Pass: 100%/1   | Total:  1h 06m | Avg:  1h 06m | Max:  1h 06m | Hits:  15%/1248  
    🟨 std
      🟨 17                 Pass:  85%/21  | Total: 20h 36m | Avg: 58m 53s | Max:  1h 27m | Hits:  15%/22159 
      🟨 20                 Pass:  96%/26  | Total: 21h 52m | Avg: 50m 28s | Max:  1h 16m | Hits:  42%/30909 
    
  • 🟨 cudax: Pass: 92%/26 | Total: 7h 57m | Avg: 18m 21s | Max: 35m 50s | Hits: 34%/14188

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  90%/22  | Total:  6h 45m | Avg: 18m 26s | Max: 35m 50s | Hits:  36%/11824 
      🟩 arm64              Pass: 100%/4   | Total:  1h 11m | Avg: 17m 55s | Max: 19m 41s | Hits:  25%/2364  
    🚨 cxx_family: MSVC 🚨
      🟩 Clang              Pass: 100%/10  | Total:  2h 56m | Avg: 17m 40s | Max: 21m 35s | Hits:  33%/5914  
      🟩 GCC                Pass: 100%/12  | Total:  3h 21m | Avg: 16m 48s | Max: 21m 39s | Hits:  37%/7096  
      🔥 MSVC               Pass:   0%/2   | Total: 29m 07s | Avg: 14m 33s | Max: 14m 36s
      🟩 NVHPC              Pass: 100%/2   | Total:  1h 09m | Avg: 34m 52s | Max: 35m 50s | Hits:  19%/1178  
    🔍 gpu: rtx2080 🔍
      🟩 h100               Pass: 100%/2   | Total: 23m 21s | Avg: 11m 40s | Max: 14m 34s | Hits:  62%/1182  
      🔍 rtx2080            Pass:  91%/24  | Total:  7h 34m | Avg: 18m 55s | Max: 35m 50s | Hits:  31%/13006 
    🔍 jobs: Build 🔍
      🔍 Build              Pass:  91%/23  | Total:  7h 30m | Avg: 19m 35s | Max: 35m 50s | Hits:  24%/12415 
      🟩 Test               Pass: 100%/3   | Total: 26m 36s | Avg:  8m 52s | Max:  9m 24s | Hits:  99%/1773  
    🔍 std: 20 🔍
      🟩 17                 Pass: 100%/4   | Total:  1h 22m | Avg: 20m 43s | Max: 33m 55s | Hits:  23%/2362  
      🔍 20                 Pass:  90%/22  | Total:  6h 34m | Avg: 17m 55s | Max: 35m 50s | Hits:  36%/11826 
    🟨 cxx
      🟩 Clang14            Pass: 100%/2   | Total: 33m 24s | Avg: 16m 42s | Max: 18m 08s | Hits:  26%/1186  
      🟩 Clang15            Pass: 100%/1   | Total: 19m 28s | Avg: 19m 28s | Max: 19m 28s | Hits:  25%/591   
      🟩 Clang16            Pass: 100%/1   | Total: 21m 35s | Avg: 21m 35s | Max: 21m 35s | Hits:  25%/591   
      🟩 Clang17            Pass: 100%/1   | Total: 20m 51s | Avg: 20m 51s | Max: 20m 51s | Hits:  25%/591   
      🟩 Clang18            Pass: 100%/1   | Total: 19m 39s | Avg: 19m 39s | Max: 19m 39s | Hits:  25%/591   
      🟩 Clang19            Pass: 100%/4   | Total:  1h 01m | Avg: 15m 27s | Max: 19m 51s | Hits:  44%/2364  
      🟩 GCC10              Pass: 100%/2   | Total: 38m 25s | Avg: 19m 12s | Max: 20m 17s | Hits:  25%/1186  
      🟩 GCC11              Pass: 100%/1   | Total: 20m 15s | Avg: 20m 15s | Max: 20m 15s | Hits:  25%/591   
      🟩 GCC12              Pass: 100%/1   | Total: 21m 39s | Avg: 21m 39s | Max: 21m 39s | Hits:  25%/591   
      🟩 GCC13              Pass: 100%/8   | Total:  2h 01m | Avg: 15m 10s | Max: 21m 33s | Hits:  43%/4728  
      🟥 MSVC14.39          Pass:   0%/1   | Total: 14m 31s | Avg: 14m 31s | Max: 14m 31s
      🟥 MSVC14.43          Pass:   0%/1   | Total: 14m 36s | Avg: 14m 36s | Max: 14m 36s
      🟩 NVHPC25.5          Pass: 100%/2   | Total:  1h 09m | Avg: 34m 52s | Max: 35m 50s | Hits:  19%/1178  
    🟨 cudacxx_family
      🟨 nvcc               Pass:  92%/26  | Total:  7h 57m | Avg: 18m 21s | Max: 35m 50s | Hits:  34%/14188 
    🟨 ctk
      🟨 12.0               Pass:  66%/3   | Total: 47m 55s | Avg: 15m 58s | Max: 18m 08s | Hits:  26%/1186  
      🟨 12.9               Pass:  95%/23  | Total:  7h 09m | Avg: 18m 40s | Max: 35m 50s | Hits:  34%/13002 
    🟨 cudacxx
      🟨 nvcc12.0           Pass:  66%/3   | Total: 47m 55s | Avg: 15m 58s | Max: 18m 08s | Hits:  26%/1186  
      🟨 nvcc12.9           Pass:  95%/23  | Total:  7h 09m | Avg: 18m 40s | Max: 35m 50s | Hits:  34%/13002 
    🟩 sm
      🟩 90                 Pass: 100%/3   | Total: 37m 45s | Avg: 12m 35s | Max: 14m 34s | Hits:  50%/1773  
      🟩 90a                Pass: 100%/1   | Total: 14m 36s | Avg: 14m 36s | Max: 14m 36s | Hits:  25%/591   
    
  • 🟩 python: Pass: 100%/12 | Total: 1h 49m | Avg: 9m 09s | Max: 20m 33s

    🟩 cpu
      🟩 amd64              Pass: 100%/12  | Total:  1h 49m | Avg:  9m 09s | Max: 20m 33s
    🟩 ctk
      🟩 12.9               Pass: 100%/12  | Total:  1h 49m | Avg:  9m 09s | Max: 20m 33s
    🟩 cudacxx
      🟩 nvcc12.9           Pass: 100%/12  | Total:  1h 49m | Avg:  9m 09s | Max: 20m 33s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/12  | Total:  1h 49m | Avg:  9m 09s | Max: 20m 33s
    🟩 cxx
      🟩 GCC13              Pass: 100%/12  | Total:  1h 49m | Avg:  9m 09s | Max: 20m 33s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/12  | Total:  1h 49m | Avg:  9m 09s | Max: 20m 33s
    🟩 gpu
      🟩 rtxa6000           Pass: 100%/12  | Total:  1h 49m | Avg:  9m 09s | Max: 20m 33s
    🟩 jobs
      🟩 Build cuda.cccl    Pass: 100%/2   | Total:  6m 25s | Avg:  3m 12s | Max:  3m 15s
      🟩 Build cuda.cooperative Pass: 100%/2   | Total:  6m 49s | Avg:  3m 24s | Max:  3m 25s
      🟩 Build cuda.parallel Pass: 100%/2   | Total: 15m 35s | Avg:  7m 47s | Max:  7m 48s
      🟩 Test cuda.cccl     Pass: 100%/2   | Total:  8m 28s | Avg:  4m 14s | Max:  4m 20s
      🟩 Test cuda.cooperative Pass: 100%/2   | Total: 38m 00s | Avg: 19m 00s | Max: 20m 33s
      🟩 Test cuda.parallel Pass: 100%/2   | Total: 34m 32s | Avg: 17m 16s | Max: 17m 29s
    🟩 py_version
      🟩 3.10               Pass: 100%/6   | Total: 53m 44s | Avg:  8m 57s | Max: 17m 29s
      🟩 3.13               Pass: 100%/6   | Total: 56m 05s | Avg:  9m 20s | Max: 20m 33s
    
  • 🟩 packaging: Pass: 100%/4 | Total: 20m 55s | Avg: 5m 13s | Max: 6m 24s

    🟩 cpu
      🟩 amd64              Pass: 100%/4   | Total: 20m 55s | Avg:  5m 13s | Max:  6m 24s
    🟩 ctk
      🟩 12.0               Pass: 100%/2   | Total:  9m 25s | Avg:  4m 42s | Max:  4m 44s
      🟩 12.9               Pass: 100%/2   | Total: 11m 30s | Avg:  5m 45s | Max:  6m 24s
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/2   | Total:  9m 25s | Avg:  4m 42s | Max:  4m 44s
      🟩 nvcc12.9           Pass: 100%/2   | Total: 11m 30s | Avg:  5m 45s | Max:  6m 24s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/4   | Total: 20m 55s | Avg:  5m 13s | Max:  6m 24s
    🟩 cxx
      🟩 Clang14            Pass: 100%/1   | Total:  4m 41s | Avg:  4m 41s | Max:  4m 41s
      🟩 Clang19            Pass: 100%/1   | Total:  6m 24s | Avg:  6m 24s | Max:  6m 24s
      🟩 GCC12              Pass: 100%/1   | Total:  4m 44s | Avg:  4m 44s | Max:  4m 44s
      🟩 GCC13              Pass: 100%/1   | Total:  5m 06s | Avg:  5m 06s | Max:  5m 06s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/2   | Total: 11m 05s | Avg:  5m 32s | Max:  6m 24s
      🟩 GCC                Pass: 100%/2   | Total:  9m 50s | Avg:  4m 55s | Max:  5m 06s
    🟩 gpu
      🟩 rtx2080            Pass: 100%/4   | Total: 20m 55s | Avg:  5m 13s | Max:  6m 24s
    🟩 jobs
      🟩 Test               Pass: 100%/4   | Total: 20m 55s | Avg:  5m 13s | Max:  6m 24s
    
  • 🟩 stdpar: Pass: 100%/4 | Total: 20m 28s | Avg: 5m 07s | Max: 5m 56s

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total: 11m 38s | Avg:  5m 49s | Max:  5m 56s
      🟩 arm64              Pass: 100%/2   | Total:  8m 50s | Avg:  4m 25s | Max:  4m 26s
    🟩 ctk
      🟩 12.9               Pass: 100%/4   | Total: 20m 28s | Avg:  5m 07s | Max:  5m 56s
    🟩 cudacxx
      🟩 nvcc12.9           Pass: 100%/4   | Total: 20m 28s | Avg:  5m 07s | Max:  5m 56s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/4   | Total: 20m 28s | Avg:  5m 07s | Max:  5m 56s
    🟩 cxx
      🟩 NVHPC25.5          Pass: 100%/4   | Total: 20m 28s | Avg:  5m 07s | Max:  5m 56s
    🟩 cxx_family
      🟩 NVHPC              Pass: 100%/4   | Total: 20m 28s | Avg:  5m 07s | Max:  5m 56s
    🟩 gpu
      🟩 rtx2080            Pass: 100%/4   | Total: 20m 28s | Avg:  5m 07s | Max:  5m 56s
    🟩 jobs
      🟩 Build              Pass: 100%/4   | Total: 20m 28s | Avg:  5m 07s | Max:  5m 56s
    🟩 std
      🟩 17                 Pass: 100%/2   | Total: 10m 08s | Avg:  5m 04s | Max:  5m 42s
      🟩 20                 Pass: 100%/2   | Total: 10m 20s | Avg:  5m 10s | Max:  5m 56s
    
  • 🟩 cccl_c_parallel: Pass: 100%/2 | Total: 13m 56s | Avg: 6m 58s | Max: 10m 17s | Hits: 92%/328

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total: 13m 56s | Avg:  6m 58s | Max: 10m 17s | Hits:  92%/328   
    🟩 ctk
      🟩 12.9               Pass: 100%/2   | Total: 13m 56s | Avg:  6m 58s | Max: 10m 17s | Hits:  92%/328   
    🟩 cudacxx
      🟩 nvcc12.9           Pass: 100%/2   | Total: 13m 56s | Avg:  6m 58s | Max: 10m 17s | Hits:  92%/328   
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total: 13m 56s | Avg:  6m 58s | Max: 10m 17s | Hits:  92%/328   
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total: 13m 56s | Avg:  6m 58s | Max: 10m 17s | Hits:  92%/328   
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total: 13m 56s | Avg:  6m 58s | Max: 10m 17s | Hits:  92%/328   
    🟩 gpu
      🟩 rtx2080            Pass: 100%/2   | Total: 13m 56s | Avg:  6m 58s | Max: 10m 17s | Hits:  92%/328   
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  3m 39s | Avg:  3m 39s | Max:  3m 39s | Hits:  87%/164   
      🟩 Test               Pass: 100%/1   | Total: 10m 17s | Avg: 10m 17s | Max: 10m 17s | Hits:  98%/164   
    

👃 Inspect Changes

Modifications in project?

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

Modifications in project or dependencies?

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

🏃‍ Runner counts (total jobs: 187)

# Runner
129 linux-amd64-cpu16
15 windows-amd64-cpu16
12 linux-arm64-cpu16
12 linux-amd64-gpu-rtxa6000-latest-1
11 linux-amd64-gpu-rtx2080-latest-1
5 linux-amd64-gpu-h100-latest-1
3 linux-amd64-gpu-rtx4090-latest-1

@ericniebler
Copy link
Contributor Author

/ok to test 73970f0

@ericniebler
Copy link
Contributor Author

/ok to test 8dc09ee

@ericniebler
Copy link
Contributor Author

/ok to test 1509b3b

@ericniebler ericniebler marked this pull request as ready for review June 2, 2025 19:13
@ericniebler ericniebler requested review from a team as code owners June 2, 2025 19:13
@cccl-authenticator-app cccl-authenticator-app bot moved this from In Progress to In Review in CCCL Jun 2, 2025
Copy link
Contributor

github-actions bot commented Jun 2, 2025

🟨 CI finished in 2h 00m: Pass: 98%/187 | Total: 4d 22h | Avg: 38m 02s | Max: 1h 48m | Hits: 29%/286018
  • 🟨 libcudacxx: Pass: 95%/45 | Total: 1d 01h | Avg: 34m 04s | Max: 1h 21m | Hits: 11%/123695

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  95%/43  | Total:  1d 00h | Avg: 34m 10s | Max:  1h 21m | Hits:  11%/116960
      🟩 arm64              Pass: 100%/2   | Total:  1h 04m | Avg: 32m 05s | Max: 32m 22s | Hits:  11%/6735  
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/2   | Total: 54m 45s | Avg: 27m 22s | Max: 28m 52s | Hits:   7%/6699  
      🔍 nvcc               Pass:  95%/43  | Total:  1d 00h | Avg: 34m 23s | Max:  1h 21m | Hits:  11%/116996
    🚨 cxx: MSVC14.29 🚨
      🟩 Clang14            Pass: 100%/4   | Total:  2h 04m | Avg: 31m 02s | Max: 35m 15s | Hits:  12%/13354 
      🟩 Clang15            Pass: 100%/2   | Total:  1h 04m | Avg: 32m 13s | Max: 33m 47s | Hits:  12%/6695  
      🟩 Clang16            Pass: 100%/2   | Total:  1h 08m | Avg: 34m 03s | Max: 34m 56s | Hits:  11%/6695  
      🟩 Clang17            Pass: 100%/2   | Total:  1h 06m | Avg: 33m 15s | Max: 33m 52s | Hits:  12%/6695  
      🟩 Clang18            Pass: 100%/2   | Total:  1h 06m | Avg: 33m 28s | Max: 34m 06s | Hits:  11%/6695  
      🟩 Clang19            Pass: 100%/6   | Total:  2h 44m | Avg: 27m 28s | Max: 35m 45s | Hits:  10%/16761 
      🟩 GCC7               Pass: 100%/2   | Total: 55m 35s | Avg: 27m 47s | Max: 28m 47s | Hits:  12%/6631  
      🟩 GCC8               Pass: 100%/1   | Total: 29m 01s | Avg: 29m 01s | Max: 29m 01s | Hits:  12%/3326  
      🟩 GCC9               Pass: 100%/2   | Total:  1h 00m | Avg: 30m 13s | Max: 30m 57s | Hits:  12%/6643  
      🟩 GCC10              Pass: 100%/2   | Total:  1h 04m | Avg: 32m 25s | Max: 34m 58s | Hits:  12%/6697  
      🟩 GCC11              Pass: 100%/2   | Total:  1h 07m | Avg: 33m 35s | Max: 35m 07s | Hits:  11%/6693  
      🟩 GCC12              Pass: 100%/2   | Total:  1h 08m | Avg: 34m 00s | Max: 35m 41s | Hits:  11%/6697  
      🟩 GCC13              Pass: 100%/10  | Total:  5h 14m | Avg: 31m 29s | Max:  1h 21m | Hits:  12%/17005 
      🔥 MSVC14.29          Pass:   0%/2   | Total:  1h 47m | Avg: 53m 33s | Max: 57m 25s
      🟩 MSVC14.43          Pass: 100%/2   | Total:  1h 56m | Avg: 58m 07s | Max: 58m 14s | Hits:  10%/6423  
      🟩 NVHPC25.5          Pass: 100%/2   | Total:  1h 35m | Avg: 47m 41s | Max: 47m 53s | Hits:  10%/6685  
    🔍 cxx_family: MSVC 🔍
      🟩 Clang              Pass: 100%/18  | Total:  9h 14m | Avg: 30m 49s | Max: 35m 45s | Hits:  11%/56895 
      🟩 GCC                Pass: 100%/21  | Total: 10h 59m | Avg: 31m 25s | Max:  1h 21m | Hits:  12%/53692 
      🔍 MSVC               Pass:  50%/4   | Total:  3h 43m | Avg: 55m 50s | Max: 58m 14s | Hits:  10%/6423  
      🟩 NVHPC              Pass: 100%/2   | Total:  1h 35m | Avg: 47m 41s | Max: 47m 53s | Hits:  10%/6685  
    🔍 gpu: rtx2080 🔍
      🟩 h100               Pass: 100%/2   | Total: 41m 52s | Avg: 20m 56s | Max: 26m 10s | Hits:  11%/3450  
      🔍 rtx2080            Pass:  95%/43  | Total:  1d 00h | Avg: 34m 41s | Max:  1h 21m | Hits:  11%/120245
    🔍 jobs: Build 🔍
      🔍 Build              Pass:  94%/39  | Total: 22h 56m | Avg: 35m 17s | Max: 58m 14s | Hits:  11%/123655
      🟩 NVRTC              Pass: 100%/2   | Total: 45m 54s | Avg: 22m 57s | Max: 24m 12s | Hits:  90%/40    
      🟩 Test               Pass: 100%/3   | Total:  1h 49m | Avg: 36m 23s | Max:  1h 21m
      🟩 VerifyCodegen      Pass: 100%/1   | Total:  2m 25s | Avg:  2m 25s | Max:  2m 25s
    🔍 std: 17 🔍
      🔍 17                 Pass:  90%/22  | Total: 12h 39m | Avg: 34m 32s | Max: 58m 14s | Hits:  11%/63057 
      🟩 20                 Pass: 100%/22  | Total: 12h 51m | Avg: 35m 03s | Max:  1h 21m | Hits:  11%/60638 
    🟨 cudacxx
      🟩 ClangCUDA19        Pass: 100%/2   | Total: 54m 45s | Avg: 27m 22s | Max: 28m 52s | Hits:   7%/6699  
      🟨 nvcc12.0           Pass:  80%/5   | Total:  2h 43m | Avg: 32m 47s | Max: 49m 42s | Hits:  12%/13292 
      🟨 nvcc12.9           Pass:  97%/38  | Total: 21h 54m | Avg: 34m 36s | Max:  1h 21m | Hits:  11%/103704
    🟨 ctk
      🟨 12.0               Pass:  80%/5   | Total:  2h 43m | Avg: 32m 47s | Max: 49m 42s | Hits:  12%/13292 
      🟨 12.9               Pass:  97%/40  | Total: 22h 49m | Avg: 34m 14s | Max:  1h 21m | Hits:  11%/110403
    🟩 sm
      🟩 75                 Pass: 100%/2   | Total: 45m 54s | Avg: 22m 57s | Max: 24m 12s | Hits:  90%/40    
      🟩 90                 Pass: 100%/2   | Total: 41m 52s | Avg: 20m 56s | Max: 26m 10s | Hits:  11%/3450  
      🟩 90;90a;100         Pass: 100%/1   | Total: 41m 07s | Avg: 41m 07s | Max: 41m 07s | Hits:  12%/3450  
    
  • 🟩 cub: Pass: 100%/47 | Total: 2d 00h | Avg: 1h 01m | Max: 1h 36m | Hits: 29%/57328

    🟩 cpu
      🟩 amd64              Pass: 100%/45  | Total:  1d 21h | Avg:  1h 01m | Max:  1h 36m | Hits:  30%/54834 
      🟩 arm64              Pass: 100%/2   | Total:  2h 05m | Avg:  1h 02m | Max:  1h 04m | Hits:  15%/2494  
    🟩 ctk
      🟩 12.0               Pass: 100%/5   | Total:  5h 31m | Avg:  1h 06m | Max:  1h 18m | Hits:  15%/6054  
      🟩 12.9               Pass: 100%/42  | Total:  1d 18h | Avg:  1h 00m | Max:  1h 36m | Hits:  31%/51274 
    🟩 cudacxx
      🟩 ClangCUDA19        Pass: 100%/2   | Total:  1h 13m | Avg: 36m 35s | Max: 36m 56s | Hits:  14%/2151  
      🟩 nvcc12.0           Pass: 100%/5   | Total:  5h 31m | Avg:  1h 06m | Max:  1h 18m | Hits:  15%/6054  
      🟩 nvcc12.9           Pass: 100%/40  | Total:  1d 17h | Avg:  1h 01m | Max:  1h 36m | Hits:  32%/49123 
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total:  1h 13m | Avg: 36m 35s | Max: 36m 56s | Hits:  14%/2151  
      🟩 nvcc               Pass: 100%/45  | Total:  1d 22h | Avg:  1h 02m | Max:  1h 36m | Hits:  30%/55177 
    🟩 cxx
      🟩 Clang14            Pass: 100%/4   | Total:  4h 03m | Avg:  1h 00m | Max:  1h 06m | Hits:  16%/4990  
      🟩 Clang15            Pass: 100%/2   | Total:  2h 09m | Avg:  1h 04m | Max:  1h 05m | Hits:  15%/2491  
      🟩 Clang16            Pass: 100%/2   | Total:  2h 25m | Avg:  1h 12m | Max:  1h 23m | Hits:  15%/2491  
      🟩 Clang17            Pass: 100%/2   | Total:  2h 02m | Avg:  1h 01m | Max:  1h 01m | Hits:  15%/2491  
      🟩 Clang18            Pass: 100%/2   | Total:  2h 03m | Avg:  1h 01m | Max:  1h 03m | Hits:  15%/2491  
      🟩 Clang19            Pass: 100%/7   | Total:  5h 28m | Avg: 46m 53s | Max:  1h 06m | Hits:  40%/8380  
      🟩 GCC7               Pass: 100%/2   | Total:  2h 14m | Avg:  1h 07m | Max:  1h 09m | Hits:  15%/2494  
      🟩 GCC8               Pass: 100%/1   | Total:  1h 07m | Avg:  1h 07m | Max:  1h 07m | Hits:  15%/1247  
      🟩 GCC9               Pass: 100%/2   | Total:  2h 15m | Avg:  1h 07m | Max:  1h 09m | Hits:  15%/2494  
      🟩 GCC10              Pass: 100%/2   | Total:  2h 21m | Avg:  1h 10m | Max:  1h 12m | Hits:  15%/2495  
      🟩 GCC11              Pass: 100%/2   | Total:  2h 20m | Avg:  1h 10m | Max:  1h 13m | Hits:  15%/2491  
      🟩 GCC12              Pass: 100%/2   | Total:  2h 20m | Avg:  1h 10m | Max:  1h 12m | Hits:  15%/2491  
      🟩 GCC13              Pass: 100%/11  | Total:  8h 44m | Avg: 47m 43s | Max:  1h 14m | Hits:  61%/13725 
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 38m | Avg:  1h 19m | Max:  1h 20m | Hits:  12%/2130  
      🟩 MSVC14.43          Pass: 100%/2   | Total:  2h 59m | Avg:  1h 29m | Max:  1h 36m | Hits:  12%/2130  
      🟩 NVHPC25.5          Pass: 100%/2   | Total:  2h 46m | Avg:  1h 23m | Max:  1h 23m | Hits:  11%/2297  
    🟩 cxx_family
      🟩 Clang              Pass: 100%/19  | Total: 18h 11m | Avg: 57m 27s | Max:  1h 23m | Hits:  24%/23334 
      🟩 GCC                Pass: 100%/22  | Total: 21h 23m | Avg: 58m 21s | Max:  1h 14m | Hits:  38%/27437 
      🟩 MSVC               Pass: 100%/4   | Total:  5h 38m | Avg:  1h 24m | Max:  1h 36m | Hits:  12%/4260  
      🟩 NVHPC              Pass: 100%/2   | Total:  2h 46m | Avg:  1h 23m | Max:  1h 23m | Hits:  11%/2297  
    🟩 gpu
      🟩 h100               Pass: 100%/3   | Total:  1h 37m | Avg: 32m 32s | Max: 33m 29s | Hits:  71%/3744  
      🟩 rtx2080            Pass: 100%/36  | Total:  1d 16h | Avg:  1h 07m | Max:  1h 36m | Hits:  15%/43606 
      🟩 rtxa6000           Pass: 100%/8   | Total:  5h 50m | Avg: 43m 45s | Max:  1h 07m | Hits:  78%/9978  
    🟩 jobs
      🟩 Build              Pass: 100%/39  | Total:  1d 19h | Avg:  1h 06m | Max:  1h 36m | Hits:  15%/47348 
      🟩 DeviceLaunch       Pass: 100%/1   | Total: 39m 07s | Avg: 39m 07s | Max: 39m 07s | Hits:  99%/1248  
      🟩 GraphCapture       Pass: 100%/1   | Total: 35m 32s | Avg: 35m 32s | Max: 35m 32s | Hits:  99%/1248  
      🟩 HostLaunch         Pass: 100%/3   | Total:  1h 48m | Avg: 36m 12s | Max: 43m 56s | Hits:  99%/3742  
      🟩 TestGPU            Pass: 100%/3   | Total:  1h 39m | Avg: 33m 12s | Max: 37m 19s | Hits:  99%/3742  
    🟩 sm
      🟩 90                 Pass: 100%/3   | Total:  1h 37m | Avg: 32m 32s | Max: 33m 29s | Hits:  71%/3744  
      🟩 90;90a;100         Pass: 100%/1   | Total:  1h 05m | Avg:  1h 05m | Max:  1h 05m | Hits:  15%/1248  
    🟩 std
      🟩 17                 Pass: 100%/21  | Total:  1d 00h | Avg:  1h 08m | Max:  1h 23m | Hits:  15%/25354 
      🟩 20                 Pass: 100%/26  | Total: 23h 57m | Avg: 55m 18s | Max:  1h 36m | Hits:  41%/31974 
    
  • 🟩 thrust: Pass: 100%/47 | Total: 1d 09h | Avg: 42m 55s | Max: 1h 48m | Hits: 51%/89895

    🟩 cmake_options
      🟩 -DTHRUST_DISPATCH_TYPE=Force32bit Pass: 100%/2   | Total:  1h 00m | Avg: 30m 04s | Max: 44m 36s | Hits:  70%/3828  
    🟩 cpu
      🟩 amd64              Pass: 100%/45  | Total:  1d 08h | Avg: 43m 05s | Max:  1h 48m | Hits:  51%/86068 
      🟩 arm64              Pass: 100%/2   | Total:  1h 18m | Avg: 39m 18s | Max: 41m 15s | Hits:  40%/3827  
    🟩 ctk
      🟩 12.0               Pass: 100%/5   | Total:  3h 46m | Avg: 45m 23s | Max:  1h 12m | Hits:  34%/9560  
      🟩 12.9               Pass: 100%/42  | Total:  1d 05h | Avg: 42m 38s | Max:  1h 48m | Hits:  53%/80335 
    🟩 cudacxx
      🟩 ClangCUDA19        Pass: 100%/2   | Total:  1h 04m | Avg: 32m 04s | Max: 32m 33s | Hits:  41%/3826  
      🟩 nvcc12.0           Pass: 100%/5   | Total:  3h 46m | Avg: 45m 23s | Max:  1h 12m | Hits:  34%/9560  
      🟩 nvcc12.9           Pass: 100%/40  | Total:  1d 04h | Avg: 43m 10s | Max:  1h 48m | Hits:  53%/76509 
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total:  1h 04m | Avg: 32m 04s | Max: 32m 33s | Hits:  41%/3826  
      🟩 nvcc               Pass: 100%/45  | Total:  1d 08h | Avg: 43m 24s | Max:  1h 48m | Hits:  51%/86069 
    🟩 cxx
      🟩 Clang14            Pass: 100%/4   | Total:  2h 28m | Avg: 37m 07s | Max: 38m 29s | Hits:  55%/7652  
      🟩 Clang15            Pass: 100%/2   | Total:  1h 19m | Avg: 39m 42s | Max: 40m 27s | Hits:  41%/3826  
      🟩 Clang16            Pass: 100%/2   | Total:  1h 18m | Avg: 39m 01s | Max: 40m 21s | Hits:  41%/3826  
      🟩 Clang17            Pass: 100%/2   | Total:  1h 21m | Avg: 40m 54s | Max: 42m 49s | Hits:  41%/3826  
      🟩 Clang18            Pass: 100%/2   | Total:  1h 18m | Avg: 39m 15s | Max: 40m 22s | Hits:  41%/3826  
      🟩 Clang19            Pass: 100%/7   | Total:  3h 26m | Avg: 29m 26s | Max: 44m 43s | Hits:  61%/13391 
      🟩 GCC7               Pass: 100%/2   | Total:  1h 21m | Avg: 40m 38s | Max: 41m 05s | Hits:  57%/3828  
      🟩 GCC8               Pass: 100%/1   | Total: 46m 03s | Avg: 46m 03s | Max: 46m 03s | Hits:  40%/1914  
      🟩 GCC9               Pass: 100%/2   | Total:  1h 24m | Avg: 42m 06s | Max: 43m 57s | Hits:  58%/3828  
      🟩 GCC10              Pass: 100%/2   | Total:  1h 29m | Avg: 44m 58s | Max: 46m 32s | Hits:  40%/3828  
      🟩 GCC11              Pass: 100%/2   | Total:  1h 32m | Avg: 46m 28s | Max: 49m 06s | Hits:  40%/3828  
      🟩 GCC12              Pass: 100%/2   | Total:  1h 32m | Avg: 46m 10s | Max: 48m 29s | Hits:  40%/3828  
      🟩 GCC13              Pass: 100%/10  | Total:  5h 11m | Avg: 31m 06s | Max: 50m 26s | Hits:  71%/19140 
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 24m | Avg:  1h 12m | Max:  1h 12m | Hits:  27%/3812  
      🟩 MSVC14.43          Pass: 100%/3   | Total:  3h 16m | Avg:  1h 05m | Max:  1h 21m | Hits:  38%/5718  
      🟩 NVHPC25.5          Pass: 100%/2   | Total:  3h 26m | Avg:  1h 43m | Max:  1h 48m | Hits:   8%/3824  
    🟩 cxx_family
      🟩 Clang              Pass: 100%/19  | Total: 11h 12m | Avg: 35m 23s | Max: 44m 43s | Hits:  51%/36347 
      🟩 GCC                Pass: 100%/21  | Total: 13h 17m | Avg: 37m 59s | Max: 50m 26s | Hits:  58%/40194 
      🟩 MSVC               Pass: 100%/5   | Total:  5h 41m | Avg:  1h 08m | Max:  1h 21m | Hits:  33%/9530  
      🟩 NVHPC              Pass: 100%/2   | Total:  3h 26m | Avg:  1h 43m | Max:  1h 48m | Hits:   8%/3824  
    🟩 gpu
      🟩 h100               Pass: 100%/2   | Total: 44m 06s | Avg: 22m 03s | Max: 25m 50s | Hits:  70%/3828  
      🟩 rtx2080            Pass: 100%/35  | Total:  1d 03h | Avg: 47m 41s | Max:  1h 48m | Hits:  42%/66946 
      🟩 rtx4090            Pass: 100%/10  | Total:  5h 04m | Avg: 30m 26s | Max:  1h 21m | Hits:  77%/19121 
    🟩 jobs
      🟩 Build              Pass: 100%/40  | Total:  1d 07h | Avg: 47m 34s | Max:  1h 48m | Hits:  42%/76507 
      🟩 TestCPU            Pass: 100%/3   | Total: 53m 17s | Avg: 17m 45s | Max: 34m 03s | Hits:  99%/5733  
      🟩 TestGPU            Pass: 100%/4   | Total:  1h 01m | Avg: 15m 26s | Max: 18m 16s | Hits:  99%/7655  
    🟩 sm
      🟩 90                 Pass: 100%/2   | Total: 44m 06s | Avg: 22m 03s | Max: 25m 50s | Hits:  70%/3828  
      🟩 90;90a;100         Pass: 100%/1   | Total: 46m 21s | Avg: 46m 21s | Max: 46m 21s | Hits:  75%/1914  
    🟩 std
      🟩 17                 Pass: 100%/21  | Total: 17h 30m | Avg: 50m 02s | Max:  1h 48m | Hits:  41%/40160 
      🟩 20                 Pass: 100%/24  | Total: 15h 06m | Avg: 37m 46s | Max:  1h 37m | Hits:  57%/45907 
    
  • 🟩 cudax: Pass: 100%/26 | Total: 8h 20m | Avg: 19m 15s | Max: 38m 59s | Hits: 34%/14772

    🟩 cpu
      🟩 amd64              Pass: 100%/22  | Total:  7h 07m | Avg: 19m 24s | Max: 38m 59s | Hits:  36%/12408 
      🟩 arm64              Pass: 100%/4   | Total:  1h 13m | Avg: 18m 22s | Max: 20m 56s | Hits:  25%/2364  
    🟩 ctk
      🟩 12.0               Pass: 100%/3   | Total: 50m 16s | Avg: 16m 45s | Max: 18m 53s | Hits:  28%/1478  
      🟩 12.9               Pass: 100%/23  | Total:  7h 30m | Avg: 19m 34s | Max: 38m 59s | Hits:  35%/13294 
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/3   | Total: 50m 16s | Avg: 16m 45s | Max: 18m 53s | Hits:  28%/1478  
      🟩 nvcc12.9           Pass: 100%/23  | Total:  7h 30m | Avg: 19m 34s | Max: 38m 59s | Hits:  35%/13294 
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/26  | Total:  8h 20m | Avg: 19m 15s | Max: 38m 59s | Hits:  34%/14772 
    🟩 cxx
      🟩 Clang14            Pass: 100%/2   | Total: 34m 00s | Avg: 17m 00s | Max: 17m 44s | Hits:  26%/1186  
      🟩 Clang15            Pass: 100%/1   | Total: 19m 10s | Avg: 19m 10s | Max: 19m 10s | Hits:  25%/591   
      🟩 Clang16            Pass: 100%/1   | Total: 20m 30s | Avg: 20m 30s | Max: 20m 30s | Hits:  25%/591   
      🟩 Clang17            Pass: 100%/1   | Total: 20m 00s | Avg: 20m 00s | Max: 20m 00s | Hits:  25%/591   
      🟩 Clang18            Pass: 100%/1   | Total: 20m 01s | Avg: 20m 01s | Max: 20m 01s | Hits:  25%/591   
      🟩 Clang19            Pass: 100%/4   | Total:  1h 03m | Avg: 15m 57s | Max: 20m 05s | Hits:  44%/2364  
      🟩 GCC10              Pass: 100%/2   | Total: 38m 16s | Avg: 19m 08s | Max: 19m 23s | Hits:  25%/1186  
      🟩 GCC11              Pass: 100%/1   | Total: 21m 59s | Avg: 21m 59s | Max: 21m 59s | Hits:  25%/591   
      🟩 GCC12              Pass: 100%/1   | Total: 21m 55s | Avg: 21m 55s | Max: 21m 55s | Hits:  25%/591   
      🟩 GCC13              Pass: 100%/8   | Total:  2h 15m | Avg: 16m 58s | Max: 23m 35s | Hits:  43%/4728  
      🟩 MSVC14.39          Pass: 100%/1   | Total: 15m 07s | Avg: 15m 07s | Max: 15m 07s | Hits:  40%/292   
      🟩 MSVC14.43          Pass: 100%/1   | Total: 15m 04s | Avg: 15m 04s | Max: 15m 04s | Hits:  40%/292   
      🟩 NVHPC25.5          Pass: 100%/2   | Total:  1h 14m | Avg: 37m 28s | Max: 38m 59s | Hits:  21%/1178  
    🟩 cxx_family
      🟩 Clang              Pass: 100%/10  | Total:  2h 57m | Avg: 17m 45s | Max: 20m 30s | Hits:  33%/5914  
      🟩 GCC                Pass: 100%/12  | Total:  3h 38m | Avg: 18m 10s | Max: 23m 35s | Hits:  37%/7096  
      🟩 MSVC               Pass: 100%/2   | Total: 30m 11s | Avg: 15m 05s | Max: 15m 07s | Hits:  40%/584   
      🟩 NVHPC              Pass: 100%/2   | Total:  1h 14m | Avg: 37m 28s | Max: 38m 59s | Hits:  21%/1178  
    🟩 gpu
      🟩 h100               Pass: 100%/2   | Total: 28m 32s | Avg: 14m 16s | Max: 16m 21s | Hits:  62%/1182  
      🟩 rtx2080            Pass: 100%/24  | Total:  7h 52m | Avg: 19m 40s | Max: 38m 59s | Hits:  32%/13590 
    🟩 jobs
      🟩 Build              Pass: 100%/23  | Total:  7h 42m | Avg: 20m 05s | Max: 38m 59s | Hits:  25%/12999 
      🟩 Test               Pass: 100%/3   | Total: 38m 26s | Avg: 12m 48s | Max: 16m 41s | Hits:  99%/1773  
    🟩 sm
      🟩 90                 Pass: 100%/3   | Total: 41m 51s | Avg: 13m 57s | Max: 16m 21s | Hits:  50%/1773  
      🟩 90a                Pass: 100%/1   | Total: 14m 25s | Avg: 14m 25s | Max: 14m 25s | Hits:  25%/591   
    🟩 std
      🟩 17                 Pass: 100%/4   | Total:  1h 23m | Avg: 20m 59s | Max: 35m 57s | Hits:  24%/2362  
      🟩 20                 Pass: 100%/22  | Total:  6h 56m | Avg: 18m 56s | Max: 38m 59s | Hits:  36%/12410 
    
  • 🟩 python: Pass: 100%/12 | Total: 1h 56m | Avg: 9m 42s | Max: 21m 20s

    🟩 cpu
      🟩 amd64              Pass: 100%/12  | Total:  1h 56m | Avg:  9m 42s | Max: 21m 20s
    🟩 ctk
      🟩 12.9               Pass: 100%/12  | Total:  1h 56m | Avg:  9m 42s | Max: 21m 20s
    🟩 cudacxx
      🟩 nvcc12.9           Pass: 100%/12  | Total:  1h 56m | Avg:  9m 42s | Max: 21m 20s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/12  | Total:  1h 56m | Avg:  9m 42s | Max: 21m 20s
    🟩 cxx
      🟩 GCC13              Pass: 100%/12  | Total:  1h 56m | Avg:  9m 42s | Max: 21m 20s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/12  | Total:  1h 56m | Avg:  9m 42s | Max: 21m 20s
    🟩 gpu
      🟩 rtxa6000           Pass: 100%/12  | Total:  1h 56m | Avg:  9m 42s | Max: 21m 20s
    🟩 jobs
      🟩 Build cuda.cccl    Pass: 100%/2   | Total:  6m 44s | Avg:  3m 22s | Max:  3m 23s
      🟩 Build cuda.cooperative Pass: 100%/2   | Total:  6m 56s | Avg:  3m 28s | Max:  3m 34s
      🟩 Build cuda.parallel Pass: 100%/2   | Total: 16m 20s | Avg:  8m 10s | Max:  8m 17s
      🟩 Test cuda.cccl     Pass: 100%/2   | Total:  9m 47s | Avg:  4m 53s | Max:  4m 56s
      🟩 Test cuda.cooperative Pass: 100%/2   | Total: 40m 16s | Avg: 20m 08s | Max: 21m 20s
      🟩 Test cuda.parallel Pass: 100%/2   | Total: 36m 27s | Avg: 18m 13s | Max: 18m 53s
    🟩 py_version
      🟩 3.10               Pass: 100%/6   | Total: 57m 43s | Avg:  9m 37s | Max: 18m 56s
      🟩 3.13               Pass: 100%/6   | Total: 58m 47s | Avg:  9m 47s | Max: 21m 20s
    
  • 🟩 packaging: Pass: 100%/4 | Total: 27m 22s | Avg: 6m 50s | Max: 10m 43s

    🟩 cpu
      🟩 amd64              Pass: 100%/4   | Total: 27m 22s | Avg:  6m 50s | Max: 10m 43s
    🟩 ctk
      🟩 12.0               Pass: 100%/2   | Total: 16m 03s | Avg:  8m 01s | Max: 10m 43s
      🟩 12.9               Pass: 100%/2   | Total: 11m 19s | Avg:  5m 39s | Max:  5m 47s
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/2   | Total: 16m 03s | Avg:  8m 01s | Max: 10m 43s
      🟩 nvcc12.9           Pass: 100%/2   | Total: 11m 19s | Avg:  5m 39s | Max:  5m 47s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/4   | Total: 27m 22s | Avg:  6m 50s | Max: 10m 43s
    🟩 cxx
      🟩 Clang14            Pass: 100%/1   | Total: 10m 43s | Avg: 10m 43s | Max: 10m 43s
      🟩 Clang19            Pass: 100%/1   | Total:  5m 47s | Avg:  5m 47s | Max:  5m 47s
      🟩 GCC12              Pass: 100%/1   | Total:  5m 20s | Avg:  5m 20s | Max:  5m 20s
      🟩 GCC13              Pass: 100%/1   | Total:  5m 32s | Avg:  5m 32s | Max:  5m 32s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/2   | Total: 16m 30s | Avg:  8m 15s | Max: 10m 43s
      🟩 GCC                Pass: 100%/2   | Total: 10m 52s | Avg:  5m 26s | Max:  5m 32s
    🟩 gpu
      🟩 rtx2080            Pass: 100%/4   | Total: 27m 22s | Avg:  6m 50s | Max: 10m 43s
    🟩 jobs
      🟩 Test               Pass: 100%/4   | Total: 27m 22s | Avg:  6m 50s | Max: 10m 43s
    
  • 🟩 stdpar: Pass: 100%/4 | Total: 20m 59s | Avg: 5m 14s | Max: 5m 57s

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total: 11m 41s | Avg:  5m 50s | Max:  5m 57s
      🟩 arm64              Pass: 100%/2   | Total:  9m 18s | Avg:  4m 39s | Max:  4m 50s
    🟩 ctk
      🟩 12.9               Pass: 100%/4   | Total: 20m 59s | Avg:  5m 14s | Max:  5m 57s
    🟩 cudacxx
      🟩 nvcc12.9           Pass: 100%/4   | Total: 20m 59s | Avg:  5m 14s | Max:  5m 57s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/4   | Total: 20m 59s | Avg:  5m 14s | Max:  5m 57s
    🟩 cxx
      🟩 NVHPC25.5          Pass: 100%/4   | Total: 20m 59s | Avg:  5m 14s | Max:  5m 57s
    🟩 cxx_family
      🟩 NVHPC              Pass: 100%/4   | Total: 20m 59s | Avg:  5m 14s | Max:  5m 57s
    🟩 gpu
      🟩 rtx2080            Pass: 100%/4   | Total: 20m 59s | Avg:  5m 14s | Max:  5m 57s
    🟩 jobs
      🟩 Build              Pass: 100%/4   | Total: 20m 59s | Avg:  5m 14s | Max:  5m 57s
    🟩 std
      🟩 17                 Pass: 100%/2   | Total: 10m 12s | Avg:  5m 06s | Max:  5m 44s
      🟩 20                 Pass: 100%/2   | Total: 10m 47s | Avg:  5m 23s | Max:  5m 57s
    
  • 🟩 cccl_c_parallel: Pass: 100%/2 | Total: 15m 08s | Avg: 7m 34s | Max: 11m 29s | Hits: 92%/328

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total: 15m 08s | Avg:  7m 34s | Max: 11m 29s | Hits:  92%/328   
    🟩 ctk
      🟩 12.9               Pass: 100%/2   | Total: 15m 08s | Avg:  7m 34s | Max: 11m 29s | Hits:  92%/328   
    🟩 cudacxx
      🟩 nvcc12.9           Pass: 100%/2   | Total: 15m 08s | Avg:  7m 34s | Max: 11m 29s | Hits:  92%/328   
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total: 15m 08s | Avg:  7m 34s | Max: 11m 29s | Hits:  92%/328   
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total: 15m 08s | Avg:  7m 34s | Max: 11m 29s | Hits:  92%/328   
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total: 15m 08s | Avg:  7m 34s | Max: 11m 29s | Hits:  92%/328   
    🟩 gpu
      🟩 rtx2080            Pass: 100%/2   | Total: 15m 08s | Avg:  7m 34s | Max: 11m 29s | Hits:  92%/328   
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  3m 39s | Avg:  3m 39s | Max:  3m 39s | Hits:  87%/164   
      🟩 Test               Pass: 100%/1   | Total: 11m 29s | Avg: 11m 29s | Max: 11m 29s | Hits:  98%/164   
    

👃 Inspect Changes

Modifications in project?

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

Modifications in project or dependencies?

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

🏃‍ Runner counts (total jobs: 187)

# Runner
129 linux-amd64-cpu16
15 windows-amd64-cpu16
12 linux-arm64-cpu16
12 linux-amd64-gpu-rtxa6000-latest-1
11 linux-amd64-gpu-rtx2080-latest-1
5 linux-amd64-gpu-h100-latest-1
3 linux-amd64-gpu-rtx4090-latest-1

@ericniebler ericniebler marked this pull request as draft June 3, 2025 14:27
@cccl-authenticator-app cccl-authenticator-app bot moved this from In Review to In Progress in CCCL Jun 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

1 participant