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

unify implementation of [[deprecated]] attribute #2934

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

Conversation

davebayer
Copy link
Contributor

This PR moves implementation of _CCCL_DEPRECATED and _CCCL_DEPRECATED_BECAUSE to CCCL.

Copy link

copy-pr-bot bot commented Nov 22, 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.

@bernhardmgruber
Copy link
Contributor

/ok to test

Comment on lines 118 to 127
// prefer compiler specific way of defining deprecated because of compiler bugs in old GCC and Clang
#if _CCCL_COMPILER(MSVC)
# define _CCCL_DEPRECATED __declspec(deprecated)
# define _CCCL_DEPRECATED_BECAUSE(_MSG) __declspec(deprecated(_MSG))
#elif _CCCL_COMPILER(GCC) || _CCCL_COMPILER(CLANG) || _CCCL_COMPILER(NVHPC) || _CCCL_COMPILER(ICC)
# define _CCCL_DEPRECATED __attribute__((__deprecated__))
# define _CCCL_DEPRECATED_BECAUSE(_MSG) __attribute__((__deprecated__(_MSG)))
#elif _CCCL_STD_VER >= 2014
# define _CCCL_DEPRECATED [[deprecated]]
# define _CCCL_DEPRECATED_BECAUSE(_MSG) [[deprecated(_MSG)]]
Copy link
Contributor

Choose a reason for hiding this comment

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

Important: the change of order was pushed after my approval and worsens the status-quo. Was this required because of compilation failures?

I want to get rid of vendor specific attributes as soon as possible, so we should know what compiler is blocking us here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Appologies for the push after approval.

Yes, the compilation fails for older GCC and Clang when combining multiple attributes. See the example https://godbolt.org/z/sarjePhPM

I will find out the exact versions and set the vendor's specific attributes only for them. Is this an acceptable solution?

Copy link
Contributor

Choose a reason for hiding this comment

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

If this affects a lot of compilers, I am also fine with taking your suggestion of prefering vendor attributes. But we should know when we can kick those out, so please add a comment about that. Thx!

Copy link
Contributor

Choose a reason for hiding this comment

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

Appologies for the push after approval.

We don't have a rule that forbids anybody doing that, and we actually frequently have to push fixes discovered by the CI after approval. So nothing wrong here :) It just happened to change how I feel about the PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've come up with a better solution. First, the macro is defined to vendor's specific attributes. However, if C++14 is available I use [[deprecated]] instead unless a defected version of GCC or Clang is used.

Hopefully this is an acceptable and functional version :)

Copy link
Contributor

@bernhardmgruber bernhardmgruber left a comment

Choose a reason for hiding this comment

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

Thank you for doing the research!

LGTM

@miscco
Copy link
Collaborator

miscco commented Nov 25, 2024

Given that we already need to run the full CI matrix, could you also replace all internal uses of the old macros with the new one?

@davebayer
Copy link
Contributor Author

Given that we already need to run the full CI matrix, could you also replace all internal uses of the old macros with the new one?

Which ones do you mean? If you mean use of [[deprecated]], sure, that's not a problem. However I cannot replace the definitions for individual parts (libcu++, thrust and cub) as each of them implement it's own deprecation suppression mechanism.

@miscco
Copy link
Collaborator

miscco commented Nov 25, 2024

Yeah I meant the different libraries and we should define a common mechanism to suppress the deprecation warning

@miscco
Copy link
Collaborator

miscco commented Nov 25, 2024

/ok to test

@miscco
Copy link
Collaborator

miscco commented Nov 25, 2024

Looks like we need to ensure that _LIBCUDACXX_HIDE_FROM_ABI always comes after any of the deprecation macros

Copy link
Contributor

