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

make the upper limit on TMP loop unrolling configurable #2971

Merged

Conversation

ericniebler
Copy link
Collaborator

Description

@bernhardmgruber has discovered that the CUDA front end is spending an inordinate amount of time processing __type_list.h. it's possible that this is caused by excessive use of the preprocessor to unroll template recursion. this PR makes the unroll limit configurable so we can easily test that hypothesis.

Checklist

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

Copy link
Contributor

🟩 CI finished in 2h 52m: Pass: 100%/396 | Total: 9d 02h | Avg: 33m 08s | Max: 1h 36m | Hits: 20%/22090
  • 🟩 libcudacxx: Pass: 100%/118 | Total: 1d 23h | Avg: 24m 13s | Max: 1h 27m | Hits: 23%/9546

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

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

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

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

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total: 10m 02s | Avg:  5m 01s | Max:  7m 39s
    🟩 ctk
      🟩 12.6               Pass: 100%/2   | Total: 10m 02s | Avg:  5m 01s | Max:  7m 39s
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/2   | Total: 10m 02s | Avg:  5m 01s | Max:  7m 39s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total: 10m 02s | Avg:  5m 01s | Max:  7m 39s
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total: 10m 02s | Avg:  5m 01s | Max:  7m 39s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total: 10m 02s | Avg:  5m 01s | Max:  7m 39s
    🟩 gpu
      🟩 v100               Pass: 100%/2   | Total: 10m 02s | Avg:  5m 01s | Max:  7m 39s
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  2m 23s | Avg:  2m 23s | Max:  2m 23s
      🟩 Test               Pass: 100%/1   | Total:  7m 39s | Avg:  7m 39s | Max:  7m 39s
    
  • 🟩 python: Pass: 100%/1 | Total: 15m 46s | Avg: 15m 46s | Max: 15m 46s

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

👃 Inspect Changes

Modifications in project?

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

Modifications in project or dependencies?

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

🏃‍ Runner counts (total jobs: 396)

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

@bernhardmgruber
Copy link
Contributor

Taking your PR as is and compiling:

#include <cuda/std/__type_traits/type_list.h>
int main() {}

I see this trace:
image
type_list.h takes 498ms to parse.

@bernhardmgruber
Copy link
Contributor

bernhardmgruber commented Nov 28, 2024

Trying _CCCL_META_UNROLL_LIMIT from 1 to 16:

for i in $(seq 1 16); do echo -n "$i: "; time nvcc -fdevice-time-trace trace --extended-lambda -D_CCCL_META_UNROLL_LIMIT=$i -Icccl/cub -Icccl/thrust -Icccl/libcudacxx/include -c ./tl.cu -o tl.o; done

1:0.789
2:0.786
3:0.776
4:0.778
5:0.784
6:0.790
7:0.792
8:0.789
9:0.794
10:0.793
11:0.827
12:0.847
13:0.900
14:1.024
15:1.270
16:1.756

Everything until 10 looks good.

The benchmark is probably not great, because this regards only header parsing time.

@bernhardmgruber
Copy link
Contributor

bernhardmgruber commented Nov 28, 2024

This is type_list.pass.cpp:
nvcc -fdevice-time-trace trace -Icccl/libcudacxx/include -x cu ./type_list.pass.cpp
image
It's interesting to see that parsing the header takes a lot longer than template instantiation and codegen.

@bernhardmgruber
Copy link
Contributor

Different unrollings for type_list.pass.cpp:

$ for i in $(seq 1 16); do echo -n "$i:"; time nvcc -D_CCCL_META_UNROLL_LIMIT=$i -Icccl/libcudacxx/include -x cu -c ./type_list.pass.cpp -o tl.o; done
1:1.999
2:1.969
3:1.961
4:1.963
5:1.941
6:1.961
7:1.976
8:2.010
9:2.015
10:2.008
11:2.021
12:2.141
13:2.185
14:2.341
15:2.669
16:3.287

@miscco
Copy link
Collaborator

miscco commented Nov 30, 2024

looks like 10 is the sweet spot

@ericniebler
Copy link
Collaborator Author

I suspect the sweet spot is different for different compilers.

Copy link
Contributor

github-actions bot commented Dec 1, 2024

🟩 CI finished in 2h 03m: Pass: 100%/396 | Total: 8d 13h | Avg: 31m 10s | Max: 1h 18m | Hits: 19%/22094
  • 🟩 libcudacxx: Pass: 100%/118 | Total: 1d 14h | Avg: 19m 28s | Max: 1h 02m | Hits: 21%/9550

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

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

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

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

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total:  8m 54s | Avg:  4m 27s | Max:  6m 42s
    🟩 ctk
      🟩 12.6               Pass: 100%/2   | Total:  8m 54s | Avg:  4m 27s | Max:  6m 42s
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/2   | Total:  8m 54s | Avg:  4m 27s | Max:  6m 42s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total:  8m 54s | Avg:  4m 27s | Max:  6m 42s
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total:  8m 54s | Avg:  4m 27s | Max:  6m 42s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total:  8m 54s | Avg:  4m 27s | Max:  6m 42s
    🟩 gpu
      🟩 v100               Pass: 100%/2   | Total:  8m 54s | Avg:  4m 27s | Max:  6m 42s
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  2m 12s | Avg:  2m 12s | Max:  2m 12s
      🟩 Test               Pass: 100%/1   | Total:  6m 42s | Avg:  6m 42s | Max:  6m 42s
    
  • 🟩 python: Pass: 100%/1 | Total: 13m 49s | Avg: 13m 49s | Max: 13m 49s

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

👃 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

@ericniebler ericniebler merged commit 539b621 into NVIDIA:main Dec 1, 2024
412 checks passed
davebayer pushed a commit to davebayer/cccl that referenced this pull request Dec 2, 2024
* make the upper limit on TMP loop unrolling configurable

* drop the TMP PP unrolling limit on nvcc and nvhpc whose parsers are slow
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants