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

backport std integer comparison functions to C++11 #2805

Open
wants to merge 33 commits into
base: main
Choose a base branch
from

Conversation

davebayer
Copy link
Contributor

@davebayer davebayer commented Nov 13, 2024

Description

This PR implements backport of C++20 integer comparison functions P0586R2 to C++11.

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

Copy link

copy-pr-bot bot commented Nov 13, 2024

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

libcudacxx/include/cuda/std/__utility/cmp.h Outdated Show resolved Hide resolved
libcudacxx/include/cuda/std/__utility/cmp.h Outdated Show resolved Hide resolved
libcudacxx/include/cuda/std/__utility/cmp.h Outdated Show resolved Hide resolved
libcudacxx/include/cuda/std/__utility/cmp.h Outdated Show resolved Hide resolved
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.

I am wondering whether it is actually worth backporting this to C++11

or moreso if we backport it to C++11 whether we should make it constexpr

Using multiple function definitions instead of if constexpr is much more expensive due to the larger overload set.

We could get away with marking it as _CCCL_CONSTEXPR_14 so that we do not need the single line implementation for C++11 and use _CCCL_IF_CONSTEXPR to let the compiler deal with all the false branches

@davebayer
Copy link
Contributor Author

I am wondering whether it is actually worth backporting this to C++11

or moreso if we backport it to C++11 whether we should make it constexpr

Using multiple function definitions instead of if constexpr is much more expensive due to the larger overload set.

We could get away with marking it as _CCCL_CONSTEXPR_14 so that we do not need the single line implementation for C++11 and use _CCCL_IF_CONSTEXPR to let the compiler deal with all the false branches

It is also an option. I am just worried that it will trigger some warning about comparing signed and unsigned integers, because all of the branches will get instantiated if if constexpr is unavailable.

@davebayer
Copy link
Contributor Author

Would it help if I remove the __cmp_eq_impl and cmp_less_impl structures and overload directly the cmp_eq and cmp_less functions with SFINAE instead?

@miscco
Copy link
Collaborator

miscco commented Nov 14, 2024

Would it help if I remove the __cmp_eq_impl and cmp_less_impl structures and overload directly the cmp_eq and cmp_less functions with SFINAE instead?

Not really, the issue is that the overload set becomes 4 times larger than before which is the expensive part

@davebayer
Copy link
Contributor Author

Oh I see.. But actually, does it even matter compared to e. g. instantiations of std::vector? There is a limited number of instantiations of this function as there are maximum 12 integer types.

@miscco
Copy link
Collaborator

miscco commented Nov 14, 2024

Oh I see.. But actually, does it even matter compared to e. g. instantiations of std::vector? There is a limited number of instantiations of this function as there are maximum 12 integer types.

Generally speaking type instantiations and overload resolution are the two big hitters with respect to compile time.

Being a foundational library means we need to ensure that we reduce the cost as much as possible because it does add up.

This might be more in the realm of microoptimizations, but if we change it we can be mindful of the consequences. Especially if it comes to backporting things to an earlier standard. We want to avoid making the original thing worse

@davebayer
Copy link
Contributor Author

davebayer commented Nov 14, 2024

Generally speaking type instantiations and overload resolution are the two big hitters with respect to compile time.

Being a foundational library means we need to ensure that we reduce the cost as much as possible because it does add up.

This might be more in the realm of microoptimizations, but if we change it we can be mindful of the consequences. Especially if it comes to backporting things to an earlier standard. We want to avoid making the original thing worse

Sure, so what about leaving this implementation for C++11 and C++14 and for C++17 and newer having separate implementation used if __cpp_if_constexpr is available.

struct __cmp_eq_pre_if_constexpr_impl
{
  template <class _Tp, class _Up, enable_if_t<is_signed<_Tp>::value && is_signed<_Up>::value, int> = 0>
  _LIBCUDACXX_HIDE_FROM_ABI static constexpr bool __do_cmp(_Tp __t, _Up __u) noexcept
  {
    return __t == __u;
  }

  template <
    class _Tp,
    class _Up,
    enable_if_t<(is_signed<_Tp>::value && !is_signed<_Up>::value) || (!is_signed<_Tp>::value && is_signed<_Up>::value),
                int> = 0>
  _LIBCUDACXX_HIDE_FROM_ABI static constexpr bool __do_cmp(_Tp __t, _Up __u) noexcept
  {
    return __t < 0 ? false : make_unsigned_t<_Tp>(__t) == __u;
  }

  template <class _Tp, class _Up, enable_if_t<!is_signed<_Tp>::value && !is_signed<_Up>::value, int> = 0>
  _LIBCUDACXX_HIDE_FROM_ABI static constexpr bool __do_cmp(_Tp __t, _Up __u) noexcept
  {
    return __u < 0 ? false : __t == make_unsigned_t<_Up>(__u);
  }
};

template <class _Tp,
          class _Up,
          enable_if_t<__is_safe_integral_cmp<_Tp>::value && __is_safe_integral_cmp<_Up>::value, int> = 0>
_LIBCUDACXX_HIDE_FROM_ABI constexpr bool cmp_equal(_Tp __t, _Up __u) noexcept
{
#if _CCCL_STD_VER >= 2017 && __cpp_if_constexpr
  if constexpr (is_signed_v<_Tp> == is_signed_v<_Up>)
  {
    return __t == __u;
  }
  else if constexpr (is_signed_v<_Tp>)
  {
    return __t < 0 ? false : make_unsigned_t<_Tp>(__t) == __u;
  }
  else
  {
    return __u < 0 ? false : __t == make_unsigned_t<_Up>(__u);
  }
#else
  return __cmp_eq_pre_if_constexpr_impl::__do_cmp(__t, __u);
#endif // _CCCL_STD_VER >= 2017 && __cpp_if_constexpr
}

But we will duplicate some code. What do you think about that?

@bernhardmgruber
Copy link
Contributor

I am wondering whether it is actually worth backporting this to C++11

Without having read through the entire discussion in detail, I think this is the most important question for me. Thrust and CUB are dropping C++11 in favor of C++17 soon. libcu++ requires C++14 IIUC, but contains lots of C++11 backports for Thrust and CUB. I would love to see all C++11 code paths and workarounds gone after the upgrade in Thrust and CUB, which renders the effort of this PR meaningless. A backport to C++17 (or maybe C++14) would make more sense.

@davebayer davebayer changed the title backport std integer comparison functions to C++11 backport std integer comparison functions to C++14 Nov 14, 2024
@davebayer davebayer marked this pull request as draft November 15, 2024 07:25
@miscco
Copy link
Collaborator

miscco commented Nov 15, 2024

/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.

We need to disable for C++11 now

@miscco
Copy link
Collaborator

miscco commented Nov 15, 2024

/ok to test

@miscco
Copy link
Collaborator

miscco commented Nov 17, 2024

/ok to test

Copy link
Contributor

🟨 CI finished in 4h 37m: Pass: 97%/400 | Total: 9d 20h | Avg: 35m 25s | Max: 3h 25m | Hits: 33%/21432
  • 🟨 libcudacxx: Pass: 92%/118 | Total: 1d 14h | Avg: 19m 43s | Max: 1h 12m | Hits: 50%/5042

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  91%/110 | Total:  1d 12h | Avg: 19m 41s | Max:  1h 12m | Hits:  50%/5042  
      🟩 arm64              Pass: 100%/8   | Total:  2h 40m | Avg: 20m 06s | Max: 25m 48s
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/12  | Total:  2h 23m | Avg: 11m 59s | Max: 20m 02s
      🔍 nvcc               Pass:  91%/106 | Total:  1d 12h | Avg: 20m 35s | Max:  1h 12m | Hits:  50%/5042  
    🟨 ctk
      🟨 11.1               Pass:  66%/15  | Total:  4h 41m | Avg: 18m 45s | Max: 36m 04s
      🟩 11.8               Pass: 100%/3   | Total:  1h 15m | Avg: 25m 04s | Max: 27m 17s
      🟩 12.5               Pass: 100%/4   | Total:  2h 22m | Avg: 35m 30s | Max: 44m 10s
      🟨 12.6               Pass:  95%/96  | Total:  1d 06h | Avg: 19m 02s | Max:  1h 12m | Hits:  50%/5042  
    🟨 cudacxx
      🟩 ClangCUDA18        Pass: 100%/12  | Total:  2h 23m | Avg: 11m 59s | Max: 20m 02s
      🟨 nvcc11.1           Pass:  66%/15  | Total:  4h 41m | Avg: 18m 45s | Max: 36m 04s
      🟩 nvcc11.8           Pass: 100%/3   | Total:  1h 15m | Avg: 25m 04s | Max: 27m 17s
      🟩 nvcc12.5           Pass: 100%/4   | Total:  2h 22m | Avg: 35m 30s | Max: 44m 10s
      🟨 nvcc12.6           Pass:  95%/84  | Total:  1d 04h | Avg: 20m 03s | Max:  1h 12m | Hits:  50%/5042  
    🟨 cxx
      🟨 Clang9             Pass:  83%/6   | Total:  2h 02m | Avg: 20m 20s | Max: 29m 44s
      🟩 Clang10            Pass: 100%/3   | Total:  1h 10m | Avg: 23m 37s | Max: 31m 52s
      🟩 Clang11            Pass: 100%/4   | Total:  1h 12m | Avg: 18m 12s | Max: 25m 34s
      🟩 Clang12            Pass: 100%/4   | Total:  1h 13m | Avg: 18m 29s | Max: 27m 43s
      🟩 Clang13            Pass: 100%/4   | Total: 53m 45s | Avg: 13m 26s | Max: 14m 23s
      🟩 Clang14            Pass: 100%/4   | Total:  1h 16m | Avg: 19m 00s | Max: 25m 41s
      🟩 Clang15            Pass: 100%/4   | Total:  1h 26m | Avg: 21m 38s | Max: 29m 33s
      🟩 Clang16            Pass: 100%/4   | Total:  1h 11m | Avg: 17m 54s | Max: 26m 53s
      🟩 Clang17            Pass: 100%/4   | Total:  1h 22m | Avg: 20m 43s | Max: 36m 41s
      🟩 Clang18            Pass: 100%/18  | Total:  4h 18m | Avg: 14m 21s | Max: 25m 20s
      🟩 GCC6               Pass: 100%/2   | Total: 32m 51s | Avg: 16m 25s | Max: 22m 12s
      🟨 GCC7               Pass:  83%/6   | Total:  1h 38m | Avg: 16m 28s | Max: 22m 38s
      🟨 GCC8               Pass:  83%/6   | Total:  1h 43m | Avg: 17m 17s | Max: 21m 01s
      🟨 GCC9               Pass:  83%/6   | Total:  2h 02m | Avg: 20m 21s | Max: 26m 25s
      🟩 GCC10              Pass: 100%/4   | Total:  1h 21m | Avg: 20m 15s | Max: 31m 04s
      🟩 GCC11              Pass: 100%/7   | Total:  2h 52m | Avg: 24m 37s | Max: 28m 22s
      🟩 GCC12              Pass: 100%/4   | Total:  1h 11m | Avg: 17m 49s | Max: 28m 54s
      🟨 GCC13              Pass:  82%/17  | Total:  5h 30m | Avg: 19m 25s | Max:  1h 12m
      🟩 Intel2023.2.0      Pass: 100%/3   | Total: 54m 47s | Avg: 18m 15s | Max: 21m 59s
      🟥 MSVC14.16          Pass:   0%/1   | Total: 36m 04s | Avg: 36m 04s | Max: 36m 04s
      🟨 MSVC14.29          Pass:  50%/2   | Total:  1h 06m | Avg: 33m 22s | Max: 41m 47s | Hits:  73%/2448  
      🟩 MSVC14.39          Pass: 100%/1   | Total: 46m 18s | Avg: 46m 18s | Max: 46m 18s | Hits:  28%/2594  
      🟩 NVHPC24.7          Pass: 100%/4   | Total:  2h 22m | Avg: 35m 30s | Max: 44m 10s
    🟨 cxx_family
      🟨 Clang              Pass:  98%/55  | Total: 16h 08m | Avg: 17m 36s | Max: 36m 41s
      🟨 GCC                Pass:  88%/52  | Total: 16h 52m | Avg: 19m 28s | Max:  1h 12m
      🟩 Intel              Pass: 100%/3   | Total: 54m 47s | Avg: 18m 15s | Max: 21m 59s
      🟨 MSVC               Pass:  50%/4   | Total:  2h 29m | Avg: 37m 16s | Max: 46m 18s | Hits:  50%/5042  
      🟩 NVHPC              Pass: 100%/4   | Total:  2h 22m | Avg: 35m 30s | Max: 44m 10s
    🟨 jobs
      🟨 Build              Pass:  94%/110 | Total:  1d 11h | Avg: 19m 28s | Max: 46m 18s | Hits:  50%/5042  
      🟨 NVRTC              Pass:  25%/4   | Total:  1h 01m | Avg: 15m 17s | Max: 16m 42s
      🟩 Test               Pass: 100%/3   | Total:  2h 02m | Avg: 40m 46s | Max:  1h 12m
      🟩 VerifyCodegen      Pass: 100%/1   | Total:  1m 52s | Avg:  1m 52s | Max:  1m 52s
    🟨 std
      🟩 11                 Pass: 100%/32  | Total:  9h 04m | Avg: 17m 01s | Max: 31m 24s
      🟨 14                 Pass:  90%/32  | Total:  9h 43m | Avg: 18m 14s | Max: 41m 47s
      🟨 17                 Pass:  83%/30  | Total: 10h 03m | Avg: 20m 06s | Max: 37m 12s | Hits:  73%/2448  
      🟨 20                 Pass:  95%/23  | Total:  9h 53m | Avg: 25m 48s | Max:  1h 12m | Hits:  28%/2594  
    🟨 gpu
      🟨 v100               Pass:  92%/118 | Total:  1d 14h | Avg: 19m 43s | Max:  1h 12m | Hits:  50%/5042  
    🟩 sm
      🟩 60;70;80;90        Pass: 100%/3   | Total:  1h 15m | Avg: 25m 04s | Max: 27m 17s
      🟩 90                 Pass: 100%/4   | Total: 40m 51s | Avg: 10m 12s | Max: 11m 49s
      🟩 90a                Pass: 100%/8   | Total:  1h 16m | Avg:  9m 31s | Max: 11m 44s
    
  • 🟨 cub: Pass: 99%/110 | Total: 4d 06h | Avg: 55m 45s | Max: 1h 42m | Hits: 3%/2964

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  99%/102 | Total:  3d 22h | Avg: 55m 29s | Max:  1h 42m | Hits:   3%/2964  
      🟩 arm64              Pass: 100%/8   | Total:  7h 53m | Avg: 59m 08s | Max:  1h 05m
    🔍 ctk: 12.6 🔍
      🟩 11.1               Pass: 100%/15  | Total: 12h 38m | Avg: 50m 33s | Max:  1h 06m | Hits:   3%/741   
      🟩 11.8               Pass: 100%/3   | Total:  3h 36m | Avg:  1h 12m | Max:  1h 14m
      🟩 12.5               Pass: 100%/4   | Total:  4h 47m | Avg:  1h 11m | Max:  1h 24m
      🔍 12.6               Pass:  98%/88  | Total:  3d 09h | Avg: 55m 20s | Max:  1h 42m | Hits:   3%/2223  
    🔍 cudacxx: nvcc12.6 🔍
      🟩 ClangCUDA18        Pass: 100%/4   | Total:  3h 49m | Avg: 57m 18s | Max: 59m 57s
      🟩 nvcc11.1           Pass: 100%/15  | Total: 12h 38m | Avg: 50m 33s | Max:  1h 06m | Hits:   3%/741   
      🟩 nvcc11.8           Pass: 100%/3   | Total:  3h 36m | Avg:  1h 12m | Max:  1h 14m
      🟩 nvcc12.5           Pass: 100%/4   | Total:  4h 47m | Avg:  1h 11m | Max:  1h 24m
      🔍 nvcc12.6           Pass:  98%/84  | Total:  3d 05h | Avg: 55m 14s | Max:  1h 42m | Hits:   3%/2223  
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/4   | Total:  3h 49m | Avg: 57m 18s | Max: 59m 57s
      🔍 nvcc               Pass:  99%/106 | Total:  4d 02h | Avg: 55m 41s | Max:  1h 42m | Hits:   3%/2964  
    🔍 cxx: GCC13 🔍
      🟩 Clang9             Pass: 100%/6   | Total:  5h 22m | Avg: 53m 47s | Max:  1h 02m
      🟩 Clang10            Pass: 100%/3   | Total:  2h 53m | Avg: 57m 45s | Max:  1h 03m
      🟩 Clang11            Pass: 100%/4   | Total:  3h 42m | Avg: 55m 35s | Max: 56m 08s
      🟩 Clang12            Pass: 100%/4   | Total:  3h 51m | Avg: 57m 54s | Max:  1h 01m
      🟩 Clang13            Pass: 100%/4   | Total:  3h 46m | Avg: 56m 32s | Max: 57m 21s
      🟩 Clang14            Pass: 100%/4   | Total:  3h 40m | Avg: 55m 09s | Max: 57m 14s
      🟩 Clang15            Pass: 100%/4   | Total:  4h 19m | Avg:  1h 04m | Max:  1h 15m
      🟩 Clang16            Pass: 100%/4   | Total:  3h 46m | Avg: 56m 33s | Max:  1h 01m
      🟩 Clang17            Pass: 100%/4   | Total:  3h 52m | Avg: 58m 09s | Max:  1h 01m
      🟩 Clang18            Pass: 100%/11  | Total:  9h 53m | Avg: 53m 55s | Max:  1h 05m
      🟩 GCC6               Pass: 100%/2   | Total:  1h 53m | Avg: 56m 37s | Max:  1h 06m
      🟩 GCC7               Pass: 100%/6   | Total:  5h 24m | Avg: 54m 00s | Max:  1h 14m
      🟩 GCC8               Pass: 100%/6   | Total:  5h 19m | Avg: 53m 11s | Max: 59m 21s
      🟩 GCC9               Pass: 100%/6   | Total:  5h 23m | Avg: 53m 56s | Max:  1h 01m
      🟩 GCC10              Pass: 100%/4   | Total:  3h 47m | Avg: 56m 48s | Max: 58m 17s
      🟩 GCC11              Pass: 100%/7   | Total:  7h 15m | Avg:  1h 02m | Max:  1h 14m
      🟩 GCC12              Pass: 100%/4   | Total:  3h 42m | Avg: 55m 36s | Max: 56m 44s
      🔍 GCC13              Pass:  93%/16  | Total: 12h 02m | Avg: 45m 07s | Max:  1h 42m
      🟩 Intel2023.2.0      Pass: 100%/3   | Total:  3h 06m | Avg:  1h 02m | Max:  1h 05m
      🟩 MSVC14.16          Pass: 100%/1   | Total: 55m 39s | Avg: 55m 39s | Max: 55m 39s | Hits:   3%/741   
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 12m | Avg:  1h 06m | Max:  1h 11m | Hits:   3%/1482  
      🟩 MSVC14.39          Pass: 100%/1   | Total:  1h 13m | Avg:  1h 13m | Max:  1h 13m | Hits:   3%/741   
      🟩 NVHPC24.7          Pass: 100%/4   | Total:  4h 47m | Avg:  1h 11m | Max:  1h 24m
    🔍 cxx_family: GCC 🔍
      🟩 Clang              Pass: 100%/48  | Total:  1d 21h | Avg: 56m 25s | Max:  1h 15m
      🔍 GCC                Pass:  98%/51  | Total:  1d 20h | Avg: 52m 41s | Max:  1h 42m
      🟩 Intel              Pass: 100%/3   | Total:  3h 06m | Avg:  1h 02m | Max:  1h 05m
      🟩 MSVC               Pass: 100%/4   | Total:  4h 21m | Avg:  1h 05m | Max:  1h 13m | Hits:   3%/2964  
      🟩 NVHPC              Pass: 100%/4   | Total:  4h 47m | Avg:  1h 11m | Max:  1h 24m
    🔍 jobs: TestGPU 🔍
      🟩 Build              Pass: 100%/102 | Total:  4d 00h | Avg: 56m 49s | Max:  1h 24m | Hits:   3%/2964  
      🟩 DeviceLaunch       Pass: 100%/1   | Total: 27m 03s | Avg: 27m 03s | Max: 27m 03s
      🟩 GraphCapture       Pass: 100%/1   | Total: 14m 51s | Avg: 14m 51s | Max: 14m 51s
      🟩 HostLaunch         Pass: 100%/3   | Total:  2h 44m | Avg: 54m 54s | Max:  1h 37m
      🔍 TestGPU            Pass:  66%/3   | Total:  2h 09m | Avg: 43m 18s | Max:  1h 42m
    🔍 std: 20 🔍
      🟩 11                 Pass: 100%/30  | Total:  1d 05h | Avg: 59m 18s | Max:  1h 42m
      🟩 14                 Pass: 100%/29  | Total:  1d 03h | Avg: 56m 58s | Max:  1h 14m | Hits:   3%/1482  
      🟩 17                 Pass: 100%/27  | Total:  1d 01h | Avg: 56m 25s | Max:  1h 11m | Hits:   3%/741   
      🔍 20                 Pass:  95%/24  | Total: 19h 37m | Avg: 49m 03s | Max:  1h 13m | Hits:   3%/741   
    🟨 gpu
      🟨 v100               Pass:  99%/110 | Total:  4d 06h | Avg: 55m 45s | Max:  1h 42m | Hits:   3%/2964  
    🟩 sm
      🟩 60;70;80;90        Pass: 100%/3   | Total:  3h 36m | Avg:  1h 12m | Max:  1h 14m
      🟩 90a                Pass: 100%/4   | Total:  1h 44m | Avg: 26m 04s | Max: 31m 41s
    
  • 🟩 thrust: Pass: 100%/109 | Total: 3d 09h | Avg: 44m 58s | Max: 3h 25m | Hits: 33%/13180

    🟩 cpu
      🟩 amd64              Pass: 100%/101 | Total:  3d 04h | Avg: 45m 21s | Max:  3h 25m | Hits:  33%/13180 
      🟩 arm64              Pass: 100%/8   | Total:  5h 21m | Avg: 40m 09s | Max: 47m 47s
    🟩 ctk
      🟩 11.1               Pass: 100%/15  | Total: 10h 06m | Avg: 40m 25s | Max:  1h 11m | Hits:  16%/2636  
      🟩 11.8               Pass: 100%/3   | Total:  2h 36m | Avg: 52m 13s | Max: 59m 22s
      🟩 12.5               Pass: 100%/4   | Total:  5h 58m | Avg:  1h 29m | Max:  1h 46m
      🟩 12.6               Pass: 100%/87  | Total:  2d 15h | Avg: 43m 27s | Max:  3h 25m | Hits:  37%/10544 
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/4   | Total:  2h 12m | Avg: 33m 10s | Max: 36m 09s
      🟩 nvcc11.1           Pass: 100%/15  | Total: 10h 06m | Avg: 40m 25s | Max:  1h 11m | Hits:  16%/2636  
      🟩 nvcc11.8           Pass: 100%/3   | Total:  2h 36m | Avg: 52m 13s | Max: 59m 22s
      🟩 nvcc12.5           Pass: 100%/4   | Total:  5h 58m | Avg:  1h 29m | Max:  1h 46m
      🟩 nvcc12.6           Pass: 100%/83  | Total:  2d 12h | Avg: 43m 57s | Max:  3h 25m | Hits:  37%/10544 
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/4   | Total:  2h 12m | Avg: 33m 10s | Max: 36m 09s
      🟩 nvcc               Pass: 100%/105 | Total:  3d 07h | Avg: 45m 25s | Max:  3h 25m | Hits:  33%/13180 
    🟩 cxx
      🟩 Clang9             Pass: 100%/6   | Total:  3h 55m | Avg: 39m 10s | Max: 46m 43s
      🟩 Clang10            Pass: 100%/3   | Total:  2h 15m | Avg: 45m 03s | Max: 51m 08s
      🟩 Clang11            Pass: 100%/4   | Total:  2h 54m | Avg: 43m 36s | Max: 47m 44s
      🟩 Clang12            Pass: 100%/4   | Total:  2h 49m | Avg: 42m 16s | Max: 47m 18s
      🟩 Clang13            Pass: 100%/4   | Total:  5h 42m | Avg:  1h 25m | Max:  3h 25m
      🟩 Clang14            Pass: 100%/4   | Total:  3h 02m | Avg: 45m 31s | Max: 48m 28s
      🟩 Clang15            Pass: 100%/4   | Total:  3h 00m | Avg: 45m 02s | Max: 50m 25s
      🟩 Clang16            Pass: 100%/4   | Total:  3h 06m | Avg: 46m 41s | Max:  1h 00m
      🟩 Clang17            Pass: 100%/4   | Total:  2h 59m | Avg: 44m 53s | Max: 50m 19s
      🟩 Clang18            Pass: 100%/11  | Total:  5h 58m | Avg: 32m 35s | Max: 45m 59s
      🟩 GCC6               Pass: 100%/2   | Total:  1h 14m | Avg: 37m 09s | Max: 41m 17s
      🟩 GCC7               Pass: 100%/6   | Total:  4h 01m | Avg: 40m 19s | Max: 44m 59s
      🟩 GCC8               Pass: 100%/6   | Total:  4h 02m | Avg: 40m 27s | Max: 43m 13s
      🟩 GCC9               Pass: 100%/6   | Total:  4h 13m | Avg: 42m 16s | Max: 48m 16s
      🟩 GCC10              Pass: 100%/4   | Total:  2h 53m | Avg: 43m 27s | Max: 49m 08s
      🟩 GCC11              Pass: 100%/7   | Total:  5h 32m | Avg: 47m 33s | Max: 59m 22s
      🟩 GCC12              Pass: 100%/4   | Total:  3h 13m | Avg: 48m 25s | Max: 53m 06s
      🟩 GCC13              Pass: 100%/14  | Total:  6h 46m | Avg: 29m 03s | Max: 47m 47s
      🟩 Intel2023.2.0      Pass: 100%/3   | Total:  2h 44m | Avg: 54m 43s | Max: 58m 44s
      🟩 MSVC14.16          Pass: 100%/1   | Total:  1h 11m | Avg:  1h 11m | Max:  1h 11m | Hits:  16%/2636  
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 23m | Avg:  1h 11m | Max:  1h 12m | Hits:  16%/5272  
      🟩 MSVC14.39          Pass: 100%/2   | Total:  1h 42m | Avg: 51m 08s | Max:  1h 18m | Hits:  58%/5272  
      🟩 NVHPC24.7          Pass: 100%/4   | Total:  5h 58m | Avg:  1h 29m | Max:  1h 46m
    🟩 cxx_family
      🟩 Clang              Pass: 100%/48  | Total:  1d 11h | Avg: 44m 38s | Max:  3h 25m
      🟩 GCC                Pass: 100%/49  | Total:  1d 07h | Avg: 39m 10s | Max: 59m 22s
      🟩 Intel              Pass: 100%/3   | Total:  2h 44m | Avg: 54m 43s | Max: 58m 44s
      🟩 MSVC               Pass: 100%/5   | Total:  5h 17m | Avg:  1h 03m | Max:  1h 18m | Hits:  33%/13180 
      🟩 NVHPC              Pass: 100%/4   | Total:  5h 58m | Avg:  1h 29m | Max:  1h 46m
    🟩 gpu
      🟩 v100               Pass: 100%/109 | Total:  3d 09h | Avg: 44m 58s | Max:  3h 25m | Hits:  33%/13180 
    🟩 jobs
      🟩 Build              Pass: 100%/102 | Total:  3d 08h | Avg: 47m 05s | Max:  3h 25m | Hits:  16%/10544 
      🟩 TestCPU            Pass: 100%/4   | Total: 50m 04s | Avg: 12m 31s | Max: 23m 56s | Hits:  99%/2636  
      🟩 TestGPU            Pass: 100%/3   | Total: 48m 11s | Avg: 16m 03s | Max: 17m 58s
    🟩 sm
      🟩 60;70;80;90        Pass: 100%/3   | Total:  2h 36m | Avg: 52m 13s | Max: 59m 22s
      🟩 90a                Pass: 100%/4   | Total:  1h 52m | Avg: 28m 01s | Max: 30m 17s
    🟩 std
      🟩 11                 Pass: 100%/30  | Total: 17h 55m | Avg: 35m 51s | Max:  1h 12m
      🟩 14                 Pass: 100%/29  | Total:  1d 01h | Avg: 51m 52s | Max:  3h 25m | Hits:  16%/5272  
      🟩 17                 Pass: 100%/27  | Total: 22h 03m | Avg: 49m 00s | Max:  1h 46m | Hits:  16%/2636  
      🟩 20                 Pass: 100%/23  | Total: 16h 39m | Avg: 43m 26s | Max:  1h 34m | Hits:  58%/5272  
    
  • 🟩 cudax: Pass: 100%/54 | Total: 12h 33m | Avg: 13m 57s | Max: 18m 44s | Hits: 41%/246

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

    🟩 cpu
      🟩 amd64              Pass: 100%/6   | Total: 29m 14s | Avg:  4m 52s | Max:  5m 21s
    🟩 ctk
      🟩 11.1               Pass: 100%/2   | Total:  8m 19s | Avg:  4m 09s | Max:  4m 27s
      🟩 12.0               Pass: 100%/2   | Total: 10m 26s | Avg:  5m 13s | Max:  5m 21s
      🟩 12.6               Pass: 100%/2   | Total: 10m 29s | Avg:  5m 14s | Max:  5m 21s
    🟩 cudacxx
      🟩 nvcc11.1           Pass: 100%/2   | Total:  8m 19s | Avg:  4m 09s | Max:  4m 27s
      🟩 nvcc12.0           Pass: 100%/2   | Total: 10m 26s | Avg:  5m 13s | Max:  5m 21s
      🟩 nvcc12.6           Pass: 100%/2   | Total: 10m 29s | Avg:  5m 14s | Max:  5m 21s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/6   | Total: 29m 14s | Avg:  4m 52s | Max:  5m 21s
    🟩 cxx
      🟩 Clang9             Pass: 100%/1   | Total:  4m 27s | Avg:  4m 27s | Max:  4m 27s
      🟩 Clang14            Pass: 100%/1   | Total:  5m 21s | Avg:  5m 21s | Max:  5m 21s
      🟩 Clang18            Pass: 100%/1   | Total:  5m 21s | Avg:  5m 21s | Max:  5m 21s
      🟩 GCC6               Pass: 100%/1   | Total:  3m 52s | Avg:  3m 52s | Max:  3m 52s
      🟩 GCC12              Pass: 100%/1   | Total:  5m 05s | Avg:  5m 05s | Max:  5m 05s
      🟩 GCC13              Pass: 100%/1   | Total:  5m 08s | Avg:  5m 08s | Max:  5m 08s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/3   | Total: 15m 09s | Avg:  5m 03s | Max:  5m 21s
      🟩 GCC                Pass: 100%/3   | Total: 14m 05s | Avg:  4m 41s | Max:  5m 08s
    🟩 gpu
      🟩 v100               Pass: 100%/6   | Total: 29m 14s | Avg:  4m 52s | Max:  5m 21s
    🟩 jobs
      🟩 Infra              Pass: 100%/6   | Total: 29m 14s | Avg:  4m 52s | Max:  5m 21s
    
  • 🟩 cccl_c_parallel: Pass: 100%/2 | Total: 9m 04s | Avg: 4m 32s | Max: 6m 48s

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total:  9m 04s | Avg:  4m 32s | Max:  6m 48s
    🟩 ctk
      🟩 12.6               Pass: 100%/2   | Total:  9m 04s | Avg:  4m 32s | Max:  6m 48s
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/2   | Total:  9m 04s | Avg:  4m 32s | Max:  6m 48s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total:  9m 04s | Avg:  4m 32s | Max:  6m 48s
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total:  9m 04s | Avg:  4m 32s | Max:  6m 48s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total:  9m 04s | Avg:  4m 32s | Max:  6m 48s
    🟩 gpu
      🟩 v100               Pass: 100%/2   | Total:  9m 04s | Avg:  4m 32s | Max:  6m 48s
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  2m 16s | Avg:  2m 16s | Max:  2m 16s
      🟩 Test               Pass: 100%/1   | Total:  6m 48s | Avg:  6m 48s | Max:  6m 48s
    
  • 🟩 python: Pass: 100%/1 | Total: 14m 50s | Avg: 14m 50s | Max: 14m 50s

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

👃 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: 400)

# Runner
326 linux-amd64-cpu16
31 linux-amd64-gpu-v100-latest-1
28 linux-arm64-cpu16
15 windows-amd64-cpu16

We have emulation for concepts in LIBCUDACXX that was guarded behind C++14

But there is nothing that requires C++14 for just the template headers and we want to use them universally throughout the codebase

Consequently move them to CCCL proper and enable them unconditionally. To ensure that we do not add any hidden dependencies this also adds a barebones implementation of `enable_if_t` and a trailing `enable_if_t`
@miscco
Copy link
Collaborator

miscco commented Nov 18, 2024

/ok to test

@miscco miscco marked this pull request as ready for review November 18, 2024 07:26
@miscco miscco requested a review from a team as a code owner November 18, 2024 07:26
@miscco
Copy link
Collaborator

miscco commented Nov 18, 2024

/ok to test

Copy link
Contributor

🟨 CI finished in 2h 11m: Pass: 95%/400 | Total: 8d 11h | Avg: 30m 31s | Max: 1h 40m | Hits: 33%/21432
  • 🟨 libcudacxx: Pass: 94%/118 | Total: 1d 12h | Avg: 18m 31s | Max: 1h 13m | Hits: 52%/5042

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

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  96%/102 | Total:  3d 04h | Avg: 44m 44s | Max:  1h 19m | Hits:   3%/2964  
      🟩 arm64              Pass: 100%/8   | Total:  5h 51m | Avg: 43m 57s | Max: 54m 30s
    🔍 ctk: 12.6 🔍
      🟩 11.1               Pass: 100%/15  | Total: 12h 43m | Avg: 50m 52s | Max: 59m 53s | Hits:   3%/741   
      🟩 11.8               Pass: 100%/3   | Total:  3h 49m | Avg:  1h 16m | Max:  1h 19m
      🟩 12.5               Pass: 100%/4   | Total:  4h 48m | Avg:  1h 12m | Max:  1h 13m
      🔍 12.6               Pass:  95%/88  | Total:  2d 12h | Avg: 41m 18s | Max:  1h 12m | Hits:   3%/2223  
    🔍 cudacxx: nvcc12.6 🔍
      🟩 ClangCUDA18        Pass: 100%/4   | Total:  3h 23m | Avg: 50m 50s | Max: 52m 40s
      🟩 nvcc11.1           Pass: 100%/15  | Total: 12h 43m | Avg: 50m 52s | Max: 59m 53s | Hits:   3%/741   
      🟩 nvcc11.8           Pass: 100%/3   | Total:  3h 49m | Avg:  1h 16m | Max:  1h 19m
      🟩 nvcc12.5           Pass: 100%/4   | Total:  4h 48m | Avg:  1h 12m | Max:  1h 13m
      🔍 nvcc12.6           Pass:  95%/84  | Total:  2d 09h | Avg: 40m 50s | Max:  1h 12m | Hits:   3%/2223  
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/4   | Total:  3h 23m | Avg: 50m 50s | Max: 52m 40s
      🔍 nvcc               Pass:  96%/106 | Total:  3d 06h | Avg: 44m 27s | Max:  1h 19m | Hits:   3%/2964  
    🔍 std: 20 🔍
      🟩 11                 Pass: 100%/30  | Total: 22h 33m | Avg: 45m 07s | Max:  1h 19m
      🟩 14                 Pass: 100%/29  | Total: 22h 53m | Avg: 47m 21s | Max:  1h 14m | Hits:   3%/1482  
      🟩 17                 Pass: 100%/27  | Total: 21h 31m | Avg: 47m 49s | Max:  1h 15m | Hits:   3%/741   
      🔍 20                 Pass:  83%/24  | Total: 14h 57m | Avg: 37m 22s | Max:  1h 13m | Hits:   3%/741   
    🟨 cxx
      🟩 Clang9             Pass: 100%/6   | Total:  5h 17m | Avg: 52m 50s | Max: 58m 46s
      🟩 Clang10            Pass: 100%/3   | Total:  2h 42m | Avg: 54m 19s | Max: 55m 10s
      🟩 Clang11            Pass: 100%/4   | Total:  3h 37m | Avg: 54m 16s | Max: 57m 17s
      🟩 Clang12            Pass: 100%/4   | Total:  3h 36m | Avg: 54m 07s | Max: 57m 08s
      🟩 Clang13            Pass: 100%/4   | Total:  3h 31m | Avg: 52m 57s | Max: 59m 28s
      🟩 Clang14            Pass: 100%/4   | Total:  2h 32m | Avg: 38m 05s | Max: 39m 29s
      🟩 Clang15            Pass: 100%/4   | Total:  2h 28m | Avg: 37m 07s | Max: 38m 00s
      🟩 Clang16            Pass: 100%/4   | Total:  2h 25m | Avg: 36m 25s | Max: 37m 41s
      🟩 Clang17            Pass: 100%/4   | Total:  2h 29m | Avg: 37m 26s | Max: 39m 32s
      🟨 Clang18            Pass:  81%/11  | Total:  7h 08m | Avg: 38m 59s | Max: 52m 40s
      🟩 GCC6               Pass: 100%/2   | Total:  1h 40m | Avg: 50m 12s | Max: 50m 39s
      🟩 GCC7               Pass: 100%/6   | Total:  4h 43m | Avg: 47m 11s | Max: 56m 31s
      🟩 GCC8               Pass: 100%/6   | Total:  4h 22m | Avg: 43m 41s | Max: 51m 16s
      🟩 GCC9               Pass: 100%/6   | Total:  4h 35m | Avg: 45m 52s | Max: 53m 42s
      🟩 GCC10              Pass: 100%/4   | Total:  2h 53m | Avg: 43m 26s | Max: 57m 34s
      🟩 GCC11              Pass: 100%/7   | Total:  6h 21m | Avg: 54m 26s | Max:  1h 19m
      🟩 GCC12              Pass: 100%/4   | Total:  2h 34m | Avg: 38m 34s | Max: 40m 25s
      🟨 GCC13              Pass:  87%/16  | Total:  6h 40m | Avg: 25m 03s | Max: 54m 30s
      🟩 Intel2023.2.0      Pass: 100%/3   | Total:  3h 02m | Avg:  1h 00m | Max:  1h 04m
      🟩 MSVC14.16          Pass: 100%/1   | Total: 59m 53s | Avg: 59m 53s | Max: 59m 53s | Hits:   3%/741   
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 10m | Avg:  1h 05m | Max:  1h 05m | Hits:   3%/1482  
      🟩 MSVC14.39          Pass: 100%/1   | Total:  1h 12m | Avg:  1h 12m | Max:  1h 12m | Hits:   3%/741   
      🟩 NVHPC24.7          Pass: 100%/4   | Total:  4h 48m | Avg:  1h 12m | Max:  1h 13m
    🟨 cxx_family
      🟨 Clang              Pass:  95%/48  | Total:  1d 11h | Avg: 44m 48s | Max: 59m 28s
      🟨 GCC                Pass:  96%/51  | Total:  1d 09h | Avg: 39m 49s | Max:  1h 19m
      🟩 Intel              Pass: 100%/3   | Total:  3h 02m | Avg:  1h 00m | Max:  1h 04m
      🟩 MSVC               Pass: 100%/4   | Total:  4h 22m | Avg:  1h 05m | Max:  1h 12m | Hits:   3%/2964  
      🟩 NVHPC              Pass: 100%/4   | Total:  4h 48m | Avg:  1h 12m | Max:  1h 13m
    🟨 jobs
      🟩 Build              Pass: 100%/102 | Total:  3d 07h | Avg: 46m 51s | Max:  1h 19m | Hits:   3%/2964  
      🟥 DeviceLaunch       Pass:   0%/1   | Total: 13m 36s | Avg: 13m 36s | Max: 13m 36s
      🟩 GraphCapture       Pass: 100%/1   | Total: 19m 39s | Avg: 19m 39s | Max: 19m 39s
      🟨 HostLaunch         Pass:  66%/3   | Total: 55m 02s | Avg: 18m 20s | Max: 28m 41s
      🟨 TestGPU            Pass:  33%/3   | Total: 47m 31s | Avg: 15m 50s | Max: 28m 39s
    🟨 gpu
      🟨 v100               Pass:  96%/110 | Total:  3d 09h | Avg: 44m 41s | Max:  1h 19m | Hits:   3%/2964  
    🟩 sm
      🟩 60;70;80;90        Pass: 100%/3   | Total:  3h 49m | Avg:  1h 16m | Max:  1h 19m
      🟩 90a                Pass: 100%/4   | Total: 15m 59s | Avg:  3m 59s | Max:  4m 13s
    
  • 🟨 cccl: Pass: 50%/6 | Total: 27m 32s | Avg: 4m 35s | Max: 5m 14s

    🟨 ctk
      🟩 11.1               Pass: 100%/2   | Total:  7m 34s | Avg:  3m 47s | Max:  4m 08s
      🟨 12.0               Pass:  50%/2   | Total: 10m 19s | Avg:  5m 09s | Max:  5m 14s
      🟥 12.6               Pass:   0%/2   | Total:  9m 39s | Avg:  4m 49s | Max:  5m 13s
    🟨 cudacxx
      🟩 nvcc11.1           Pass: 100%/2   | Total:  7m 34s | Avg:  3m 47s | Max:  4m 08s
      🟨 nvcc12.0           Pass:  50%/2   | Total: 10m 19s | Avg:  5m 09s | Max:  5m 14s
      🟥 nvcc12.6           Pass:   0%/2   | Total:  9m 39s | Avg:  4m 49s | Max:  5m 13s
    🟨 cxx
      🟩 Clang9             Pass: 100%/1   | Total:  4m 08s | Avg:  4m 08s | Max:  4m 08s
      🟩 Clang14            Pass: 100%/1   | Total:  5m 05s | Avg:  5m 05s | Max:  5m 05s
      🟥 Clang18            Pass:   0%/1   | Total:  5m 13s | Avg:  5m 13s | Max:  5m 13s
      🟩 GCC6               Pass: 100%/1   | Total:  3m 26s | Avg:  3m 26s | Max:  3m 26s
      🟥 GCC12              Pass:   0%/1   | Total:  5m 14s | Avg:  5m 14s | Max:  5m 14s
      🟥 GCC13              Pass:   0%/1   | Total:  4m 26s | Avg:  4m 26s | Max:  4m 26s
    🟨 cpu
      🟨 amd64              Pass:  50%/6   | Total: 27m 32s | Avg:  4m 35s | Max:  5m 14s
    🟨 cudacxx_family
      🟨 nvcc               Pass:  50%/6   | Total: 27m 32s | Avg:  4m 35s | Max:  5m 14s
    🟨 gpu
      🟨 v100               Pass:  50%/6   | Total: 27m 32s | Avg:  4m 35s | Max:  5m 14s
    🟨 jobs
      🟨 Infra              Pass:  50%/6   | Total: 27m 32s | Avg:  4m 35s | Max:  5m 14s
    🟨 cxx_family
      🟨 Clang              Pass:  66%/3   | Total: 14m 26s | Avg:  4m 48s | Max:  5m 13s
      🟨 GCC                Pass:  33%/3   | Total: 13m 06s | Avg:  4m 22s | Max:  5m 14s
    
  • 🟨 thrust: Pass: 98%/109 | Total: 3d 04h | Avg: 42m 22s | Max: 1h 40m | Hits: 33%/13180

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  98%/101 | Total:  2d 23h | Avg: 42m 34s | Max:  1h 40m | Hits:  33%/13180 
      🟩 arm64              Pass: 100%/8   | Total:  5h 17m | Avg: 39m 43s | Max: 47m 20s
    🔍 ctk: 12.6 🔍
      🟩 11.1               Pass: 100%/15  | Total: 10h 38m | Avg: 42m 35s | Max:  1h 40m | Hits:  16%/2636  
      🟩 11.8               Pass: 100%/3   | Total:  2h 33m | Avg: 51m 11s | Max: 54m 56s
      🟩 12.5               Pass: 100%/4   | Total:  5h 17m | Avg:  1h 19m | Max:  1h 30m
      🔍 12.6               Pass:  97%/87  | Total:  2d 10h | Avg: 40m 19s | Max:  1h 24m | Hits:  37%/10544 
    🔍 cudacxx: nvcc12.6 🔍
      🟩 ClangCUDA18        Pass: 100%/4   | Total:  2h 12m | Avg: 33m 03s | Max: 38m 36s
      🟩 nvcc11.1           Pass: 100%/15  | Total: 10h 38m | Avg: 42m 35s | Max:  1h 40m | Hits:  16%/2636  
      🟩 nvcc11.8           Pass: 100%/3   | Total:  2h 33m | Avg: 51m 11s | Max: 54m 56s
      🟩 nvcc12.5           Pass: 100%/4   | Total:  5h 17m | Avg:  1h 19m | Max:  1h 30m
      🔍 nvcc12.6           Pass:  97%/83  | Total:  2d 08h | Avg: 40m 40s | Max:  1h 24m | Hits:  37%/10544 
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/4   | Total:  2h 12m | Avg: 33m 03s | Max: 38m 36s
      🔍 nvcc               Pass:  98%/105 | Total:  3d 02h | Avg: 42m 43s | Max:  1h 40m | Hits:  33%/13180 
    🔍 cxx: GCC13 🔍
      🟩 Clang9             Pass: 100%/6   | Total:  4h 03m | Avg: 40m 30s | Max: 47m 11s
      🟩 Clang10            Pass: 100%/3   | Total:  2h 16m | Avg: 45m 35s | Max: 50m 03s
      🟩 Clang11            Pass: 100%/4   | Total:  2h 54m | Avg: 43m 34s | Max: 56m 41s
      🟩 Clang12            Pass: 100%/4   | Total:  2h 48m | Avg: 42m 13s | Max: 47m 53s
      🟩 Clang13            Pass: 100%/4   | Total:  2h 45m | Avg: 41m 24s | Max: 48m 42s
      🟩 Clang14            Pass: 100%/4   | Total:  2h 51m | Avg: 42m 52s | Max: 45m 21s
      🟩 Clang15            Pass: 100%/4   | Total:  2h 51m | Avg: 42m 53s | Max: 46m 09s
      🟩 Clang16            Pass: 100%/4   | Total:  2h 51m | Avg: 42m 47s | Max: 48m 04s
      🟩 Clang17            Pass: 100%/4   | Total:  2h 50m | Avg: 42m 31s | Max: 45m 44s
      🟩 Clang18            Pass: 100%/11  | Total:  5h 53m | Avg: 32m 06s | Max: 42m 14s
      🟩 GCC6               Pass: 100%/2   | Total:  1h 10m | Avg: 35m 24s | Max: 40m 01s
      🟩 GCC7               Pass: 100%/6   | Total:  3h 56m | Avg: 39m 28s | Max: 45m 37s
      🟩 GCC8               Pass: 100%/6   | Total:  3h 59m | Avg: 39m 57s | Max: 43m 56s
      🟩 GCC9               Pass: 100%/6   | Total:  4h 10m | Avg: 41m 49s | Max: 49m 29s
      🟩 GCC10              Pass: 100%/4   | Total:  2h 42m | Avg: 40m 33s | Max: 44m 32s
      🟩 GCC11              Pass: 100%/7   | Total:  5h 28m | Avg: 46m 53s | Max: 54m 56s
      🟩 GCC12              Pass: 100%/4   | Total:  3h 04m | Avg: 46m 02s | Max: 50m 34s
      🔍 GCC13              Pass:  85%/14  | Total:  6h 28m | Avg: 27m 44s | Max: 47m 20s
      🟩 Intel2023.2.0      Pass: 100%/3   | Total:  2h 40m | Avg: 53m 26s | Max: 57m 46s
      🟩 MSVC14.16          Pass: 100%/1   | Total:  1h 40m | Avg:  1h 40m | Max:  1h 40m | Hits:  16%/2636  
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 25m | Avg:  1h 12m | Max:  1h 17m | Hits:  16%/5272  
      🟩 MSVC14.39          Pass: 100%/2   | Total:  1h 47m | Avg: 53m 32s | Max:  1h 24m | Hits:  58%/5272  
      🟩 NVHPC24.7          Pass: 100%/4   | Total:  5h 17m | Avg:  1h 19m | Max:  1h 30m
    🔍 cxx_family: GCC 🔍
      🟩 Clang              Pass: 100%/48  | Total:  1d 08h | Avg: 40m 07s | Max: 56m 41s
      🔍 GCC                Pass:  95%/49  | Total:  1d 07h | Avg: 37m 59s | Max: 54m 56s
      🟩 Intel              Pass: 100%/3   | Total:  2h 40m | Avg: 53m 26s | Max: 57m 46s
      🟩 MSVC               Pass: 100%/5   | Total:  5h 53m | Avg:  1h 10m | Max:  1h 40m | Hits:  33%/13180 
      🟩 NVHPC              Pass: 100%/4   | Total:  5h 17m | Avg:  1h 19m | Max:  1h 30m
    🔍 jobs: TestGPU 🔍
      🟩 Build              Pass: 100%/102 | Total:  3d 03h | Avg: 44m 27s | Max:  1h 40m | Hits:  16%/10544 
      🟩 TestCPU            Pass: 100%/4   | Total: 48m 13s | Avg: 12m 03s | Max: 23m 04s | Hits:  99%/2636  
      🔍 TestGPU            Pass:  33%/3   | Total: 35m 12s | Avg: 11m 44s | Max: 16m 48s
    🟨 std
      🟨 11                 Pass:  96%/30  | Total: 17h 08m | Avg: 34m 16s | Max:  1h 06m
      🟩 14                 Pass: 100%/29  | Total: 22h 36m | Avg: 46m 46s | Max:  1h 40m | Hits:  16%/5272  
      🟩 17                 Pass: 100%/27  | Total: 21h 10m | Avg: 47m 03s | Max:  1h 30m | Hits:  16%/2636  
      🟨 20                 Pass:  95%/23  | Total: 16h 03m | Avg: 41m 52s | Max:  1h 25m | Hits:  58%/5272  
    🟨 gpu
      🟨 v100               Pass:  98%/109 | Total:  3d 04h | Avg: 42m 22s | Max:  1h 40m | Hits:  33%/13180 
    🟩 sm
      🟩 60;70;80;90        Pass: 100%/3   | Total:  2h 33m | Avg: 51m 11s | Max: 54m 56s
      🟩 90a                Pass: 100%/4   | Total:  1h 50m | Avg: 27m 39s | Max: 34m 33s
    
  • 🟨 cudax: Pass: 98%/54 | Total: 7h 14m | Avg: 8m 03s | Max: 18m 57s | Hits: 44%/246

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  98%/50  | Total:  7h 04m | Avg:  8m 29s | Max: 18m 57s | Hits:  44%/246   
      🟩 arm64              Pass: 100%/4   | Total: 10m 11s | Avg:  2m 32s | Max:  2m 36s
    🔍 ctk: 12.6 🔍
      🟩 12.0               Pass: 100%/19  | Total:  4h 29m | Avg: 14m 09s | Max: 18m 26s | Hits:  44%/123   
      🟩 12.5               Pass: 100%/2   | Total: 17m 20s | Avg:  8m 40s | Max:  9m 09s
      🔍 12.6               Pass:  96%/33  | Total:  2h 28m | Avg:  4m 29s | Max: 18m 57s | Hits:  44%/123   
    🔍 cudacxx: nvcc12.6 🔍
      🟩 nvcc12.0           Pass: 100%/19  | Total:  4h 29m | Avg: 14m 09s | Max: 18m 26s | Hits:  44%/123   
      🟩 nvcc12.5           Pass: 100%/2   | Total: 17m 20s | Avg:  8m 40s | Max:  9m 09s
      🔍 nvcc12.6           Pass:  96%/33  | Total:  2h 28m | Avg:  4m 29s | Max: 18m 57s | Hits:  44%/123   
    🔍 cxx: GCC12 🔍
      🟩 Clang9             Pass: 100%/2   | Total: 20m 33s | Avg: 10m 16s | Max: 16m 33s
      🟩 Clang10            Pass: 100%/2   | Total: 17m 45s | Avg:  8m 52s | Max: 13m 39s
      🟩 Clang11            Pass: 100%/4   | Total: 34m 08s | Avg:  8m 32s | Max: 13m 36s
      🟩 Clang12            Pass: 100%/4   | Total: 31m 57s | Avg:  7m 59s | Max: 12m 46s
      🟩 Clang13            Pass: 100%/4   | Total: 35m 11s | Avg:  8m 47s | Max: 14m 16s
      🟩 Clang14            Pass: 100%/4   | Total: 40m 46s | Avg: 10m 11s | Max: 17m 44s
      🟩 Clang15            Pass: 100%/2   | Total:  6m 18s | Avg:  3m 09s | Max:  3m 20s
      🟩 Clang16            Pass: 100%/4   | Total: 12m 04s | Avg:  3m 01s | Max:  3m 35s
      🟩 Clang17            Pass: 100%/2   | Total:  6m 23s | Avg:  3m 11s | Max:  3m 19s
      🟩 Clang18            Pass: 100%/2   | Total: 20m 32s | Avg: 10m 16s | Max: 17m 19s
      🟩 GCC9               Pass: 100%/2   | Total: 16m 08s | Avg:  8m 04s | Max: 13m 12s
      🟩 GCC10              Pass: 100%/4   | Total: 33m 25s | Avg:  8m 21s | Max: 13m 45s
      🟩 GCC11              Pass: 100%/4   | Total: 36m 42s | Avg:  9m 10s | Max: 15m 35s
      🔍 GCC12              Pass:  85%/7   | Total:  1h 20m | Avg: 11m 26s | Max: 18m 57s
      🟩 GCC13              Pass: 100%/3   | Total:  7m 56s | Avg:  2m 38s | Max:  2m 54s
      🟩 MSVC14.36          Pass: 100%/1   | Total:  8m 49s | Avg:  8m 49s | Max:  8m 49s | Hits:  44%/123   
      🟩 MSVC14.39          Pass: 100%/1   | Total:  8m 46s | Avg:  8m 46s | Max:  8m 46s | Hits:  44%/123   
      🟩 NVHPC24.7          Pass: 100%/2   | Total: 17m 20s | Avg:  8m 40s | Max:  9m 09s
    🔍 cxx_family: GCC 🔍
      🟩 Clang              Pass: 100%/30  | Total:  3h 45m | Avg:  7m 31s | Max: 17m 44s
      🔍 GCC                Pass:  95%/20  | Total:  2h 54m | Avg:  8m 42s | Max: 18m 57s
      🟩 MSVC               Pass: 100%/2   | Total: 17m 35s | Avg:  8m 47s | Max:  8m 49s | Hits:  44%/246   
      🟩 NVHPC              Pass: 100%/2   | Total: 17m 20s | Avg:  8m 40s | Max:  9m 09s
    🔍 jobs: Test 🔍
      🟩 Build              Pass: 100%/49  | Total:  5h 51m | Avg:  7m 10s | Max: 16m 54s | Hits:  44%/246   
      🔍 Test               Pass:  80%/5   | Total:  1h 23m | Avg: 16m 39s | Max: 18m 57s
    🔍 std: 17 🔍
      🔍 17                 Pass:  96%/29  | Total:  3h 47m | Avg:  7m 50s | Max: 18m 26s
      🟩 20                 Pass: 100%/25  | Total:  3h 27m | Avg:  8m 17s | Max: 18m 57s | Hits:  44%/246   
    🟨 cudacxx_family
      🟨 nvcc               Pass:  98%/54  | Total:  7h 14m | Avg:  8m 03s | Max: 18m 57s | Hits:  44%/246   
    🟨 gpu
      🟨 v100               Pass:  98%/54  | Total:  7h 14m | Avg:  8m 03s | Max: 18m 57s | Hits:  44%/246   
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total: 10m 21s | Avg: 10m 21s | Max: 10m 21s
      🟩 90a                Pass: 100%/1   | Total:  2m 54s | Avg:  2m 54s | Max:  2m 54s
    
  • 🟩 cccl_c_parallel: Pass: 100%/2 | Total: 11m 38s | Avg: 5m 49s | Max: 9m 30s

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total: 11m 38s | Avg:  5m 49s | Max:  9m 30s
    🟩 ctk
      🟩 12.6               Pass: 100%/2   | Total: 11m 38s | Avg:  5m 49s | Max:  9m 30s
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/2   | Total: 11m 38s | Avg:  5m 49s | Max:  9m 30s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total: 11m 38s | Avg:  5m 49s | Max:  9m 30s
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total: 11m 38s | Avg:  5m 49s | Max:  9m 30s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total: 11m 38s | Avg:  5m 49s | Max:  9m 30s
    🟩 gpu
      🟩 v100               Pass: 100%/2   | Total: 11m 38s | Avg:  5m 49s | Max:  9m 30s
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  2m 08s | Avg:  2m 08s | Max:  2m 08s
      🟩 Test               Pass: 100%/1   | Total:  9m 30s | Avg:  9m 30s | Max:  9m 30s
    
  • 🟩 python: Pass: 100%/1 | Total: 14m 41s | Avg: 14m 41s | Max: 14m 41s

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

👃 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: 400)

# Runner
326 linux-amd64-cpu16
31 linux-amd64-gpu-v100-latest-1
28 linux-arm64-cpu16
15 windows-amd64-cpu16

@davebayer davebayer changed the title backport std integer comparison functions to C++14 backport std integer comparison functions to C++11 Nov 19, 2024
@davebayer
Copy link
Contributor Author

pre-commit.ci autofix

@miscco
Copy link
Collaborator

miscco commented Nov 25, 2024

/ok to test

Copy link
Contributor

🟨 CI finished in 3h 47m: Pass: 98%/396 | Total: 9d 21h | Avg: 35m 55s | Max: 1h 23m | Hits: 17%/17588
  • 🟨 libcudacxx: Pass: 94%/118 | Total: 2d 01h | Avg: 25m 08s | Max: 49m 38s | Hits: 3%/5054

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  94%/110 | Total:  1d 22h | Avg: 25m 19s | Max: 49m 38s | Hits:   3%/5054  
      🟩 arm64              Pass: 100%/8   | Total:  3h 00m | Avg: 22m 32s | Max: 28m 16s
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/12  | Total:  2h 40m | Avg: 13m 24s | Max: 22m 03s
      🔍 nvcc               Pass:  94%/106 | Total:  1d 22h | Avg: 26m 27s | Max: 49m 38s | Hits:   3%/5054  
    🔍 jobs: Build 🔍
      🔍 Build              Pass:  94%/110 | Total:  1d 22h | Avg: 25m 11s | Max: 49m 38s | Hits:   3%/5054  
      🟩 NVRTC              Pass: 100%/4   | Total:  1h 24m | Avg: 21m 07s | Max: 24m 16s
      🟩 Test               Pass: 100%/3   | Total:  1h 48m | Avg: 36m 05s | Max: 48m 07s
      🟩 VerifyCodegen      Pass: 100%/1   | Total:  2m 14s | Avg:  2m 14s | Max:  2m 14s
    🟨 ctk
      🟨 11.1               Pass:  66%/15  | Total:  6h 00m | Avg: 24m 02s | Max: 38m 42s
      🟩 11.8               Pass: 100%/3   | Total:  1h 18m | Avg: 26m 08s | Max: 29m 50s
      🟩 12.5               Pass: 100%/4   | Total:  2h 40m | Avg: 40m 14s | Max: 45m 22s
      🟨 12.6               Pass:  98%/96  | Total:  1d 15h | Avg: 24m 38s | Max: 49m 38s | Hits:   3%/5054  
    🟨 cudacxx
      🟩 ClangCUDA18        Pass: 100%/12  | Total:  2h 40m | Avg: 13m 24s | Max: 22m 03s
      🟨 nvcc11.1           Pass:  66%/15  | Total:  6h 00m | Avg: 24m 02s | Max: 38m 42s
      🟩 nvcc11.8           Pass: 100%/3   | Total:  1h 18m | Avg: 26m 08s | Max: 29m 50s
      🟩 nvcc12.5           Pass: 100%/4   | Total:  2h 40m | Avg: 40m 14s | Max: 45m 22s
      🟨 nvcc12.6           Pass:  98%/84  | Total:  1d 12h | Avg: 26m 15s | Max: 49m 38s | Hits:   3%/5054  
    🟨 cxx
      🟨 Clang9             Pass:  83%/6   | Total:  2h 35m | Avg: 25m 51s | Max: 35m 03s
      🟩 Clang10            Pass: 100%/3   | Total:  1h 24m | Avg: 28m 19s | Max: 32m 43s
      🟩 Clang11            Pass: 100%/4   | Total:  1h 45m | Avg: 26m 20s | Max: 30m 49s
      🟩 Clang12            Pass: 100%/4   | Total:  1h 47m | Avg: 26m 46s | Max: 31m 23s
      🟩 Clang13            Pass: 100%/4   | Total:  1h 48m | Avg: 27m 14s | Max: 32m 33s
      🟩 Clang14            Pass: 100%/4   | Total:  1h 47m | Avg: 26m 54s | Max: 32m 07s
      🟩 Clang15            Pass: 100%/4   | Total:  1h 46m | Avg: 26m 43s | Max: 33m 34s
      🟩 Clang16            Pass: 100%/4   | Total:  1h 45m | Avg: 26m 18s | Max: 31m 38s
      🟩 Clang17            Pass: 100%/4   | Total:  1h 46m | Avg: 26m 35s | Max: 34m 37s
      🟩 Clang18            Pass: 100%/18  | Total:  5h 26m | Avg: 18m 07s | Max: 43m 02s
      🟩 GCC6               Pass: 100%/2   | Total: 45m 00s | Avg: 22m 30s | Max: 23m 54s
      🟨 GCC7               Pass:  83%/6   | Total:  2h 28m | Avg: 24m 43s | Max: 29m 51s
      🟨 GCC8               Pass:  83%/6   | Total:  2h 18m | Avg: 23m 03s | Max: 27m 12s
      🟨 GCC9               Pass:  83%/6   | Total:  2h 23m | Avg: 23m 55s | Max: 31m 28s
      🟩 GCC10              Pass: 100%/4   | Total:  1h 40m | Avg: 25m 06s | Max: 29m 39s
      🟩 GCC11              Pass: 100%/7   | Total:  3h 05m | Avg: 26m 28s | Max: 33m 01s
      🟩 GCC12              Pass: 100%/4   | Total:  1h 47m | Avg: 26m 56s | Max: 32m 15s
      🟩 GCC13              Pass: 100%/17  | Total:  6h 07m | Avg: 21m 38s | Max: 48m 07s
      🟩 Intel2023.2.0      Pass: 100%/3   | Total:  1h 24m | Avg: 28m 14s | Max: 32m 39s
      🟥 MSVC14.16          Pass:   0%/1   | Total: 38m 42s | Avg: 38m 42s | Max: 38m 42s
      🟨 MSVC14.29          Pass:  50%/2   | Total:  1h 21m | Avg: 40m 44s | Max: 44m 12s | Hits:   3%/2454  
      🟩 MSVC14.39          Pass: 100%/1   | Total: 49m 38s | Avg: 49m 38s | Max: 49m 38s | Hits:   3%/2600  
      🟩 NVHPC24.7          Pass: 100%/4   | Total:  2h 40m | Avg: 40m 14s | Max: 45m 22s
    🟨 cxx_family
      🟨 Clang              Pass:  98%/55  | Total: 21h 53m | Avg: 23m 53s | Max: 43m 02s
      🟨 GCC                Pass:  94%/52  | Total: 20h 36m | Avg: 23m 47s | Max: 48m 07s
      🟩 Intel              Pass: 100%/3   | Total:  1h 24m | Avg: 28m 14s | Max: 32m 39s
      🟨 MSVC               Pass:  50%/4   | Total:  2h 49m | Avg: 42m 27s | Max: 49m 38s | Hits:   3%/5054  
      🟩 NVHPC              Pass: 100%/4   | Total:  2h 40m | Avg: 40m 14s | Max: 45m 22s
    🟨 std
      🟩 11                 Pass: 100%/32  | Total: 11h 15m | Avg: 21m 07s | Max: 48m 07s
      🟨 14                 Pass:  93%/32  | Total: 12h 44m | Avg: 23m 53s | Max: 39m 13s
      🟨 17                 Pass:  86%/30  | Total: 13h 55m | Avg: 27m 51s | Max: 44m 41s | Hits:   3%/2454  
      🟩 20                 Pass: 100%/23  | Total: 11h 28m | Avg: 29m 55s | Max: 49m 38s | Hits:   3%/2600  
    🟨 gpu
      🟨 v100               Pass:  94%/118 | Total:  2d 01h | Avg: 25m 08s | Max: 49m 38s | Hits:   3%/5054  
    🟩 sm
      🟩 60;70;80;90        Pass: 100%/3   | Total:  1h 18m | Avg: 26m 08s | Max: 29m 50s
      🟩 90                 Pass: 100%/4   | Total: 44m 44s | Avg: 11m 11s | Max: 13m 02s
      🟩 90a                Pass: 100%/8   | Total:  2h 00m | Avg: 15m 03s | Max: 24m 19s
    
  • 🟩 thrust: Pass: 100%/111 | Total: 3d 01h | Avg: 39m 30s | Max: 1h 22m | Hits: 30%/9260

    🟩 cmake_options
      🟩 -DTHRUST_DISPATCH_TYPE=Force32bit Pass: 100%/2   | Total: 51m 58s | Avg: 25m 59s | Max: 41m 00s
    🟩 cpu
      🟩 amd64              Pass: 100%/103 | Total:  2d 20h | Avg: 39m 43s | Max:  1h 22m | Hits:  30%/9260  
      🟩 arm64              Pass: 100%/8   | Total:  4h 54m | Avg: 36m 45s | Max: 41m 32s
    🟩 ctk
      🟩 11.1               Pass: 100%/15  | Total:  9h 18m | Avg: 37m 15s | Max:  1h 12m | Hits:  12%/1852  
      🟩 11.8               Pass: 100%/3   | Total:  2h 30m | Avg: 50m 16s | Max: 54m 16s
      🟩 12.5               Pass: 100%/4   | Total:  4h 45m | Avg:  1h 11m | Max:  1h 15m
      🟩 12.6               Pass: 100%/89  | Total:  2d 08h | Avg: 38m 05s | Max:  1h 22m | Hits:  34%/7408  
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/4   | Total:  2h 11m | Avg: 32m 52s | Max: 35m 44s
      🟩 nvcc11.1           Pass: 100%/15  | Total:  9h 18m | Avg: 37m 15s | Max:  1h 12m | Hits:  12%/1852  
      🟩 nvcc11.8           Pass: 100%/3   | Total:  2h 30m | Avg: 50m 16s | Max: 54m 16s
      🟩 nvcc12.5           Pass: 100%/4   | Total:  4h 45m | Avg:  1h 11m | Max:  1h 15m
      🟩 nvcc12.6           Pass: 100%/85  | Total:  2d 06h | Avg: 38m 20s | Max:  1h 22m | Hits:  34%/7408  
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/4   | Total:  2h 11m | Avg: 32m 52s | Max: 35m 44s
      🟩 nvcc               Pass: 100%/107 | Total:  2d 22h | Avg: 39m 45s | Max:  1h 22m | Hits:  30%/9260  
    🟩 cxx
      🟩 Clang9             Pass: 100%/6   | Total:  3h 38m | Avg: 36m 28s | Max: 42m 58s
      🟩 Clang10            Pass: 100%/3   | Total:  2h 02m | Avg: 40m 40s | Max: 44m 32s
      🟩 Clang11            Pass: 100%/4   | Total:  2h 33m | Avg: 38m 19s | Max: 40m 55s
      🟩 Clang12            Pass: 100%/4   | Total:  2h 32m | Avg: 38m 11s | Max: 43m 33s
      🟩 Clang13            Pass: 100%/4   | Total:  2h 33m | Avg: 38m 24s | Max: 42m 01s
      🟩 Clang14            Pass: 100%/4   | Total:  2h 39m | Avg: 39m 54s | Max: 44m 47s
      🟩 Clang15            Pass: 100%/4   | Total:  2h 42m | Avg: 40m 40s | Max: 44m 38s
      🟩 Clang16            Pass: 100%/4   | Total:  2h 44m | Avg: 41m 14s | Max: 45m 54s
      🟩 Clang17            Pass: 100%/4   | Total:  2h 36m | Avg: 39m 02s | Max: 46m 07s
      🟩 Clang18            Pass: 100%/11  | Total:  5h 38m | Avg: 30m 44s | Max: 42m 41s
      🟩 GCC6               Pass: 100%/2   | Total:  1h 07m | Avg: 33m 35s | Max: 36m 07s
      🟩 GCC7               Pass: 100%/6   | Total:  3h 37m | Avg: 36m 13s | Max: 43m 14s
      🟩 GCC8               Pass: 100%/6   | Total:  3h 47m | Avg: 37m 58s | Max: 44m 40s
      🟩 GCC9               Pass: 100%/6   | Total:  3h 50m | Avg: 38m 25s | Max: 41m 26s
      🟩 GCC10              Pass: 100%/4   | Total:  2h 41m | Avg: 40m 29s | Max: 43m 59s
      🟩 GCC11              Pass: 100%/7   | Total:  4h 55m | Avg: 42m 08s | Max: 54m 16s
      🟩 GCC12              Pass: 100%/4   | Total:  2h 54m | Avg: 43m 30s | Max: 49m 19s
      🟩 GCC13              Pass: 100%/16  | Total:  7h 42m | Avg: 28m 54s | Max: 44m 42s
      🟩 Intel2023.2.0      Pass: 100%/3   | Total:  2h 40m | Avg: 53m 36s | Max:  1h 00m
      🟩 MSVC14.16          Pass: 100%/1   | Total:  1h 12m | Avg:  1h 12m | Max:  1h 12m | Hits:  12%/1852  
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 22m | Avg:  1h 11m | Max:  1h 12m | Hits:  12%/3704  
      🟩 MSVC14.39          Pass: 100%/2   | Total:  1h 45m | Avg: 52m 50s | Max:  1h 22m | Hits:  56%/3704  
      🟩 NVHPC24.7          Pass: 100%/4   | Total:  4h 45m | Avg:  1h 11m | Max:  1h 15m
    🟩 cxx_family
      🟩 Clang              Pass: 100%/48  | Total:  1d 05h | Avg: 37m 07s | Max: 46m 07s
      🟩 GCC                Pass: 100%/51  | Total:  1d 06h | Avg: 36m 00s | Max: 54m 16s
      🟩 Intel              Pass: 100%/3   | Total:  2h 40m | Avg: 53m 36s | Max:  1h 00m
      🟩 MSVC               Pass: 100%/5   | Total:  5h 20m | Avg:  1h 04m | Max:  1h 22m | Hits:  30%/9260  
      🟩 NVHPC              Pass: 100%/4   | Total:  4h 45m | Avg:  1h 11m | Max:  1h 15m
    🟩 gpu
      🟩 v100               Pass: 100%/111 | Total:  3d 01h | Avg: 39m 30s | Max:  1h 22m | Hits:  30%/9260  
    🟩 jobs
      🟩 Build              Pass: 100%/103 | Total:  2d 23h | Avg: 41m 22s | Max:  1h 22m | Hits:  12%/7408  
      🟩 TestCPU            Pass: 100%/4   | Total:  1h 07m | Avg: 16m 53s | Max: 29m 16s | Hits:  99%/1852  
      🟩 TestGPU            Pass: 100%/4   | Total: 55m 20s | Avg: 13m 50s | Max: 17m 12s
    🟩 sm
      🟩 60;70;80;90        Pass: 100%/3   | Total:  2h 30m | Avg: 50m 16s | Max: 54m 16s
      🟩 90a                Pass: 100%/4   | Total:  1h 48m | Avg: 27m 11s | Max: 31m 11s
    🟩 std
      🟩 11                 Pass: 100%/30  | Total: 16h 57m | Avg: 33m 54s | Max:  1h 07m
      🟩 14                 Pass: 100%/29  | Total: 20h 35m | Avg: 42m 35s | Max:  1h 12m | Hits:  12%/3704  
      🟩 17                 Pass: 100%/27  | Total: 19h 49m | Avg: 44m 02s | Max:  1h 15m | Hits:  12%/1852  
      🟩 20                 Pass: 100%/23  | Total: 14h 51m | Avg: 38m 46s | Max:  1h 22m | Hits:  56%/3704  
    
  • 🟩 cub: Pass: 100%/110 | Total: 4d 05h | Avg: 55m 13s | Max: 1h 23m | Hits: 3%/3028

    🟩 cpu
      🟩 amd64              Pass: 100%/102 | Total:  3d 21h | Avg: 54m 55s | Max:  1h 23m | Hits:   3%/3028  
      🟩 arm64              Pass: 100%/8   | Total:  7h 53m | Avg: 59m 07s | Max:  1h 02m
    🟩 ctk
      🟩 11.1               Pass: 100%/15  | Total: 13h 00m | Avg: 52m 02s | Max:  1h 05m | Hits:   3%/757   
      🟩 11.8               Pass: 100%/3   | Total:  3h 59m | Avg:  1h 19m | Max:  1h 23m
      🟩 12.5               Pass: 100%/4   | Total:  4h 56m | Avg:  1h 14m | Max:  1h 21m
      🟩 12.6               Pass: 100%/88  | Total:  3d 07h | Avg: 54m 04s | Max:  1h 16m | Hits:   3%/2271  
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/4   | Total:  3h 59m | Avg: 59m 46s | Max:  1h 01m
      🟩 nvcc11.1           Pass: 100%/15  | Total: 13h 00m | Avg: 52m 02s | Max:  1h 05m | Hits:   3%/757   
      🟩 nvcc11.8           Pass: 100%/3   | Total:  3h 59m | Avg:  1h 19m | Max:  1h 23m
      🟩 nvcc12.5           Pass: 100%/4   | Total:  4h 56m | Avg:  1h 14m | Max:  1h 21m
      🟩 nvcc12.6           Pass: 100%/84  | Total:  3d 03h | Avg: 53m 48s | Max:  1h 16m | Hits:   3%/2271  
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/4   | Total:  3h 59m | Avg: 59m 46s | Max:  1h 01m
      🟩 nvcc               Pass: 100%/106 | Total:  4d 01h | Avg: 55m 03s | Max:  1h 23m | Hits:   3%/3028  
    🟩 cxx
      🟩 Clang9             Pass: 100%/6   | Total:  5h 24m | Avg: 54m 00s | Max: 56m 59s
      🟩 Clang10            Pass: 100%/3   | Total:  2h 49m | Avg: 56m 27s | Max: 58m 32s
      🟩 Clang11            Pass: 100%/4   | Total:  3h 40m | Avg: 55m 05s | Max: 57m 48s
      🟩 Clang12            Pass: 100%/4   | Total:  3h 57m | Avg: 59m 29s | Max:  1h 01m
      🟩 Clang13            Pass: 100%/4   | Total:  3h 56m | Avg: 59m 11s | Max:  1h 01m
      🟩 Clang14            Pass: 100%/4   | Total:  3h 50m | Avg: 57m 44s | Max:  1h 02m
      🟩 Clang15            Pass: 100%/4   | Total:  3h 45m | Avg: 56m 25s | Max:  1h 01m
      🟩 Clang16            Pass: 100%/4   | Total:  3h 40m | Avg: 55m 02s | Max: 58m 36s
      🟩 Clang17            Pass: 100%/4   | Total:  3h 57m | Avg: 59m 25s | Max:  1h 02m
      🟩 Clang18            Pass: 100%/11  | Total:  9h 26m | Avg: 51m 28s | Max:  1h 01m
      🟩 GCC6               Pass: 100%/2   | Total:  1h 55m | Avg: 57m 49s | Max:  1h 05m
      🟩 GCC7               Pass: 100%/6   | Total:  5h 27m | Avg: 54m 35s | Max:  1h 03m
      🟩 GCC8               Pass: 100%/6   | Total:  5h 33m | Avg: 55m 35s | Max:  1h 06m
      🟩 GCC9               Pass: 100%/6   | Total:  5h 26m | Avg: 54m 20s | Max:  1h 00m
      🟩 GCC10              Pass: 100%/4   | Total:  4h 03m | Avg:  1h 00m | Max:  1h 05m
      🟩 GCC11              Pass: 100%/7   | Total:  7h 55m | Avg:  1h 07m | Max:  1h 23m
      🟩 GCC12              Pass: 100%/4   | Total:  3h 53m | Avg: 58m 25s | Max: 59m 13s
      🟩 GCC13              Pass: 100%/16  | Total:  9h 44m | Avg: 36m 33s | Max:  1h 02m
      🟩 Intel2023.2.0      Pass: 100%/3   | Total:  3h 13m | Avg:  1h 04m | Max:  1h 09m
      🟩 MSVC14.16          Pass: 100%/1   | Total: 57m 56s | Avg: 57m 56s | Max: 57m 56s | Hits:   3%/757   
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 21m | Avg:  1h 10m | Max:  1h 11m | Hits:   3%/1514  
      🟩 MSVC14.39          Pass: 100%/1   | Total:  1h 16m | Avg:  1h 16m | Max:  1h 16m | Hits:   3%/757   
      🟩 NVHPC24.7          Pass: 100%/4   | Total:  4h 56m | Avg:  1h 14m | Max:  1h 21m
    🟩 cxx_family
      🟩 Clang              Pass: 100%/48  | Total:  1d 20h | Avg: 55m 36s | Max:  1h 02m
      🟩 GCC                Pass: 100%/51  | Total:  1d 20h | Avg: 51m 46s | Max:  1h 23m
      🟩 Intel              Pass: 100%/3   | Total:  3h 13m | Avg:  1h 04m | Max:  1h 09m
      🟩 MSVC               Pass: 100%/4   | Total:  4h 36m | Avg:  1h 09m | Max:  1h 16m | Hits:   3%/3028  
      🟩 NVHPC              Pass: 100%/4   | Total:  4h 56m | Avg:  1h 14m | Max:  1h 21m
    🟩 gpu
      🟩 v100               Pass: 100%/110 | Total:  4d 05h | Avg: 55m 13s | Max:  1h 23m | Hits:   3%/3028  
    🟩 jobs
      🟩 Build              Pass: 100%/102 | Total:  4d 02h | Avg: 58m 01s | Max:  1h 23m | Hits:   3%/3028  
      🟩 DeviceLaunch       Pass: 100%/1   | Total: 17m 41s | Avg: 17m 41s | Max: 17m 41s
      🟩 GraphCapture       Pass: 100%/1   | Total: 16m 58s | Avg: 16m 58s | Max: 16m 58s
      🟩 HostLaunch         Pass: 100%/3   | Total: 54m 45s | Avg: 18m 15s | Max: 20m 05s
      🟩 TestGPU            Pass: 100%/3   | Total:  1h 06m | Avg: 22m 16s | Max: 24m 01s
    🟩 sm
      🟩 60;70;80;90        Pass: 100%/3   | Total:  3h 59m | Avg:  1h 19m | Max:  1h 23m
      🟩 90a                Pass: 100%/4   | Total:  1h 44m | Avg: 26m 13s | Max: 29m 02s
    🟩 std
      🟩 11                 Pass: 100%/30  | Total:  1d 02h | Avg: 53m 43s | Max:  1h 21m
      🟩 14                 Pass: 100%/29  | Total:  1d 04h | Avg: 58m 06s | Max:  1h 23m | Hits:   3%/1514  
      🟩 17                 Pass: 100%/27  | Total:  1d 02h | Avg: 58m 46s | Max:  1h 20m | Hits:   3%/757   
      🟩 20                 Pass: 100%/24  | Total: 19h 51m | Avg: 49m 39s | Max:  1h 16m | Hits:   3%/757   
    
  • 🟩 cudax: Pass: 100%/54 | Total: 12h 50m | Avg: 14m 16s | Max: 17m 16s | Hits: 2%/246

    🟩 cpu
      🟩 amd64              Pass: 100%/50  | Total: 11h 56m | Avg: 14m 20s | Max: 17m 16s | Hits:   2%/246   
      🟩 arm64              Pass: 100%/4   | Total: 53m 57s | Avg: 13m 29s | Max: 14m 27s
    🟩 ctk
      🟩 12.0               Pass: 100%/19  | Total:  4h 24m | Avg: 13m 55s | Max: 15m 51s | Hits:   2%/123   
      🟩 12.5               Pass: 100%/2   | Total: 18m 55s | Avg:  9m 27s | Max: 10m 03s
      🟩 12.6               Pass: 100%/33  | Total:  8h 07m | Avg: 14m 46s | Max: 17m 16s | Hits:   2%/123   
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/19  | Total:  4h 24m | Avg: 13m 55s | Max: 15m 51s | Hits:   2%/123   
      🟩 nvcc12.5           Pass: 100%/2   | Total: 18m 55s | Avg:  9m 27s | Max: 10m 03s
      🟩 nvcc12.6           Pass: 100%/33  | Total:  8h 07m | Avg: 14m 46s | Max: 17m 16s | Hits:   2%/123   
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/54  | Total: 12h 50m | Avg: 14m 16s | Max: 17m 16s | Hits:   2%/246   
    🟩 cxx
      🟩 Clang9             Pass: 100%/2   | Total: 29m 48s | Avg: 14m 54s | Max: 15m 38s
      🟩 Clang10            Pass: 100%/2   | Total: 29m 33s | Avg: 14m 46s | Max: 14m 59s
      🟩 Clang11            Pass: 100%/4   | Total: 56m 16s | Avg: 14m 04s | Max: 15m 22s
      🟩 Clang12            Pass: 100%/4   | Total: 56m 04s | Avg: 14m 01s | Max: 15m 15s
      🟩 Clang13            Pass: 100%/4   | Total: 56m 38s | Avg: 14m 09s | Max: 15m 28s
      🟩 Clang14            Pass: 100%/4   | Total: 57m 10s | Avg: 14m 17s | Max: 15m 18s
      🟩 Clang15            Pass: 100%/2   | Total: 30m 30s | Avg: 15m 15s | Max: 15m 56s
      🟩 Clang16            Pass: 100%/4   | Total: 55m 27s | Avg: 13m 51s | Max: 15m 12s
      🟩 Clang17            Pass: 100%/2   | Total: 30m 55s | Avg: 15m 27s | Max: 15m 49s
      🟩 Clang18            Pass: 100%/2   | Total: 33m 12s | Avg: 16m 36s | Max: 17m 16s
      🟩 GCC9               Pass: 100%/2   | Total: 28m 30s | Avg: 14m 15s | Max: 14m 33s
      🟩 GCC10              Pass: 100%/4   | Total:  1h 00m | Avg: 15m 07s | Max: 15m 51s
      🟩 GCC11              Pass: 100%/4   | Total: 59m 40s | Avg: 14m 55s | Max: 15m 31s
      🟩 GCC12              Pass: 100%/7   | Total:  1h 46m | Avg: 15m 15s | Max: 17m 00s
      🟩 GCC13              Pass: 100%/3   | Total: 38m 38s | Avg: 12m 52s | Max: 14m 27s
      🟩 MSVC14.36          Pass: 100%/1   | Total: 11m 02s | Avg: 11m 02s | Max: 11m 02s | Hits:   2%/123   
      🟩 MSVC14.39          Pass: 100%/1   | Total: 11m 21s | Avg: 11m 21s | Max: 11m 21s | Hits:   2%/123   
      🟩 NVHPC24.7          Pass: 100%/2   | Total: 18m 55s | Avg:  9m 27s | Max: 10m 03s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/30  | Total:  7h 15m | Avg: 14m 31s | Max: 17m 16s
      🟩 GCC                Pass: 100%/20  | Total:  4h 54m | Avg: 14m 42s | Max: 17m 00s
      🟩 MSVC               Pass: 100%/2   | Total: 22m 23s | Avg: 11m 11s | Max: 11m 21s | Hits:   2%/246   
      🟩 NVHPC              Pass: 100%/2   | Total: 18m 55s | Avg:  9m 27s | Max: 10m 03s
    🟩 gpu
      🟩 v100               Pass: 100%/54  | Total: 12h 50m | Avg: 14m 16s | Max: 17m 16s | Hits:   2%/246   
    🟩 jobs
      🟩 Build              Pass: 100%/49  | Total: 11h 31m | Avg: 14m 06s | Max: 17m 16s | Hits:   2%/246   
      🟩 Test               Pass: 100%/5   | Total:  1h 19m | Avg: 15m 55s | Max: 17m 00s
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total: 11m 07s | Avg: 11m 07s | Max: 11m 07s
      🟩 90a                Pass: 100%/1   | Total: 11m 05s | Avg: 11m 05s | Max: 11m 05s
    🟩 std
      🟩 17                 Pass: 100%/29  | Total:  6h 49m | Avg: 14m 06s | Max: 16m 31s
      🟩 20                 Pass: 100%/25  | Total:  6h 01m | Avg: 14m 28s | Max: 17m 16s | Hits:   2%/246   
    
  • 🟩 cccl_c_parallel: Pass: 100%/2 | Total: 11m 13s | Avg: 5m 36s | Max: 9m 06s

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total: 11m 13s | Avg:  5m 36s | Max:  9m 06s
    🟩 ctk
      🟩 12.6               Pass: 100%/2   | Total: 11m 13s | Avg:  5m 36s | Max:  9m 06s
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/2   | Total: 11m 13s | Avg:  5m 36s | Max:  9m 06s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total: 11m 13s | Avg:  5m 36s | Max:  9m 06s
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total: 11m 13s | Avg:  5m 36s | Max:  9m 06s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total: 11m 13s | Avg:  5m 36s | Max:  9m 06s
    🟩 gpu
      🟩 v100               Pass: 100%/2   | Total: 11m 13s | Avg:  5m 36s | Max:  9m 06s
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  2m 07s | Avg:  2m 07s | Max:  2m 07s
      🟩 Test               Pass: 100%/1   | Total:  9m 06s | Avg:  9m 06s | Max:  9m 06s
    
  • 🟩 python: Pass: 100%/1 | Total: 15m 38s | Avg: 15m 38s | Max: 15m 38s

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

👃 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: 396)

# Runner
327 linux-amd64-cpu16
28 linux-arm64-cpu16
26 linux-amd64-gpu-v100-latest-1
15 windows-amd64-cpu16

libcudacxx/include/cuda/std/__utility/cmp.h Outdated Show resolved Hide resolved
libcudacxx/include/cuda/std/__utility/cmp.h Outdated Show resolved Hide resolved
@miscco
Copy link
Collaborator

miscco commented Nov 26, 2024

/ok to test

@miscco miscco enabled auto-merge (squash) November 26, 2024 09:11
auto-merge was automatically disabled November 26, 2024 09:19

Pull Request is not mergeable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Review
Development

Successfully merging this pull request may close these issues.

3 participants