🟨 CI finished in 2h 20m: Pass: 93%/402 | Total: 7d 15h | Avg: 27m 21s | Max: 1h 31m | Hits: 11%/19433
  • 🟨 libcudacxx: Pass: 87%/118 | Total: 1d 16h | Avg: 20m 23s | Max: 1h 28m | Hits: 3%/9508

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

    🔍 jobs: Build 🔍
      🔍 Build              Pass:  79%/49  | Total:  7h 47m | Avg:  9m 32s | Max: 17m 42s | Hits:   2%/246   
      🟩 Test               Pass: 100%/5   | Total:  1h 30m | Avg: 18m 03s | Max: 19m 51s
    🚨 sm: 90a 🚨
      🟩 90                 Pass: 100%/1   | Total: 11m 13s | Avg: 11m 13s | Max: 11m 13s
      🔥 90a                Pass:   0%/1   | Total:  2m 25s | Avg:  2m 25s | Max:  2m 25s
    🔍 std: 17 🔍
      🔍 17                 Pass:  65%/29  | Total:  5h 10m | Avg: 10m 43s | Max: 19m 51s
      🟩 20                 Pass: 100%/25  | Total:  4h 07m | Avg:  9m 52s | Max: 17m 42s | Hits:   2%/246   
    🟨 cxx
      🟩 Clang9             Pass: 100%/2   | Total: 29m 53s | Avg: 14m 56s | Max: 15m 52s
      🟩 Clang10            Pass: 100%/2   | Total: 30m 33s | Avg: 15m 16s | Max: 16m 14s
      🟩 Clang11            Pass: 100%/4   | Total: 55m 52s | Avg: 13m 58s | Max: 15m 15s
      🟩 Clang12            Pass: 100%/4   | Total: 55m 23s | Avg: 13m 50s | Max: 14m 41s
      🟨 Clang13            Pass:  50%/4   | Total: 11m 24s | Avg:  2m 51s | Max:  3m 04s
      🟨 Clang14            Pass:  75%/4   | Total: 26m 48s | Avg:  6m 42s | Max: 17m 39s
      🟨 Clang15            Pass:  50%/2   | Total:  5m 50s | Avg:  2m 55s | Max:  3m 02s
      🟨 Clang16            Pass:  50%/4   | Total: 11m 16s | Avg:  2m 49s | Max:  3m 09s
      🟨 Clang17            Pass:  50%/2   | Total:  5m 38s | Avg:  2m 49s | Max:  2m 56s
      🟩 Clang18            Pass: 100%/2   | Total: 20m 20s | Avg: 10m 10s | Max: 17m 11s
      🟩 GCC9               Pass: 100%/2   | Total: 28m 31s | Avg: 14m 15s | Max: 14m 56s
      🟩 GCC10              Pass: 100%/4   | Total: 57m 20s | Avg: 14m 20s | Max: 14m 43s
      🟩 GCC11              Pass: 100%/4   | Total:  1h 00m | Avg: 15m 05s | Max: 17m 02s
      🟩 GCC12              Pass: 100%/7   | Total:  1h 56m | Avg: 16m 34s | Max: 19m 51s
      🟨 GCC13              Pass:  33%/3   | Total:  7m 09s | Avg:  2m 23s | Max:  2m 33s
      🟩 MSVC14.36          Pass: 100%/1   | Total: 10m 29s | Avg: 10m 29s | Max: 10m 29s | Hits:   2%/123   
      🟩 MSVC14.39          Pass: 100%/1   | Total: 12m 12s | Avg: 12m 12s | Max: 12m 12s | Hits:   2%/123   
      🟨 NVHPC24.7          Pass:  50%/2   | Total: 12m 49s | Avg:  6m 24s | Max:  8m 49s
    🟨 cxx_family
      🟨 Clang              Pass:  76%/30  | Total:  4h 12m | Avg:  8m 25s | Max: 17m 39s
      🟨 GCC                Pass:  90%/20  | Total:  4h 29m | Avg: 13m 28s | Max: 19m 51s
      🟩 MSVC               Pass: 100%/2   | Total: 22m 41s | Avg: 11m 20s | Max: 12m 12s | Hits:   2%/246   
      🟨 NVHPC              Pass:  50%/2   | Total: 12m 49s | Avg:  6m 24s | Max:  8m 49s
    🟨 cudacxx_family
      🟨 nvcc               Pass:  81%/54  | Total:  9h 17m | Avg: 10m 19s | Max: 19m 51s | Hits:   2%/246   
    🟨 gpu
      🟨 v100               Pass:  81%/54  | Total:  9h 17m | Avg: 10m 19s | Max: 19m 51s | Hits:   2%/246   
    🟨 cpu
      🟨 amd64              Pass:  84%/50  | Total:  9h 07m | Avg: 10m 57s | Max: 19m 51s | Hits:   2%/246   
      🟨 arm64              Pass:  50%/4   | Total:  9m 50s | Avg:  2m 27s | Max:  2m 43s
    🟨 ctk
      🟨 12.0               Pass:  94%/19  | Total:  4h 00m | Avg: 12m 38s | Max: 19m 51s | Hits:   2%/123   
      🟨 12.5               Pass:  50%/2   | Total: 12m 49s | Avg:  6m 24s | Max:  8m 49s
      🟨 12.6               Pass:  75%/33  | Total:  5h 04m | Avg:  9m 14s | Max: 18m 21s | Hits:   2%/123   
    🟨 cudacxx
      🟨 nvcc12.0           Pass:  94%/19  | Total:  4h 00m | Avg: 12m 38s | Max: 19m 51s | Hits:   2%/123   
      🟨 nvcc12.5           Pass:  50%/2   | Total: 12m 49s | Avg:  6m 24s | Max:  8m 49s
      🟨 nvcc12.6           Pass:  75%/33  | Total:  5h 04m | Avg:  9m 14s | Max: 18m 21s | Hits:   2%/123   
    
  • 🟨 thrust: Pass: 99%/111 | Total: 2d 07h | Avg: 30m 12s | Max: 1h 31m | Hits: 25%/7408

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

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

    🟩 cpu
      🟩 amd64              Pass: 100%/6   | Total: 26m 08s | Avg:  4m 21s | Max:  4m 59s
    🟩 ctk
      🟩 11.1               Pass: 100%/2   | Total:  8m 13s | Avg:  4m 06s | Max:  4m 13s
      🟩 12.0               Pass: 100%/2   | Total:  9m 20s | Avg:  4m 40s | Max:  4m 59s
      🟩 12.6               Pass: 100%/2   | Total:  8m 35s | Avg:  4m 17s | Max:  4m 34s
    🟩 cudacxx
      🟩 nvcc11.1           Pass: 100%/2   | Total:  8m 13s | Avg:  4m 06s | Max:  4m 13s
      🟩 nvcc12.0           Pass: 100%/2   | Total:  9m 20s | Avg:  4m 40s | Max:  4m 59s
      🟩 nvcc12.6           Pass: 100%/2   | Total:  8m 35s | Avg:  4m 17s | Max:  4m 34s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/6   | Total: 26m 08s | Avg:  4m 21s | Max:  4m 59s
    🟩 cxx
      🟩 Clang9             Pass: 100%/1   | Total:  4m 00s | Avg:  4m 00s | Max:  4m 00s
      🟩 Clang14            Pass: 100%/1   | Total:  4m 21s | Avg:  4m 21s | Max:  4m 21s
      🟩 Clang18            Pass: 100%/1   | Total:  4m 34s | Avg:  4m 34s | Max:  4m 34s
      🟩 GCC6               Pass: 100%/1   | Total:  4m 13s | Avg:  4m 13s | Max:  4m 13s
      🟩 GCC12              Pass: 100%/1   | Total:  4m 59s | Avg:  4m 59s | Max:  4m 59s
      🟩 GCC13              Pass: 100%/1   | Total:  4m 01s | Avg:  4m 01s | Max:  4m 01s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/3   | Total: 12m 55s | Avg:  4m 18s | Max:  4m 34s
      🟩 GCC                Pass: 100%/3   | Total: 13m 13s | Avg:  4m 24s | Max:  4m 59s
    🟩 gpu
      🟩 v100               Pass: 100%/6   | Total: 26m 08s | Avg:  4m 21s | Max:  4m 59s
    🟩 jobs
      🟩 Infra              Pass: 100%/6   | Total: 26m 08s | Avg:  4m 21s | Max:  4m 59s
    
  • 🟩 cccl_c_parallel: Pass: 100%/2 | Total: 9m 43s | Avg: 4m 51s | Max: 7m 42s

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

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

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

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

@davebayer
Copy link
Contributor Author

davebayer commented Nov 25, 2024

It got a bit more complicated again :/

Current changes:

  • implemented _CCCL_DEPRECATED and _CCCL_DEPRECATED_BECAUSE
  • deprecating type aliases is unsupported under certain circumstances, so additional _CCCL_DEPRECATED_TYPE_ALIAS and _CCCL_DEPRECATED_TYPE_ALIAS_BECAUSE macros were added
  • similarly, cub's, libcu++ and thrust's deprecation macros were extended
  • libcu++'s _LIBCUDACXX_DEPRECATED_IN_CXX11 was removed in favour of _LIBCUDACXX_DEPRECATED

After discussion with @miscco, we've decided to leave rework of suppressing cccl's deprecated suppression macros to a separate PR.

@davebayer
Copy link
Contributor Author

pre-commit.ci autofix

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