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

experimental wrapper types for cudaEvent_t that provide a modern C++ interface. #2017

Merged
merged 18 commits into from
Jul 26, 2024

Conversation

ericniebler
Copy link
Collaborator

This commit adds some simple, modern C++ wrappers for cudaEvent_t, namely:

  • cuda::experimental::event_ref is a non-owning wrapper around a cudaEvent_t.

  • cuda::experimental::event is an owning wrapper around a cudaEvent_t.

  • cuda::experimental::timed_event is a cuda::experimental::event that also records the time at which it was recorded.

It also adds a constructor tag cuda::experimental::uninit that can be used to defer initialization of the object.

* `cuda::experimental::event_ref` is a non-owning wrapper around a
  `cudaEvent_t`.

* `cuda::experimental::event` is an owning wrapper around a `cudaEvent_t`.

* `cuda::experimental::timed_event` is a `cuda::experimental::event` that also
  records the time at which it was recorded.
@ericniebler ericniebler requested review from a team as code owners July 20, 2024 00:57
@ericniebler ericniebler requested review from alliepiper, griwes and pciolkosz and removed request for alliepiper and griwes July 20, 2024 00:57
@ericniebler ericniebler marked this pull request as draft July 20, 2024 00:58
@ericniebler
Copy link
Collaborator Author

marking this as a draft because i haven't yet finished writing tests, but i want input on the design.

Copy link
Contributor

🟨 CI finished in 2h 22m: Pass: 96%/56 | Total: 2h 35m | Avg: 2m 47s | Max: 12m 49s | Hits: 83%/1855
  • 🟨 cudax: Pass: 96%/55 | Total: 2h 23m | Avg: 2m 36s | Max: 7m 38s | Hits: 83%/1855

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  96%/51  | Total:  2h 13m | Avg:  2m 37s | Max:  7m 38s | Hits:  83%/1715  
      🟩 arm64              Pass: 100%/4   | Total:  9m 06s | Avg:  2m 16s | Max:  2m 43s | Hits:  80%/140   
    🚨 cxx_family: MSVC 🚨
      🟩 Clang              Pass: 100%/30  | Total:  1h 13m | Avg:  2m 26s | Max:  4m 13s | Hits:  85%/1050  
      🟩 GCC                Pass: 100%/22  | Total: 51m 47s | Avg:  2m 21s | Max:  4m 00s | Hits:  80%/770   
      🟩 Intel              Pass: 100%/1   | Total:  2m 40s | Avg:  2m 40s | Max:  2m 40s | Hits:  82%/35    
      🔥 MSVC               Pass:   0%/2   | Total: 15m 10s | Avg:  7m 35s | Max:  7m 38s
    🔍 jobs: Build 🔍
      🔍 Build              Pass:  95%/47  | Total:  1h 52m | Avg:  2m 23s | Max:  7m 38s | Hits:  80%/1575  
      🟩 Test               Pass: 100%/8   | Total: 30m 16s | Avg:  3m 47s | Max:  4m 13s | Hits:  97%/280   
    🔍 std: 20 🔍
      🟩 17                 Pass: 100%/31  | Total:  1h 12m | Avg:  2m 20s | Max:  4m 13s | Hits:  82%/1085  
      🔍 20                 Pass:  91%/24  | Total:  1h 10m | Avg:  2m 56s | Max:  7m 38s | Hits:  83%/770   
    🟨 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  4m 21s | Avg:  2m 10s | Max:  2m 14s | Hits:  82%/70    
      🟩 Clang10            Pass: 100%/2   | Total:  4m 02s | Avg:  2m 01s | Max:  2m 13s | Hits:  82%/70    
      🟩 Clang11            Pass: 100%/4   | Total:  8m 55s | Avg:  2m 13s | Max:  2m 31s | Hits:  82%/140   
      🟩 Clang12            Pass: 100%/4   | Total:  8m 26s | Avg:  2m 06s | Max:  2m 18s | Hits:  82%/140   
      🟩 Clang13            Pass: 100%/4   | Total:  8m 39s | Avg:  2m 09s | Max:  2m 12s | Hits:  82%/140   
      🟩 Clang14            Pass: 100%/6   | Total: 16m 51s | Avg:  2m 48s | Max:  4m 07s | Hits:  88%/210   
      🟩 Clang15            Pass: 100%/2   | Total:  4m 19s | Avg:  2m 09s | Max:  2m 14s | Hits:  82%/70    
      🟩 Clang16            Pass: 100%/6   | Total: 17m 53s | Avg:  2m 58s | Max:  4m 13s | Hits:  88%/210   
      🟩 GCC9               Pass: 100%/2   | Total:  3m 47s | Avg:  1m 53s | Max:  2m 00s | Hits:  77%/70    
      🟩 GCC10              Pass: 100%/4   | Total:  8m 21s | Avg:  2m 05s | Max:  2m 08s | Hits:  77%/140   
      🟩 GCC11              Pass: 100%/4   | Total:  8m 38s | Avg:  2m 09s | Max:  2m 12s | Hits:  77%/140   
      🟩 GCC12              Pass: 100%/12  | Total: 31m 01s | Avg:  2m 35s | Max:  4m 00s | Hits:  82%/420   
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  2m 40s | Avg:  2m 40s | Max:  2m 40s | Hits:  82%/35    
      🟥 MSVC14.36          Pass:   0%/1   | Total:  7m 32s | Avg:  7m 32s | Max:  7m 32s
      🟥 MSVC14.39          Pass:   0%/1   | Total:  7m 38s | Avg:  7m 38s | Max:  7m 38s
    🟨 cudacxx_family
      🟨 nvcc               Pass:  96%/55  | Total:  2h 23m | Avg:  2m 36s | Max:  7m 38s | Hits:  83%/1855  
    🟨 gpu
      🟨 v100               Pass:  96%/55  | Total:  2h 23m | Avg:  2m 36s | Max:  7m 38s | Hits:  83%/1855  
    🟨 ctk
      🟨 12.0               Pass:  95%/23  | Total:  1h 00m | Avg:  2m 37s | Max:  7m 32s | Hits:  83%/770   
      🟨 12.5               Pass:  96%/32  | Total:  1h 22m | Avg:  2m 34s | Max:  7m 38s | Hits:  82%/1085  
    🟨 cudacxx
      🟨 nvcc12.0           Pass:  95%/23  | Total:  1h 00m | Avg:  2m 37s | Max:  7m 32s | Hits:  83%/770   
      🟨 nvcc12.5           Pass:  96%/32  | Total:  1h 22m | Avg:  2m 34s | Max:  7m 38s | Hits:  82%/1085  
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  2m 01s | Avg:  2m 01s | Max:  2m 01s | Hits:  77%/35    
      🟩 90a                Pass: 100%/1   | Total:  2m 02s | Avg:  2m 02s | Max:  2m 02s | Hits:  77%/35    
    
  • 🟩 pycuda: Pass: 100%/1 | Total: 12m 49s | Avg: 12m 49s | Max: 12m 49s

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

👃 Inspect Changes

Modifications in project?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
pycuda

Modifications in project or dependencies?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
+/- pycuda

🏃‍ Runner counts (total jobs: 56)

# Runner
41 linux-amd64-cpu16
9 linux-amd64-gpu-v100-latest-1
4 linux-arm64-cpu16
2 windows-amd64-cpu16

Copy link
Contributor

🟩 CI finished in 11m 09s: Pass: 100%/56 | Total: 2h 34m | Avg: 2m 45s | Max: 11m 09s | Hits: 84%/1913
  • 🟩 cudax: Pass: 100%/55 | Total: 2h 23m | Avg: 2m 36s | Max: 7m 30s | Hits: 84%/1913

    🟩 cpu
      🟩 amd64              Pass: 100%/51  | Total:  2h 11m | Avg:  2m 34s | Max:  7m 30s | Hits:  84%/1773  
      🟩 arm64              Pass: 100%/4   | Total: 11m 30s | Avg:  2m 52s | Max:  3m 16s | Hits:  82%/140   
    🟩 ctk
      🟩 12.0               Pass: 100%/23  | Total: 59m 23s | Avg:  2m 34s | Max:  7m 23s | Hits:  84%/799   
      🟩 12.5               Pass: 100%/32  | Total:  1h 23m | Avg:  2m 36s | Max:  7m 30s | Hits:  84%/1114  
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/23  | Total: 59m 23s | Avg:  2m 34s | Max:  7m 23s | Hits:  84%/799   
      🟩 nvcc12.5           Pass: 100%/32  | Total:  1h 23m | Avg:  2m 36s | Max:  7m 30s | Hits:  84%/1114  
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/55  | Total:  2h 23m | Avg:  2m 36s | Max:  7m 30s | Hits:  84%/1913  
    🟩 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  4m 18s | Avg:  2m 09s | Max:  2m 09s | Hits:  85%/70    
      🟩 Clang10            Pass: 100%/2   | Total:  4m 03s | Avg:  2m 01s | Max:  2m 10s | Hits:  85%/70    
      🟩 Clang11            Pass: 100%/4   | Total:  9m 08s | Avg:  2m 17s | Max:  2m 46s | Hits:  85%/140   
      🟩 Clang12            Pass: 100%/4   | Total:  8m 47s | Avg:  2m 11s | Max:  2m 15s | Hits:  85%/140   
      🟩 Clang13            Pass: 100%/4   | Total:  8m 14s | Avg:  2m 03s | Max:  2m 11s | Hits:  85%/140   
      🟩 Clang14            Pass: 100%/6   | Total: 16m 29s | Avg:  2m 44s | Max:  4m 02s | Hits:  90%/210   
      🟩 Clang15            Pass: 100%/2   | Total:  4m 13s | Avg:  2m 06s | Max:  2m 09s | Hits:  85%/70    
      🟩 Clang16            Pass: 100%/6   | Total: 17m 52s | Avg:  2m 58s | Max:  3m 44s | Hits:  90%/210   
      🟩 GCC9               Pass: 100%/2   | Total:  4m 16s | Avg:  2m 08s | Max:  2m 10s | Hits:  80%/70    
      🟩 GCC10              Pass: 100%/4   | Total:  8m 03s | Avg:  2m 00s | Max:  2m 04s | Hits:  80%/140   
      🟩 GCC11              Pass: 100%/4   | Total:  7m 52s | Avg:  1m 58s | Max:  2m 04s | Hits:  80%/140   
      🟩 GCC12              Pass: 100%/12  | Total: 32m 03s | Avg:  2m 40s | Max:  3m 44s | Hits:  84%/420   
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  2m 53s | Avg:  2m 53s | Max:  2m 53s | Hits:  85%/35    
      🟩 MSVC14.36          Pass: 100%/1   | Total:  7m 23s | Avg:  7m 23s | Max:  7m 23s | Hits:  55%/29    
      🟩 MSVC14.39          Pass: 100%/1   | Total:  7m 30s | Avg:  7m 30s | Max:  7m 30s | Hits:  55%/29    
    🟩 cxx_family
      🟩 Clang              Pass: 100%/30  | Total:  1h 13m | Avg:  2m 26s | Max:  4m 02s | Hits:  87%/1050  
      🟩 GCC                Pass: 100%/22  | Total: 52m 14s | Avg:  2m 22s | Max:  3m 44s | Hits:  82%/770   
      🟩 Intel              Pass: 100%/1   | Total:  2m 53s | Avg:  2m 53s | Max:  2m 53s | Hits:  85%/35    
      🟩 MSVC               Pass: 100%/2   | Total: 14m 53s | Avg:  7m 26s | Max:  7m 30s | Hits:  55%/58    
    🟩 gpu
      🟩 v100               Pass: 100%/55  | Total:  2h 23m | Avg:  2m 36s | Max:  7m 30s | Hits:  84%/1913  
    🟩 jobs
      🟩 Build              Pass: 100%/47  | Total:  1h 53m | Avg:  2m 25s | Max:  7m 30s | Hits:  82%/1633  
      🟩 Test               Pass: 100%/8   | Total: 29m 26s | Avg:  3m 40s | Max:  4m 02s | Hits:  97%/280   
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  1m 58s | Avg:  1m 58s | Max:  1m 58s | Hits:  80%/35    
      🟩 90a                Pass: 100%/1   | Total:  1m 46s | Avg:  1m 46s | Max:  1m 46s | Hits:  80%/35    
    🟩 std
      🟩 17                 Pass: 100%/31  | Total:  1h 13m | Avg:  2m 23s | Max:  4m 02s | Hits:  85%/1085  
      🟩 20                 Pass: 100%/24  | Total:  1h 09m | Avg:  2m 52s | Max:  7m 30s | Hits:  83%/828   
    
  • 🟩 pycuda: Pass: 100%/1 | Total: 11m 09s | Avg: 11m 09s | Max: 11m 09s

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

👃 Inspect Changes

Modifications in project?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
pycuda

Modifications in project or dependencies?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
+/- pycuda

🏃‍ Runner counts (total jobs: 56)

# Runner
41 linux-amd64-cpu16
9 linux-amd64-gpu-v100-latest-1
4 linux-arm64-cpu16
2 windows-amd64-cpu16

…d of microsoconds

according to the CUDA docs for `cudaEventElapsedTime`, the elapsed time
has sub-microsecond resolution, so it is more appropriate to represent
it in nanoseconds.
Copy link
Contributor

🟩 CI finished in 10m 32s: Pass: 100%/56 | Total: 2h 34m | Avg: 2m 45s | Max: 10m 32s | Hits: 89%/1913
  • 🟩 cudax: Pass: 100%/55 | Total: 2h 24m | Avg: 2m 37s | Max: 7m 30s | Hits: 89%/1913

    🟩 cpu
      🟩 amd64              Pass: 100%/51  | Total:  2h 13m | Avg:  2m 36s | Max:  7m 30s | Hits:  89%/1773  
      🟩 arm64              Pass: 100%/4   | Total: 10m 55s | Avg:  2m 43s | Max:  3m 05s | Hits:  88%/140   
    🟩 ctk
      🟩 12.0               Pass: 100%/23  | Total:  1h 00m | Avg:  2m 37s | Max:  7m 26s | Hits:  89%/799   
      🟩 12.5               Pass: 100%/32  | Total:  1h 23m | Avg:  2m 37s | Max:  7m 30s | Hits:  89%/1114  
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/23  | Total:  1h 00m | Avg:  2m 37s | Max:  7m 26s | Hits:  89%/799   
      🟩 nvcc12.5           Pass: 100%/32  | Total:  1h 23m | Avg:  2m 37s | Max:  7m 30s | Hits:  89%/1114  
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/55  | Total:  2h 24m | Avg:  2m 37s | Max:  7m 30s | Hits:  89%/1913  
    🟩 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  4m 29s | Avg:  2m 14s | Max:  2m 15s | Hits:  91%/70    
      🟩 Clang10            Pass: 100%/2   | Total:  4m 20s | Avg:  2m 10s | Max:  2m 10s | Hits:  91%/70    
      🟩 Clang11            Pass: 100%/4   | Total:  8m 15s | Avg:  2m 03s | Max:  2m 12s | Hits:  91%/140   
      🟩 Clang12            Pass: 100%/4   | Total:  8m 28s | Avg:  2m 07s | Max:  2m 09s | Hits:  91%/140   
      🟩 Clang13            Pass: 100%/4   | Total:  8m 46s | Avg:  2m 11s | Max:  2m 20s | Hits:  91%/140   
      🟩 Clang14            Pass: 100%/6   | Total: 16m 03s | Avg:  2m 40s | Max:  3m 45s | Hits:  94%/210   
      🟩 Clang15            Pass: 100%/2   | Total:  4m 27s | Avg:  2m 13s | Max:  2m 15s | Hits:  91%/70    
      🟩 Clang16            Pass: 100%/6   | Total: 18m 37s | Avg:  3m 06s | Max:  4m 03s | Hits:  94%/210   
      🟩 GCC9               Pass: 100%/2   | Total:  4m 01s | Avg:  2m 00s | Max:  2m 02s | Hits:  85%/70    
      🟩 GCC10              Pass: 100%/4   | Total:  7m 48s | Avg:  1m 57s | Max:  2m 08s | Hits:  85%/140   
      🟩 GCC11              Pass: 100%/4   | Total:  8m 14s | Avg:  2m 03s | Max:  2m 06s | Hits:  85%/140   
      🟩 GCC12              Pass: 100%/12  | Total: 32m 58s | Avg:  2m 44s | Max:  4m 01s | Hits:  88%/420   
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  2m 48s | Avg:  2m 48s | Max:  2m 48s | Hits:  91%/35    
      🟩 MSVC14.36          Pass: 100%/1   | Total:  7m 26s | Avg:  7m 26s | Max:  7m 26s | Hits:  62%/29    
      🟩 MSVC14.39          Pass: 100%/1   | Total:  7m 30s | Avg:  7m 30s | Max:  7m 30s | Hits:  62%/29    
    🟩 cxx_family
      🟩 Clang              Pass: 100%/30  | Total:  1h 13m | Avg:  2m 26s | Max:  4m 03s | Hits:  92%/1050  
      🟩 GCC                Pass: 100%/22  | Total: 53m 01s | Avg:  2m 24s | Max:  4m 01s | Hits:  87%/770   
      🟩 Intel              Pass: 100%/1   | Total:  2m 48s | Avg:  2m 48s | Max:  2m 48s | Hits:  91%/35    
      🟩 MSVC               Pass: 100%/2   | Total: 14m 56s | Avg:  7m 28s | Max:  7m 30s | Hits:  62%/58    
    🟩 gpu
      🟩 v100               Pass: 100%/55  | Total:  2h 24m | Avg:  2m 37s | Max:  7m 30s | Hits:  89%/1913  
    🟩 jobs
      🟩 Build              Pass: 100%/47  | Total:  1h 53m | Avg:  2m 25s | Max:  7m 30s | Hits:  88%/1633  
      🟩 Test               Pass: 100%/8   | Total: 30m 22s | Avg:  3m 47s | Max:  4m 03s | Hits:  97%/280   
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  2m 04s | Avg:  2m 04s | Max:  2m 04s | Hits:  85%/35    
      🟩 90a                Pass: 100%/1   | Total:  1m 58s | Avg:  1m 58s | Max:  1m 58s | Hits:  85%/35    
    🟩 std
      🟩 17                 Pass: 100%/31  | Total:  1h 13m | Avg:  2m 23s | Max:  3m 53s | Hits:  90%/1085  
      🟩 20                 Pass: 100%/24  | Total:  1h 10m | Avg:  2m 55s | Max:  7m 30s | Hits:  88%/828   
    
  • 🟩 pycuda: Pass: 100%/1 | Total: 10m 32s | Avg: 10m 32s | Max: 10m 32s

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

👃 Inspect Changes

Modifications in project?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
pycuda

Modifications in project or dependencies?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
+/- pycuda

🏃‍ Runner counts (total jobs: 56)

# Runner
41 linux-amd64-cpu16
9 linux-amd64-gpu-v100-latest-1
4 linux-arm64-cpu16
2 windows-amd64-cpu16

Copy link
Contributor

🟩 CI finished in 10m 22s: Pass: 100%/56 | Total: 2h 31m | Avg: 2m 42s | Max: 10m 22s | Hits: 96%/1913
  • 🟩 cudax: Pass: 100%/55 | Total: 2h 21m | Avg: 2m 33s | Max: 7m 34s | Hits: 96%/1913

    🟩 cpu
      🟩 amd64              Pass: 100%/51  | Total:  2h 10m | Avg:  2m 33s | Max:  7m 34s | Hits:  96%/1773  
      🟩 arm64              Pass: 100%/4   | Total: 10m 53s | Avg:  2m 43s | Max:  2m 59s | Hits:  97%/140   
    🟩 ctk
      🟩 12.0               Pass: 100%/23  | Total: 59m 21s | Avg:  2m 34s | Max:  7m 34s | Hits:  96%/799   
      🟩 12.5               Pass: 100%/32  | Total:  1h 21m | Avg:  2m 33s | Max:  7m 20s | Hits:  97%/1114  
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/23  | Total: 59m 21s | Avg:  2m 34s | Max:  7m 34s | Hits:  96%/799   
      🟩 nvcc12.5           Pass: 100%/32  | Total:  1h 21m | Avg:  2m 33s | Max:  7m 20s | Hits:  97%/1114  
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/55  | Total:  2h 21m | Avg:  2m 33s | Max:  7m 34s | Hits:  96%/1913  
    🟩 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  4m 10s | Avg:  2m 05s | Max:  2m 07s | Hits: 100%/70    
      🟩 Clang10            Pass: 100%/2   | Total:  4m 19s | Avg:  2m 09s | Max:  2m 12s | Hits: 100%/70    
      🟩 Clang11            Pass: 100%/4   | Total:  8m 31s | Avg:  2m 07s | Max:  2m 14s | Hits: 100%/140   
      🟩 Clang12            Pass: 100%/4   | Total:  8m 23s | Avg:  2m 05s | Max:  2m 10s | Hits: 100%/140   
      🟩 Clang13            Pass: 100%/4   | Total:  8m 49s | Avg:  2m 12s | Max:  2m 28s | Hits: 100%/140   
      🟩 Clang14            Pass: 100%/6   | Total: 15m 55s | Avg:  2m 39s | Max:  3m 45s | Hits: 100%/210   
      🟩 Clang15            Pass: 100%/2   | Total:  4m 13s | Avg:  2m 06s | Max:  2m 07s | Hits: 100%/70    
      🟩 Clang16            Pass: 100%/6   | Total: 18m 02s | Avg:  3m 00s | Max:  3m 57s | Hits: 100%/210   
      🟩 GCC9               Pass: 100%/2   | Total:  3m 38s | Avg:  1m 49s | Max:  1m 58s | Hits:  94%/70    
      🟩 GCC10              Pass: 100%/4   | Total:  7m 57s | Avg:  1m 59s | Max:  2m 01s | Hits:  94%/140   
      🟩 GCC11              Pass: 100%/4   | Total:  8m 30s | Avg:  2m 07s | Max:  2m 26s | Hits:  94%/140   
      🟩 GCC12              Pass: 100%/12  | Total: 30m 54s | Avg:  2m 34s | Max:  3m 37s | Hits:  94%/420   
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  2m 45s | Avg:  2m 45s | Max:  2m 45s | Hits: 100%/35    
      🟩 MSVC14.36          Pass: 100%/1   | Total:  7m 34s | Avg:  7m 34s | Max:  7m 34s | Hits:  72%/29    
      🟩 MSVC14.39          Pass: 100%/1   | Total:  7m 20s | Avg:  7m 20s | Max:  7m 20s | Hits:  72%/29    
    🟩 cxx_family
      🟩 Clang              Pass: 100%/30  | Total:  1h 12m | Avg:  2m 24s | Max:  3m 57s | Hits: 100%/1050  
      🟩 GCC                Pass: 100%/22  | Total: 50m 59s | Avg:  2m 19s | Max:  3m 37s | Hits:  94%/770   
      🟩 Intel              Pass: 100%/1   | Total:  2m 45s | Avg:  2m 45s | Max:  2m 45s | Hits: 100%/35    
      🟩 MSVC               Pass: 100%/2   | Total: 14m 54s | Avg:  7m 27s | Max:  7m 34s | Hits:  72%/58    
    🟩 gpu
      🟩 v100               Pass: 100%/55  | Total:  2h 21m | Avg:  2m 33s | Max:  7m 34s | Hits:  96%/1913  
    🟩 jobs
      🟩 Build              Pass: 100%/47  | Total:  1h 51m | Avg:  2m 22s | Max:  7m 34s | Hits:  96%/1633  
      🟩 Test               Pass: 100%/8   | Total: 29m 04s | Avg:  3m 38s | Max:  3m 57s | Hits:  97%/280   
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  2m 19s | Avg:  2m 19s | Max:  2m 19s | Hits:  94%/35    
      🟩 90a                Pass: 100%/1   | Total:  2m 03s | Avg:  2m 03s | Max:  2m 03s | Hits:  94%/35    
    🟩 std
      🟩 17                 Pass: 100%/31  | Total:  1h 12m | Avg:  2m 20s | Max:  3m 57s | Hits:  97%/1085  
      🟩 20                 Pass: 100%/24  | Total:  1h 08m | Avg:  2m 51s | Max:  7m 34s | Hits:  95%/828   
    
  • 🟩 pycuda: Pass: 100%/1 | Total: 10m 22s | Avg: 10m 22s | Max: 10m 22s

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

👃 Inspect Changes

Modifications in project?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
pycuda

Modifications in project or dependencies?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
+/- pycuda

🏃‍ Runner counts (total jobs: 56)

# Runner
41 linux-amd64-cpu16
9 linux-amd64-gpu-v100-latest-1
4 linux-arm64-cpu16
2 windows-amd64-cpu16

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.

Some nitpicks from my side, mostly regarding style

cudax/include/cuda/experimental/__event/event.cuh Outdated Show resolved Hide resolved
cudax/include/cuda/experimental/__event/event.cuh Outdated Show resolved Hide resolved
cudax/include/cuda/experimental/__event/event.cuh Outdated Show resolved Hide resolved
cudax/include/cuda/experimental/__event/event_ref.cuh Outdated Show resolved Hide resolved
cudax/include/cuda/experimental/__event/timed_event.cuh Outdated Show resolved Hide resolved
cudax/include/cuda/experimental/__event/event.cuh Outdated Show resolved Hide resolved
@pciolkosz
Copy link
Contributor

We will need to add current device manipulation and probably add a device taking constructor, but its probably a future PR

Copy link
Contributor

🟩 CI finished in 3h 50m: Pass: 100%/56 | Total: 2h 45m | Avg: 2m 57s | Max: 11m 12s | Hits: 74%/1913
  • 🟩 cudax: Pass: 100%/55 | Total: 2h 34m | Avg: 2m 48s | Max: 7m 54s | Hits: 74%/1913

    🟩 cpu
      🟩 amd64              Pass: 100%/51  | Total:  2h 22m | Avg:  2m 48s | Max:  7m 54s | Hits:  75%/1773  
      🟩 arm64              Pass: 100%/4   | Total: 11m 21s | Avg:  2m 50s | Max:  3m 00s | Hits:  71%/140   
    🟩 ctk
      🟩 12.0               Pass: 100%/23  | Total:  1h 05m | Avg:  2m 51s | Max:  7m 51s | Hits:  75%/799   
      🟩 12.5               Pass: 100%/32  | Total:  1h 28m | Avg:  2m 46s | Max:  7m 54s | Hits:  74%/1114  
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/23  | Total:  1h 05m | Avg:  2m 51s | Max:  7m 51s | Hits:  75%/799   
      🟩 nvcc12.5           Pass: 100%/32  | Total:  1h 28m | Avg:  2m 46s | Max:  7m 54s | Hits:  74%/1114  
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/55  | Total:  2h 34m | Avg:  2m 48s | Max:  7m 54s | Hits:  74%/1913  
    🟩 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  4m 59s | Avg:  2m 29s | Max:  2m 35s | Hits:  74%/70    
      🟩 Clang10            Pass: 100%/2   | Total:  4m 52s | Avg:  2m 26s | Max:  2m 26s | Hits:  74%/70    
      🟩 Clang11            Pass: 100%/4   | Total:  9m 35s | Avg:  2m 23s | Max:  2m 43s | Hits:  74%/140   
      🟩 Clang12            Pass: 100%/4   | Total:  8m 56s | Avg:  2m 14s | Max:  2m 16s | Hits:  74%/140   
      🟩 Clang13            Pass: 100%/4   | Total:  9m 12s | Avg:  2m 18s | Max:  2m 30s | Hits:  74%/140   
      🟩 Clang14            Pass: 100%/6   | Total: 18m 18s | Avg:  3m 03s | Max:  4m 24s | Hits:  82%/210   
      🟩 Clang15            Pass: 100%/2   | Total:  4m 42s | Avg:  2m 21s | Max:  2m 22s | Hits:  74%/70    
      🟩 Clang16            Pass: 100%/6   | Total: 18m 57s | Avg:  3m 09s | Max:  4m 07s | Hits:  82%/210   
      🟩 GCC9               Pass: 100%/2   | Total:  4m 18s | Avg:  2m 09s | Max:  2m 10s | Hits:  68%/70    
      🟩 GCC10              Pass: 100%/4   | Total:  9m 14s | Avg:  2m 18s | Max:  2m 26s | Hits:  68%/140   
      🟩 GCC11              Pass: 100%/4   | Total:  9m 06s | Avg:  2m 16s | Max:  2m 28s | Hits:  68%/140   
      🟩 GCC12              Pass: 100%/12  | Total: 33m 23s | Avg:  2m 46s | Max:  4m 05s | Hits:  77%/420   
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  2m 52s | Avg:  2m 52s | Max:  2m 52s | Hits:  74%/35    
      🟩 MSVC14.36          Pass: 100%/1   | Total:  7m 51s | Avg:  7m 51s | Max:  7m 51s | Hits:  41%/29    
      🟩 MSVC14.39          Pass: 100%/1   | Total:  7m 54s | Avg:  7m 54s | Max:  7m 54s | Hits:  41%/29    
    🟩 cxx_family
      🟩 Clang              Pass: 100%/30  | Total:  1h 19m | Avg:  2m 39s | Max:  4m 24s | Hits:  77%/1050  
      🟩 GCC                Pass: 100%/22  | Total: 56m 01s | Avg:  2m 32s | Max:  4m 05s | Hits:  73%/770   
      🟩 Intel              Pass: 100%/1   | Total:  2m 52s | Avg:  2m 52s | Max:  2m 52s | Hits:  74%/35    
      🟩 MSVC               Pass: 100%/2   | Total: 15m 45s | Avg:  7m 52s | Max:  7m 54s | Hits:  41%/58    
    🟩 gpu
      🟩 v100               Pass: 100%/55  | Total:  2h 34m | Avg:  2m 48s | Max:  7m 54s | Hits:  74%/1913  
    🟩 jobs
      🟩 Build              Pass: 100%/47  | Total:  2h 01m | Avg:  2m 35s | Max:  7m 54s | Hits:  70%/1633  
      🟩 Test               Pass: 100%/8   | Total: 32m 32s | Avg:  4m 04s | Max:  4m 24s | Hits:  97%/280   
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  1m 54s | Avg:  1m 54s | Max:  1m 54s | Hits:  68%/35    
      🟩 90a                Pass: 100%/1   | Total:  2m 03s | Avg:  2m 03s | Max:  2m 03s | Hits:  68%/35    
    🟩 std
      🟩 17                 Pass: 100%/31  | Total:  1h 19m | Avg:  2m 33s | Max:  4m 24s | Hits:  75%/1085  
      🟩 20                 Pass: 100%/24  | Total:  1h 14m | Avg:  3m 07s | Max:  7m 54s | Hits:  74%/828   
    
  • 🟩 pycuda: Pass: 100%/1 | Total: 11m 12s | Avg: 11m 12s | Max: 11m 12s

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

👃 Inspect Changes

Modifications in project?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
pycuda

Modifications in project or dependencies?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
+/- pycuda

🏃‍ Runner counts (total jobs: 56)

# Runner
41 linux-amd64-cpu16
9 linux-amd64-gpu-v100-latest-1
4 linux-arm64-cpu16
2 windows-amd64-cpu16

@bernhardmgruber bernhardmgruber mentioned this pull request Jul 23, 2024
1 task
@pciolkosz

This comment was marked as spam.

@pciolkosz pciolkosz linked an issue Jul 23, 2024 that may be closed by this pull request
@ericniebler
Copy link
Collaborator Author

@pciolkosz @miscco i prototyped the lazy design we discussed, but i didn't like it. instead i removed default constructibility. in the latest design,

  • you construct an event with a stream_ref and (optionally) flags.
  • the event is recorded in the constructor
  • you can construct an "uninitialized" event with event(uninit).
  • you can later assign to an uninitialized event like e = event(stream, flags).

@pciolkosz
Copy link
Contributor

pciolkosz commented Jul 24, 2024

I like the changes, I think its a better way of expressing what I tried to achieve with the creation on record

I guess the only pattern I can see where its not working as well is:

auto e = cuda::event(uninit);
while (something) {
    e.record(some_stream);
    // some other usage of e
}

It would require either an if around e.record or extra record in the constructor before the loop. But I would still say the pros still outweigh this case

Copy link
Contributor

🟩 CI finished in 13h 25m: Pass: 100%/56 | Total: 4h 50m | Avg: 5m 11s | Max: 12m 33s | Hits: 84%/1913
  • 🟩 cudax: Pass: 100%/55 | Total: 4h 38m | Avg: 5m 03s | Max: 9m 21s | Hits: 84%/1913

    🟩 cpu
      🟩 amd64              Pass: 100%/51  | Total:  4h 21m | Avg:  5m 08s | Max:  9m 21s | Hits:  84%/1773  
      🟩 arm64              Pass: 100%/4   | Total: 16m 13s | Avg:  4m 03s | Max:  4m 37s | Hits:  82%/140   
    🟩 ctk
      🟩 12.0               Pass: 100%/23  | Total:  1h 57m | Avg:  5m 05s | Max:  9m 21s | Hits:  84%/799   
      🟩 12.5               Pass: 100%/32  | Total:  2h 40m | Avg:  5m 01s | Max:  9m 00s | Hits:  84%/1114  
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/23  | Total:  1h 57m | Avg:  5m 05s | Max:  9m 21s | Hits:  84%/799   
      🟩 nvcc12.5           Pass: 100%/32  | Total:  2h 40m | Avg:  5m 01s | Max:  9m 00s | Hits:  84%/1114  
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/55  | Total:  4h 38m | Avg:  5m 03s | Max:  9m 21s | Hits:  84%/1913  
    🟩 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  9m 44s | Avg:  4m 52s | Max:  6m 06s | Hits:  85%/70    
      🟩 Clang10            Pass: 100%/2   | Total: 11m 33s | Avg:  5m 46s | Max:  6m 15s | Hits:  85%/70    
      🟩 Clang11            Pass: 100%/4   | Total: 20m 57s | Avg:  5m 14s | Max:  5m 51s | Hits:  85%/140   
      🟩 Clang12            Pass: 100%/4   | Total: 22m 13s | Avg:  5m 33s | Max:  6m 24s | Hits:  85%/140   
      🟩 Clang13            Pass: 100%/4   | Total: 20m 25s | Avg:  5m 06s | Max:  6m 17s | Hits:  85%/140   
      🟩 Clang14            Pass: 100%/6   | Total: 29m 52s | Avg:  4m 58s | Max:  6m 16s | Hits:  90%/210   
      🟩 Clang15            Pass: 100%/2   | Total: 10m 34s | Avg:  5m 17s | Max:  5m 25s | Hits:  85%/70    
      🟩 Clang16            Pass: 100%/6   | Total: 29m 23s | Avg:  4m 53s | Max:  6m 24s | Hits:  90%/210   
      🟩 GCC9               Pass: 100%/2   | Total:  8m 13s | Avg:  4m 06s | Max:  5m 21s | Hits:  80%/70    
      🟩 GCC10              Pass: 100%/4   | Total: 16m 00s | Avg:  4m 00s | Max:  4m 52s | Hits:  80%/140   
      🟩 GCC11              Pass: 100%/4   | Total: 18m 56s | Avg:  4m 44s | Max:  5m 08s | Hits:  80%/140   
      🟩 GCC12              Pass: 100%/12  | Total: 55m 28s | Avg:  4m 37s | Max:  6m 27s | Hits:  84%/420   
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  6m 26s | Avg:  6m 26s | Max:  6m 26s | Hits:  85%/35    
      🟩 MSVC14.36          Pass: 100%/1   | Total:  9m 21s | Avg:  9m 21s | Max:  9m 21s | Hits:  55%/29    
      🟩 MSVC14.39          Pass: 100%/1   | Total:  9m 00s | Avg:  9m 00s | Max:  9m 00s | Hits:  55%/29    
    🟩 cxx_family
      🟩 Clang              Pass: 100%/30  | Total:  2h 34m | Avg:  5m 09s | Max:  6m 24s | Hits:  87%/1050  
      🟩 GCC                Pass: 100%/22  | Total:  1h 38m | Avg:  4m 28s | Max:  6m 27s | Hits:  82%/770   
      🟩 Intel              Pass: 100%/1   | Total:  6m 26s | Avg:  6m 26s | Max:  6m 26s | Hits:  85%/35    
      🟩 MSVC               Pass: 100%/2   | Total: 18m 21s | Avg:  9m 10s | Max:  9m 21s | Hits:  55%/58    
    🟩 gpu
      🟩 v100               Pass: 100%/55  | Total:  4h 38m | Avg:  5m 03s | Max:  9m 21s | Hits:  84%/1913  
    🟩 jobs
      🟩 Build              Pass: 100%/47  | Total:  4h 07m | Avg:  5m 16s | Max:  9m 21s | Hits:  82%/1633  
      🟩 Test               Pass: 100%/8   | Total: 30m 12s | Avg:  3m 46s | Max:  4m 45s | Hits:  97%/280   
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  4m 54s | Avg:  4m 54s | Max:  4m 54s | Hits:  80%/35    
      🟩 90a                Pass: 100%/1   | Total:  6m 27s | Avg:  6m 27s | Max:  6m 27s | Hits:  80%/35    
    🟩 std
      🟩 17                 Pass: 100%/31  | Total:  2h 40m | Avg:  5m 10s | Max:  6m 27s | Hits:  85%/1085  
      🟩 20                 Pass: 100%/24  | Total:  1h 57m | Avg:  4m 54s | Max:  9m 21s | Hits:  83%/828   
    
  • 🟩 pycuda: Pass: 100%/1 | Total: 12m 33s | Avg: 12m 33s | Max: 12m 33s

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

👃 Inspect Changes

Modifications in project?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
pycuda

Modifications in project or dependencies?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
+/- pycuda

🏃‍ Runner counts (total jobs: 56)

# Runner
41 linux-amd64-cpu16
9 linux-amd64-gpu-v100-latest-1
4 linux-arm64-cpu16
2 windows-amd64-cpu16

@ericniebler ericniebler marked this pull request as ready for review July 24, 2024 18:20
Copy link
Contributor

🟨 CI finished in 3h 55m: Pass: 82%/56 | Total: 2h 37m | Avg: 2m 48s | Max: 12m 10s | Hits: 83%/1575
  • 🟨 cudax: Pass: 81%/55 | Total: 2h 24m | Avg: 2m 38s | Max: 7m 37s | Hits: 83%/1575

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  80%/51  | Total:  2h 14m | Avg:  2m 38s | Max:  7m 37s | Hits:  83%/1435  
      🟩 arm64              Pass: 100%/4   | Total: 10m 11s | Avg:  2m 32s | Max:  2m 41s | Hits:  82%/140   
    🟨 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  4m 28s | Avg:  2m 14s | Max:  2m 21s | Hits:  85%/70    
      🟩 Clang10            Pass: 100%/2   | Total:  4m 20s | Avg:  2m 10s | Max:  2m 17s | Hits:  85%/70    
      🟩 Clang11            Pass: 100%/4   | Total:  8m 25s | Avg:  2m 06s | Max:  2m 10s | Hits:  85%/140   
      🟩 Clang12            Pass: 100%/4   | Total:  8m 03s | Avg:  2m 00s | Max:  2m 08s | Hits:  85%/140   
      🟩 Clang13            Pass: 100%/4   | Total:  8m 38s | Avg:  2m 09s | Max:  2m 19s | Hits:  85%/140   
      🟨 Clang14            Pass:  66%/6   | Total: 17m 09s | Avg:  2m 51s | Max:  4m 40s | Hits:  85%/140   
      🟩 Clang15            Pass: 100%/2   | Total:  4m 06s | Avg:  2m 03s | Max:  2m 04s | Hits:  85%/70    
      🟨 Clang16            Pass:  66%/6   | Total: 18m 23s | Avg:  3m 03s | Max:  4m 25s | Hits:  85%/140   
      🟩 GCC9               Pass: 100%/2   | Total:  4m 10s | Avg:  2m 05s | Max:  2m 06s | Hits:  80%/70    
      🟩 GCC10              Pass: 100%/4   | Total:  7m 50s | Avg:  1m 57s | Max:  2m 20s | Hits:  80%/140   
      🟩 GCC11              Pass: 100%/4   | Total:  7m 32s | Avg:  1m 53s | Max:  2m 06s | Hits:  80%/140   
      🟨 GCC12              Pass:  66%/12  | Total: 33m 54s | Avg:  2m 49s | Max:  4m 42s | Hits:  80%/280   
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  2m 53s | Avg:  2m 53s | Max:  2m 53s | Hits:  85%/35    
      🟥 MSVC14.36          Pass:   0%/1   | Total:  7m 37s | Avg:  7m 37s | Max:  7m 37s
      🟥 MSVC14.39          Pass:   0%/1   | Total:  7m 26s | Avg:  7m 26s | Max:  7m 26s
    🟨 cxx_family
      🟨 Clang              Pass:  86%/30  | Total:  1h 13m | Avg:  2m 27s | Max:  4m 40s | Hits:  85%/910   
      🟨 GCC                Pass:  81%/22  | Total: 53m 26s | Avg:  2m 25s | Max:  4m 42s | Hits:  80%/630   
      🟩 Intel              Pass: 100%/1   | Total:  2m 53s | Avg:  2m 53s | Max:  2m 53s | Hits:  85%/35    
      🟥 MSVC               Pass:   0%/2   | Total: 15m 03s | Avg:  7m 31s | Max:  7m 37s
    🟨 cudacxx_family
      🟨 nvcc               Pass:  81%/55  | Total:  2h 24m | Avg:  2m 38s | Max:  7m 37s | Hits:  83%/1575  
    🟨 gpu
      🟨 v100               Pass:  81%/55  | Total:  2h 24m | Avg:  2m 38s | Max:  7m 37s | Hits:  83%/1575  
    🟨 ctk
      🟨 12.0               Pass:  78%/23  | Total:  1h 01m | Avg:  2m 39s | Max:  7m 37s | Hits:  83%/630   
      🟨 12.5               Pass:  84%/32  | Total:  1h 23m | Avg:  2m 37s | Max:  7m 26s | Hits:  83%/945   
    🟨 cudacxx
      🟨 nvcc12.0           Pass:  78%/23  | Total:  1h 01m | Avg:  2m 39s | Max:  7m 37s | Hits:  83%/630   
      🟨 nvcc12.5           Pass:  84%/32  | Total:  1h 23m | Avg:  2m 37s | Max:  7m 26s | Hits:  83%/945   
    🟨 jobs
      🟨 Build              Pass:  95%/47  | Total:  1h 50m | Avg:  2m 21s | Max:  7m 37s | Hits:  83%/1575  
      🟥 Test               Pass:   0%/8   | Total: 34m 01s | Avg:  4m 15s | Max:  4m 42s
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  2m 00s | Avg:  2m 00s | Max:  2m 00s | Hits:  80%/35    
      🟩 90a                Pass: 100%/1   | Total:  1m 53s | Avg:  1m 53s | Max:  1m 53s | Hits:  80%/35    
    🟨 std
      🟨 17                 Pass:  87%/31  | Total:  1h 15m | Avg:  2m 25s | Max:  4m 42s | Hits:  83%/945   
      🟨 20                 Pass:  75%/24  | Total:  1h 09m | Avg:  2m 53s | Max:  7m 37s | Hits:  83%/630   
    
  • 🟩 pycuda: Pass: 100%/1 | Total: 12m 10s | Avg: 12m 10s | Max: 12m 10s

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

👃 Inspect Changes

Modifications in project?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
pycuda

Modifications in project or dependencies?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
+/- pycuda

🏃‍ Runner counts (total jobs: 56)

# Runner
41 linux-amd64-cpu16
9 linux-amd64-gpu-v100-latest-1
4 linux-arm64-cpu16
2 windows-amd64-cpu16

TEST_CASE("can construct an event_ref from a cudaEvent_t", "[event]")
{
::cudaEvent_t ev;
CUDAX_REQUIRE(::cudaEventCreate(&ev) == ::cudaSuccess);
Copy link
Contributor

@pciolkosz pciolkosz Jul 25, 2024

Choose a reason for hiding this comment

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

Suggestion: There is a CUDART macro in testing_common (I need to move that header) that check if a runtime calls was successful

CUDAX_REQUIRE(ref.get() == ev);
CUDAX_REQUIRE(!!ref);
// test implicit converstion from cudaEvent_t:
cudax::event_ref ref2 = ::test::fn_takes_event_ref(ev);
Copy link
Contributor

@pciolkosz pciolkosz Jul 25, 2024

Choose a reason for hiding this comment

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

Suggestion: I don't know if its better, but when I have a pattern of thing, thing2, thing3 in sections starting with a comment, I started to put them into catch2 SECTION("comment") { thing...} instead. This way the comment ends up being displayed on error and there is no need to number things since these are different scopes

Copy link
Contributor

🟨 CI finished in 3h 01m: Pass: 96%/56 | Total: 2h 42m | Avg: 2m 53s | Max: 15m 40s | Hits: 85%/1855
  • 🟨 cudax: Pass: 96%/55 | Total: 2h 26m | Avg: 2m 39s | Max: 8m 31s | Hits: 85%/1855

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  96%/51  | Total:  2h 17m | Avg:  2m 41s | Max:  8m 31s | Hits:  85%/1715  
      🟩 arm64              Pass: 100%/4   | Total:  9m 14s | Avg:  2m 18s | Max:  2m 28s | Hits:  82%/140   
    🚨 cxx_family: MSVC 🚨
      🟩 Clang              Pass: 100%/30  | Total:  1h 13m | Avg:  2m 27s | Max:  4m 41s | Hits:  87%/1050  
      🟩 GCC                Pass: 100%/22  | Total: 53m 01s | Avg:  2m 24s | Max:  4m 22s | Hits:  82%/770   
      🟩 Intel              Pass: 100%/1   | Total:  2m 49s | Avg:  2m 49s | Max:  2m 49s | Hits:  85%/35    
      🔥 MSVC               Pass:   0%/2   | Total: 16m 39s | Avg:  8m 19s | Max:  8m 31s
    🔍 jobs: Build 🔍
      🔍 Build              Pass:  95%/47  | Total:  1h 53m | Avg:  2m 25s | Max:  8m 31s | Hits:  83%/1575  
      🟩 Test               Pass: 100%/8   | Total: 32m 47s | Avg:  4m 05s | Max:  4m 41s | Hits:  97%/280   
    🔍 std: 20 🔍
      🟩 17                 Pass: 100%/31  | Total:  1h 15m | Avg:  2m 26s | Max:  4m 41s | Hits:  85%/1085  
      🔍 20                 Pass:  91%/24  | Total:  1h 10m | Avg:  2m 57s | Max:  8m 31s | Hits:  85%/770   
    🟨 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  4m 19s | Avg:  2m 09s | Max:  2m 14s | Hits:  85%/70    
      🟩 Clang10            Pass: 100%/2   | Total:  4m 22s | Avg:  2m 11s | Max:  2m 13s | Hits:  85%/70    
      🟩 Clang11            Pass: 100%/4   | Total:  8m 33s | Avg:  2m 08s | Max:  2m 20s | Hits:  85%/140   
      🟩 Clang12            Pass: 100%/4   | Total:  9m 07s | Avg:  2m 16s | Max:  2m 40s | Hits:  85%/140   
      🟩 Clang13            Pass: 100%/4   | Total:  8m 41s | Avg:  2m 10s | Max:  2m 17s | Hits:  85%/140   
      🟩 Clang14            Pass: 100%/6   | Total: 16m 16s | Avg:  2m 42s | Max:  4m 06s | Hits:  90%/210   
      🟩 Clang15            Pass: 100%/2   | Total:  4m 08s | Avg:  2m 04s | Max:  2m 07s | Hits:  85%/70    
      🟩 Clang16            Pass: 100%/6   | Total: 18m 31s | Avg:  3m 05s | Max:  4m 41s | Hits:  90%/210   
      🟩 GCC9               Pass: 100%/2   | Total:  3m 54s | Avg:  1m 57s | Max:  2m 05s | Hits:  80%/70    
      🟩 GCC10              Pass: 100%/4   | Total:  7m 56s | Avg:  1m 59s | Max:  2m 10s | Hits:  80%/140   
      🟩 GCC11              Pass: 100%/4   | Total:  7m 57s | Avg:  1m 59s | Max:  2m 08s | Hits:  80%/140   
      🟩 GCC12              Pass: 100%/12  | Total: 33m 14s | Avg:  2m 46s | Max:  4m 22s | Hits:  84%/420   
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  2m 49s | Avg:  2m 49s | Max:  2m 49s | Hits:  85%/35    
      🟥 MSVC14.36          Pass:   0%/1   | Total:  8m 08s | Avg:  8m 08s | Max:  8m 08s
      🟥 MSVC14.39          Pass:   0%/1   | Total:  8m 31s | Avg:  8m 31s | Max:  8m 31s
    🟨 cudacxx_family
      🟨 nvcc               Pass:  96%/55  | Total:  2h 26m | Avg:  2m 39s | Max:  8m 31s | Hits:  85%/1855  
    🟨 gpu
      🟨 v100               Pass:  96%/55  | Total:  2h 26m | Avg:  2m 39s | Max:  8m 31s | Hits:  85%/1855  
    🟨 ctk
      🟨 12.0               Pass:  95%/23  | Total:  1h 01m | Avg:  2m 40s | Max:  8m 08s | Hits:  85%/770   
      🟨 12.5               Pass:  96%/32  | Total:  1h 25m | Avg:  2m 39s | Max:  8m 31s | Hits:  85%/1085  
    🟨 cudacxx
      🟨 nvcc12.0           Pass:  95%/23  | Total:  1h 01m | Avg:  2m 40s | Max:  8m 08s | Hits:  85%/770   
      🟨 nvcc12.5           Pass:  96%/32  | Total:  1h 25m | Avg:  2m 39s | Max:  8m 31s | Hits:  85%/1085  
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  2m 06s | Avg:  2m 06s | Max:  2m 06s | Hits:  80%/35    
      🟩 90a                Pass: 100%/1   | Total:  1m 59s | Avg:  1m 59s | Max:  1m 59s | Hits:  80%/35    
    
  • 🟩 pycuda: Pass: 100%/1 | Total: 15m 40s | Avg: 15m 40s | Max: 15m 40s

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

👃 Inspect Changes

Modifications in project?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
pycuda

Modifications in project or dependencies?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
+/- pycuda

🏃‍ Runner counts (total jobs: 56)

# Runner
41 linux-amd64-cpu16
9 linux-amd64-gpu-v100-latest-1
4 linux-arm64-cpu16
2 windows-amd64-cpu16

Copy link
Contributor

🟨 CI finished in 5h 00m: Pass: 99%/421 | Total: 5d 21h | Avg: 20m 13s | Max: 1h 05m | Hits: 75%/521796
  • 🟨 cub: Pass: 98%/131 | Total: 2d 19h | Avg: 31m 08s | Max: 45m 52s | Hits: 70%/107721

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  98%/123 | Total:  2d 15h | Avg: 30m 53s | Max: 45m 52s | Hits:  71%/100889
      🟩 arm64              Pass: 100%/8   | Total:  4h 38m | Avg: 34m 50s | Max: 39m 02s | Hits:  61%/6832  
    🔍 ctk: 12.5 🔍
      🟩 11.1               Pass: 100%/15  | Total:  7h 35m | Avg: 30m 23s | Max: 45m 23s | Hits:  62%/11598 
      🟩 11.8               Pass: 100%/3   | Total:  2h 14m | Avg: 44m 45s | Max: 45m 52s | Hits:  61%/2562  
      🔍 12.5               Pass:  98%/113 | Total:  2d 10h | Avg: 30m 52s | Max: 45m 33s | Hits:  71%/93561 
    🔍 cudacxx: nvcc12.5 🔍
      🟩 ClangCUDA17        Pass: 100%/2   | Total: 40m 24s | Avg: 20m 12s | Max: 20m 49s | Hits:  68%/1412  
      🟩 nvcc11.1           Pass: 100%/15  | Total:  7h 35m | Avg: 30m 23s | Max: 45m 23s | Hits:  62%/11598 
      🟩 nvcc11.8           Pass: 100%/3   | Total:  2h 14m | Avg: 44m 45s | Max: 45m 52s | Hits:  61%/2562  
      🔍 nvcc12.5           Pass:  98%/111 | Total:  2d 09h | Avg: 31m 04s | Max: 45m 33s | Hits:  72%/92149 
    🔍 cudacxx_family: nvcc 🔍
      🟩 ClangCUDA          Pass: 100%/2   | Total: 40m 24s | Avg: 20m 12s | Max: 20m 49s | Hits:  68%/1412  
      🔍 nvcc               Pass:  98%/129 | Total:  2d 19h | Avg: 31m 18s | Max: 45m 52s | Hits:  70%/106309
    🟨 cxx
      🟩 Clang9             Pass: 100%/6   | Total:  3h 06m | Avg: 31m 09s | Max: 37m 38s | Hits:  61%/4902  
      🟩 Clang10            Pass: 100%/3   | Total:  1h 43m | Avg: 34m 20s | Max: 35m 35s | Hits:  61%/2568  
      🟩 Clang11            Pass: 100%/4   | Total:  2h 17m | Avg: 34m 28s | Max: 36m 36s | Hits:  61%/3424  
      🟩 Clang12            Pass: 100%/4   | Total:  2h 13m | Avg: 33m 21s | Max: 34m 31s | Hits:  61%/3424  
      🟩 Clang13            Pass: 100%/4   | Total:  2h 13m | Avg: 33m 21s | Max: 35m 27s | Hits:  61%/3424  
      🟩 Clang14            Pass: 100%/4   | Total:  2h 12m | Avg: 33m 09s | Max: 34m 29s | Hits:  61%/3424  
      🟩 Clang15            Pass: 100%/4   | Total:  2h 18m | Avg: 34m 42s | Max: 36m 02s | Hits:  61%/3416  
      🟩 Clang16            Pass: 100%/4   | Total:  2h 18m | Avg: 34m 31s | Max: 35m 46s | Hits:  61%/3416  
      🟨 Clang17            Pass:  96%/26  | Total: 11h 11m | Avg: 25m 50s | Max: 38m 15s | Hits:  85%/21054 
      🟩 GCC6               Pass: 100%/2   | Total: 54m 25s | Avg: 27m 12s | Max: 27m 36s | Hits:  62%/1556  
      🟩 GCC7               Pass: 100%/6   | Total:  3h 07m | Avg: 31m 13s | Max: 33m 51s | Hits:  61%/4905  
      🟩 GCC8               Pass: 100%/6   | Total:  3h 13m | Avg: 32m 17s | Max: 34m 14s | Hits:  61%/4905  
      🟩 GCC9               Pass: 100%/6   | Total:  3h 14m | Avg: 32m 29s | Max: 35m 54s | Hits:  61%/4905  
      🟩 GCC10              Pass: 100%/4   | Total:  2h 23m | Avg: 35m 56s | Max: 36m 33s | Hits:  61%/3424  
      🟩 GCC11              Pass: 100%/7   | Total:  4h 30m | Avg: 38m 35s | Max: 45m 52s | Hits:  61%/5978  
      🟩 GCC12              Pass: 100%/4   | Total:  2h 19m | Avg: 34m 45s | Max: 36m 04s | Hits:  61%/3416  
      🟨 GCC13              Pass:  96%/28  | Total: 12h 23m | Avg: 26m 33s | Max: 39m 30s | Hits:  82%/23058 
      🟩 Intel2023.2.0      Pass: 100%/3   | Total:  1h 56m | Avg: 38m 43s | Max: 39m 12s | Hits:  61%/2340  
      🟩 MSVC14.16          Pass: 100%/1   | Total: 45m 23s | Avg: 45m 23s | Max: 45m 23s | Hits:  65%/697   
      🟩 MSVC14.29          Pass: 100%/2   | Total:  1h 22m | Avg: 41m 12s | Max: 42m 01s | Hits:  65%/1394  
      🟩 MSVC14.39          Pass: 100%/3   | Total:  2h 12m | Avg: 44m 03s | Max: 45m 33s | Hits:  65%/2091  
    🟨 cxx_family
      🟨 Clang              Pass:  98%/59  | Total:  1d 05h | Avg: 30m 06s | Max: 38m 15s | Hits:  71%/49052 
      🟨 GCC                Pass:  98%/63  | Total:  1d 08h | Avg: 30m 35s | Max: 45m 52s | Hits:  70%/52147 
      🟩 Intel              Pass: 100%/3   | Total:  1h 56m | Avg: 38m 43s | Max: 39m 12s | Hits:  61%/2340  
      🟩 MSVC               Pass: 100%/6   | Total:  4h 19m | Avg: 43m 19s | Max: 45m 33s | Hits:  65%/4182  
    🟨 jobs
      🟩 Build              Pass: 100%/99  | Total:  2d 07h | Avg: 33m 47s | Max: 45m 52s | Hits:  61%/82101 
      🟨 DeviceLaunch       Pass:  87%/8   | Total:  2h 40m | Avg: 20m 06s | Max: 31m 44s | Hits:  99%/5978  
      🟩 GraphCapture       Pass: 100%/8   | Total:  2h 28m | Avg: 18m 32s | Max: 25m 03s | Hits:  99%/6832  
      🟨 HostLaunch         Pass:  87%/8   | Total:  2h 30m | Avg: 18m 51s | Max: 24m 51s | Hits:  99%/5978  
      🟩 TestGPU            Pass: 100%/8   | Total:  4h 33m | Avg: 34m 09s | Max: 39m 30s | Hits:  99%/6832  
    🟨 std
      🟩 11                 Pass: 100%/34  | Total: 17h 01m | Avg: 30m 02s | Max: 45m 02s | Hits:  70%/28605 
      🟨 14                 Pass:  97%/37  | Total: 19h 28m | Avg: 31m 34s | Max: 45m 33s | Hits:  69%/29842 
      🟨 17                 Pass:  97%/36  | Total: 19h 03m | Avg: 31m 45s | Max: 45m 52s | Hits:  69%/29073 
      🟩 20                 Pass: 100%/24  | Total: 12h 26m | Avg: 31m 06s | Max: 41m 49s | Hits:  74%/20201 
    🟨 gpu
      🟨 v100               Pass:  98%/131 | Total:  2d 19h | Avg: 31m 08s | Max: 45m 52s | Hits:  70%/107721
    🟩 sm
      🟩 60;70;80;90        Pass: 100%/3   | Total:  2h 14m | Avg: 44m 45s | Max: 45m 52s | Hits:  61%/2562  
      🟩 90a                Pass: 100%/4   | Total:  1h 17m | Avg: 19m 22s | Max: 20m 26s | Hits:  61%/3416  
    
  • 🟩 thrust: Pass: 100%/118 | Total: 2d 02h | Avg: 25m 45s | Max: 1h 05m | Hits: 64%/138912

    🟩 cpu
      🟩 amd64              Pass: 100%/110 | Total:  1d 22h | Avg: 25m 37s | Max:  1h 05m | Hits:  66%/129492
      🟩 arm64              Pass: 100%/8   | Total:  3h 41m | Avg: 27m 44s | Max: 31m 57s | Hits:  44%/9420  
    🟩 ctk
      🟩 11.1               Pass: 100%/15  | Total:  6h 14m | Avg: 24m 59s | Max: 53m 21s | Hits:  61%/17660 
      🟩 11.8               Pass: 100%/3   | Total:  1h 47m | Avg: 35m 44s | Max: 38m 45s | Hits:  64%/3534  
      🟩 12.5               Pass: 100%/100 | Total:  1d 18h | Avg: 25m 34s | Max:  1h 05m | Hits:  65%/117718
    🟩 cudacxx
      🟩 ClangCUDA17        Pass: 100%/2   | Total: 52m 57s | Avg: 26m 28s | Max: 29m 16s | Hits:  63%/2354  
      🟩 nvcc11.1           Pass: 100%/15  | Total:  6h 14m | Avg: 24m 59s | Max: 53m 21s | Hits:  61%/17660 
      🟩 nvcc11.8           Pass: 100%/3   | Total:  1h 47m | Avg: 35m 44s | Max: 38m 45s | Hits:  64%/3534  
      🟩 nvcc12.5           Pass: 100%/98  | Total:  1d 17h | Avg: 25m 33s | Max:  1h 05m | Hits:  65%/115364
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total: 52m 57s | Avg: 26m 28s | Max: 29m 16s | Hits:  63%/2354  
      🟩 nvcc               Pass: 100%/116 | Total:  2d 01h | Avg: 25m 44s | Max:  1h 05m | Hits:  64%/136558
    🟩 cxx
      🟩 Clang9             Pass: 100%/6   | Total:  2h 22m | Avg: 23m 47s | Max: 28m 58s | Hits:  64%/7062  
      🟩 Clang10            Pass: 100%/3   | Total:  1h 20m | Avg: 26m 52s | Max: 29m 24s | Hits:  64%/3531  
      🟩 Clang11            Pass: 100%/4   | Total:  1h 42m | Avg: 25m 35s | Max: 27m 55s | Hits:  64%/4708  
      🟩 Clang12            Pass: 100%/4   | Total:  1h 44m | Avg: 26m 12s | Max: 27m 51s | Hits:  64%/4708  
      🟩 Clang13            Pass: 100%/4   | Total:  1h 38m | Avg: 24m 33s | Max: 26m 04s | Hits:  64%/4708  
      🟩 Clang14            Pass: 100%/4   | Total:  1h 46m | Avg: 26m 35s | Max: 29m 28s | Hits:  64%/4708  
      🟩 Clang15            Pass: 100%/4   | Total:  1h 47m | Avg: 26m 48s | Max: 30m 24s | Hits:  64%/4708  
      🟩 Clang16            Pass: 100%/4   | Total:  1h 46m | Avg: 26m 35s | Max: 28m 55s | Hits:  64%/4708  
      🟩 Clang17            Pass: 100%/18  | Total:  5h 41m | Avg: 18m 59s | Max: 29m 16s | Hits:  80%/21186 
      🟩 GCC6               Pass: 100%/2   | Total: 43m 38s | Avg: 21m 49s | Max: 23m 52s | Hits:  64%/2354  
      🟩 GCC7               Pass: 100%/6   | Total:  2h 28m | Avg: 24m 49s | Max: 29m 12s | Hits:  64%/7068  
      🟩 GCC8               Pass: 100%/6   | Total:  2h 29m | Avg: 24m 55s | Max: 30m 22s | Hits:  64%/7068  
      🟩 GCC9               Pass: 100%/6   | Total:  2h 35m | Avg: 25m 55s | Max: 30m 46s | Hits:  64%/7068  
      🟩 GCC10              Pass: 100%/4   | Total:  1h 52m | Avg: 28m 01s | Max: 32m 41s | Hits:  64%/4712  
      🟩 GCC11              Pass: 100%/7   | Total:  3h 38m | Avg: 31m 11s | Max: 38m 45s | Hits:  64%/8246  
      🟩 GCC12              Pass: 100%/4   | Total:  1h 53m | Avg: 28m 24s | Max: 30m 54s | Hits:  64%/4712  
      🟩 GCC13              Pass: 100%/20  | Total:  6h 41m | Avg: 20m 04s | Max: 31m 57s | Hits:  60%/23560 
      🟩 Intel2023.2.0      Pass: 100%/3   | Total:  1h 34m | Avg: 31m 25s | Max: 34m 57s | Hits:  64%/3540  
      🟩 MSVC14.16          Pass: 100%/1   | Total: 53m 21s | Avg: 53m 21s | Max: 53m 21s | Hits:  21%/1173  
      🟩 MSVC14.29          Pass: 100%/2   | Total:  1h 58m | Avg: 59m 15s | Max:  1h 00m | Hits:  21%/2346  
      🟩 MSVC14.39          Pass: 100%/6   | Total:  3h 59m | Avg: 39m 58s | Max:  1h 05m | Hits:  60%/7038  
    🟩 cxx_family
      🟩 Clang              Pass: 100%/51  | Total: 19h 50m | Avg: 23m 20s | Max: 30m 24s | Hits:  69%/60027 
      🟩 GCC                Pass: 100%/55  | Total: 22h 23m | Avg: 24m 25s | Max: 38m 45s | Hits:  62%/64788 
      🟩 Intel              Pass: 100%/3   | Total:  1h 34m | Avg: 31m 25s | Max: 34m 57s | Hits:  64%/3540  
      🟩 MSVC               Pass: 100%/9   | Total:  6h 51m | Avg: 45m 44s | Max:  1h 05m | Hits:  47%/10557 
    🟩 gpu
      🟩 v100               Pass: 100%/118 | Total:  2d 02h | Avg: 25m 45s | Max:  1h 05m | Hits:  64%/138912
    🟩 jobs
      🟩 Build              Pass: 100%/99  | Total:  1d 22h | Avg: 28m 26s | Max:  1h 05m | Hits:  58%/116553
      🟩 TestCPU            Pass: 100%/11  | Total:  1h 43m | Avg:  9m 24s | Max: 18m 41s | Hits:  99%/12939 
      🟩 TestGPU            Pass: 100%/8   | Total:  2h 01m | Avg: 15m 08s | Max: 20m 30s | Hits:  99%/9420  
    🟩 sm
      🟩 60;70;80;90        Pass: 100%/3   | Total:  1h 47m | Avg: 35m 44s | Max: 38m 45s | Hits:  64%/3534  
      🟩 90a                Pass: 100%/4   | Total:  1h 18m | Avg: 19m 30s | Max: 21m 04s | Hits:  22%/4712  
    🟩 std
      🟩 11                 Pass: 100%/30  | Total: 10h 32m | Avg: 21m 05s | Max: 32m 03s | Hits:  68%/35328 
      🟩 14                 Pass: 100%/34  | Total: 15h 35m | Avg: 27m 31s | Max:  1h 01m | Hits:  62%/40020 
      🟩 17                 Pass: 100%/33  | Total: 15h 14m | Avg: 27m 42s | Max: 59m 56s | Hits:  62%/38847 
      🟩 20                 Pass: 100%/21  | Total:  9h 17m | Avg: 26m 31s | Max:  1h 05m | Hits:  66%/24717 
    
  • 🟩 libcudacxx: Pass: 100%/112 | Total: 20h 26m | Avg: 10m 57s | Max: 52m 10s | Hits: 83%/273250

    🟩 cpu
      🟩 amd64              Pass: 100%/104 | Total: 19h 06m | Avg: 11m 01s | Max: 52m 10s | Hits:  83%/250904
      🟩 arm64              Pass: 100%/8   | Total:  1h 20m | Avg: 10m 02s | Max: 19m 21s | Hits:  82%/22346 
    🟩 ctk
      🟩 11.1               Pass: 100%/15  | Total:  1h 27m | Avg:  5m 48s | Max: 25m 06s | Hits:  95%/39780 
      🟩 11.8               Pass: 100%/3   | Total: 59m 00s | Avg: 19m 40s | Max: 20m 49s | Hits:  46%/8064  
      🟩 12.5               Pass: 100%/94  | Total: 18h 00m | Avg: 11m 29s | Max: 52m 10s | Hits:  82%/225406
    🟩 cudacxx
      🟩 ClangCUDA17        Pass: 100%/2   | Total: 34m 47s | Avg: 17m 23s | Max: 17m 27s | Hits:  37%/6099  
      🟩 nvcc11.1           Pass: 100%/15  | Total:  1h 27m | Avg:  5m 48s | Max: 25m 06s | Hits:  95%/39780 
      🟩 nvcc11.8           Pass: 100%/3   | Total: 59m 00s | Avg: 19m 40s | Max: 20m 49s | Hits:  46%/8064  
      🟩 nvcc12.5           Pass: 100%/92  | Total: 17h 26m | Avg: 11m 22s | Max: 52m 10s | Hits:  83%/219307
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total: 34m 47s | Avg: 17m 23s | Max: 17m 27s | Hits:  37%/6099  
      🟩 nvcc               Pass: 100%/110 | Total: 19h 52m | Avg: 10m 50s | Max: 52m 10s | Hits:  84%/267151
    🟩 cxx
      🟩 Clang9             Pass: 100%/6   | Total: 50m 34s | Avg:  8m 25s | Max: 23m 32s | Hits:  87%/16160 
      🟩 Clang10            Pass: 100%/3   | Total: 31m 41s | Avg: 10m 33s | Max: 22m 18s | Hits:  78%/8109  
      🟩 Clang11            Pass: 100%/4   | Total: 42m 48s | Avg: 10m 42s | Max: 20m 02s | Hits:  82%/11181 
      🟩 Clang12            Pass: 100%/4   | Total:  1h 03m | Avg: 15m 48s | Max: 21m 27s | Hits:  60%/11181 
      🟩 Clang13            Pass: 100%/4   | Total: 32m 02s | Avg:  8m 00s | Max: 19m 54s | Hits:  83%/11181 
      🟩 Clang14            Pass: 100%/4   | Total: 33m 36s | Avg:  8m 24s | Max: 20m 55s | Hits:  82%/11181 
      🟩 Clang15            Pass: 100%/4   | Total: 15m 59s | Avg:  3m 59s | Max:  4m 17s | Hits:  98%/11173 
      🟩 Clang16            Pass: 100%/4   | Total: 46m 47s | Avg: 11m 41s | Max: 22m 07s | Hits:  69%/11173 
      🟩 Clang17            Pass: 100%/14  | Total:  3h 12m | Avg: 13m 46s | Max: 30m 44s | Hits:  82%/28445 
      🟩 GCC6               Pass: 100%/2   | Total:  5m 17s | Avg:  2m 38s | Max:  2m 50s | Hits:  99%/5045  
      🟩 GCC7               Pass: 100%/6   | Total: 25m 54s | Avg:  4m 19s | Max: 10m 03s | Hits:  98%/16146 
      🟩 GCC8               Pass: 100%/6   | Total: 26m 08s | Avg:  4m 21s | Max: 10m 33s | Hits:  99%/16154 
      🟩 GCC9               Pass: 100%/6   | Total: 33m 44s | Avg:  5m 37s | Max: 18m 55s | Hits:  88%/16158 
      🟩 GCC10              Pass: 100%/4   | Total: 30m 47s | Avg:  7m 41s | Max: 20m 54s | Hits:  83%/11181 
      🟩 GCC11              Pass: 100%/7   | Total:  1h 46m | Avg: 15m 13s | Max: 21m 01s | Hits:  59%/19237 
      🟩 GCC12              Pass: 100%/4   | Total: 46m 26s | Avg: 11m 36s | Max: 20m 22s | Hits:  68%/11173 
      🟩 GCC13              Pass: 100%/21  | Total:  5h 18m | Avg: 15m 10s | Max: 52m 10s | Hits:  90%/33902 
      🟩 Intel2023.2.0      Pass: 100%/3   | Total: 15m 22s | Avg:  5m 07s | Max:  5m 36s | Hits:  99%/8099  
      🟩 MSVC14.16          Pass: 100%/1   | Total: 25m 06s | Avg: 25m 06s | Max: 25m 06s | Hits:  47%/2536  
      🟩 MSVC14.29          Pass: 100%/2   | Total: 34m 39s | Avg: 17m 19s | Max: 23m 45s | Hits:  72%/5434  
      🟩 MSVC14.39          Pass: 100%/3   | Total: 48m 42s | Avg: 16m 14s | Max: 24m 45s | Hits:  81%/8401  
    🟩 cxx_family
      🟩 Clang              Pass: 100%/47  | Total:  8h 29m | Avg: 10m 50s | Max: 30m 44s | Hits:  81%/119784
      🟩 GCC                Pass: 100%/56  | Total:  9h 53m | Avg: 10m 36s | Max: 52m 10s | Hits:  85%/128996
      🟩 Intel              Pass: 100%/3   | Total: 15m 22s | Avg:  5m 07s | Max:  5m 36s | Hits:  99%/8099  
      🟩 MSVC               Pass: 100%/6   | Total:  1h 48m | Avg: 18m 04s | Max: 25m 06s | Hits:  73%/16371 
    🟩 gpu
      🟩 v100               Pass: 100%/112 | Total: 20h 26m | Avg: 10m 57s | Max: 52m 10s | Hits:  83%/273250
    🟩 jobs
      🟩 Build              Pass: 100%/99  | Total: 14h 47m | Avg:  8m 57s | Max: 25m 06s | Hits:  83%/273230
      🟩 NVRTC              Pass: 100%/4   | Total:  1h 28m | Avg: 22m 08s | Max: 27m 58s | Hits: 100%/20    
      🟩 Test               Pass: 100%/8   | Total:  4h 09m | Avg: 31m 10s | Max: 52m 10s
      🟩 VerifyCodegen      Pass: 100%/1   | Total:  1m 56s | Avg:  1m 56s | Max:  1m 56s
    🟩 sm
      🟩 60;70;80;90        Pass: 100%/3   | Total: 59m 00s | Avg: 19m 40s | Max: 20m 49s | Hits:  46%/8064  
      🟩 90a                Pass: 100%/4   | Total: 14m 30s | Avg:  3m 37s | Max:  3m 54s | Hits:  99%/11536 
    🟩 std
      🟩 11                 Pass: 100%/29  | Total:  3h 46m | Avg:  7m 47s | Max: 30m 44s | Hits:  93%/58200 
      🟩 14                 Pass: 100%/32  | Total:  5h 09m | Avg:  9m 39s | Max: 34m 15s | Hits:  88%/81788 
      🟩 17                 Pass: 100%/31  | Total:  6h 47m | Avg: 13m 09s | Max: 52m 10s | Hits:  80%/84134 
      🟩 20                 Pass: 100%/19  | Total:  4h 41m | Avg: 14m 49s | Max: 28m 24s | Hits:  69%/49128 
    
  • 🟩 cudax: Pass: 100%/55 | Total: 2h 21m | Avg: 2m 34s | Max: 6m 08s | Hits: 92%/1913

    🟩 cpu
      🟩 amd64              Pass: 100%/51  | Total:  2h 12m | Avg:  2m 36s | Max:  6m 08s | Hits:  92%/1773  
      🟩 arm64              Pass: 100%/4   | Total:  8m 42s | Avg:  2m 10s | Max:  2m 22s | Hits:  95%/140   
    🟩 ctk
      🟩 12.0               Pass: 100%/23  | Total:  1h 00m | Avg:  2m 36s | Max:  6m 08s | Hits:  94%/799   
      🟩 12.5               Pass: 100%/32  | Total:  1h 21m | Avg:  2m 32s | Max:  5m 58s | Hits:  90%/1114  
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/23  | Total:  1h 00m | Avg:  2m 36s | Max:  6m 08s | Hits:  94%/799   
      🟩 nvcc12.5           Pass: 100%/32  | Total:  1h 21m | Avg:  2m 32s | Max:  5m 58s | Hits:  90%/1114  
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/55  | Total:  2h 21m | Avg:  2m 34s | Max:  6m 08s | Hits:  92%/1913  
    🟩 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  3m 59s | Avg:  1m 59s | Max:  2m 07s | Hits:  94%/70    
      🟩 Clang10            Pass: 100%/2   | Total:  4m 17s | Avg:  2m 08s | Max:  2m 23s | Hits:  94%/70    
      🟩 Clang11            Pass: 100%/4   | Total:  8m 10s | Avg:  2m 02s | Max:  2m 12s | Hits:  94%/140   
      🟩 Clang12            Pass: 100%/4   | Total:  7m 44s | Avg:  1m 56s | Max:  2m 05s | Hits:  94%/140   
      🟩 Clang13            Pass: 100%/4   | Total:  8m 10s | Avg:  2m 02s | Max:  2m 15s | Hits:  94%/140   
      🟩 Clang14            Pass: 100%/6   | Total: 18m 31s | Avg:  3m 05s | Max:  4m 58s | Hits:  94%/210   
      🟩 Clang15            Pass: 100%/2   | Total:  4m 30s | Avg:  2m 15s | Max:  2m 16s | Hits:  91%/70    
      🟩 Clang16            Pass: 100%/6   | Total: 17m 36s | Avg:  2m 56s | Max:  4m 20s | Hits:  95%/210   
      🟩 GCC9               Pass: 100%/2   | Total:  3m 51s | Avg:  1m 55s | Max:  1m 57s | Hits:  92%/70    
      🟩 GCC10              Pass: 100%/4   | Total:  8m 59s | Avg:  2m 14s | Max:  2m 40s | Hits:  92%/140   
      🟩 GCC11              Pass: 100%/4   | Total:  7m 12s | Avg:  1m 48s | Max:  2m 05s | Hits:  92%/140   
      🟩 GCC12              Pass: 100%/12  | Total: 33m 39s | Avg:  2m 48s | Max:  5m 00s | Hits:  93%/420   
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  2m 45s | Avg:  2m 45s | Max:  2m 45s | Hits:  88%/35    
      🟩 MSVC14.36          Pass: 100%/1   | Total:  6m 08s | Avg:  6m 08s | Max:  6m 08s | Hits:  58%/29    
      🟩 MSVC14.39          Pass: 100%/1   | Total:  5m 58s | Avg:  5m 58s | Max:  5m 58s | Hits:  58%/29    
    🟩 cxx_family
      🟩 Clang              Pass: 100%/30  | Total:  1h 12m | Avg:  2m 25s | Max:  4m 58s | Hits:  94%/1050  
      🟩 GCC                Pass: 100%/22  | Total: 53m 41s | Avg:  2m 26s | Max:  5m 00s | Hits:  92%/770   
      🟩 Intel              Pass: 100%/1   | Total:  2m 45s | Avg:  2m 45s | Max:  2m 45s | Hits:  88%/35    
      🟩 MSVC               Pass: 100%/2   | Total: 12m 06s | Avg:  6m 03s | Max:  6m 08s | Hits:  58%/58    
    🟩 gpu
      🟩 v100               Pass: 100%/55  | Total:  2h 21m | Avg:  2m 34s | Max:  6m 08s | Hits:  92%/1913  
    🟩 jobs
      🟩 Build              Pass: 100%/47  | Total:  1h 46m | Avg:  2m 16s | Max:  6m 08s | Hits:  91%/1633  
      🟩 Test               Pass: 100%/8   | Total: 34m 40s | Avg:  4m 20s | Max:  5m 00s | Hits:  97%/280   
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  2m 05s | Avg:  2m 05s | Max:  2m 05s | Hits:  94%/35    
      🟩 90a                Pass: 100%/1   | Total:  2m 02s | Avg:  2m 02s | Max:  2m 02s | Hits:  91%/35    
    🟩 std
      🟩 17                 Pass: 100%/31  | Total:  1h 13m | Avg:  2m 22s | Max:  5m 00s | Hits:  93%/1085  
      🟩 20                 Pass: 100%/24  | Total:  1h 08m | Avg:  2m 50s | Max:  6m 08s | Hits:  91%/828   
    
  • 🟩 cccl: Pass: 100%/4 | Total: 18m 28s | Avg: 4m 37s | Max: 5m 21s

    🟩 cpu
      🟩 amd64              Pass: 100%/4   | Total: 18m 28s | Avg:  4m 37s | Max:  5m 21s
    🟩 ctk
      🟩 11.1               Pass: 100%/2   | Total:  8m 41s | Avg:  4m 20s | Max:  4m 46s
      🟩 12.5               Pass: 100%/2   | Total:  9m 47s | Avg:  4m 53s | Max:  5m 21s
    🟩 cudacxx
      🟩 nvcc11.1           Pass: 100%/2   | Total:  8m 41s | Avg:  4m 20s | Max:  4m 46s
      🟩 nvcc12.5           Pass: 100%/2   | Total:  9m 47s | Avg:  4m 53s | Max:  5m 21s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/4   | Total: 18m 28s | Avg:  4m 37s | Max:  5m 21s
    🟩 cxx
      🟩 Clang9             Pass: 100%/1   | Total:  4m 46s | Avg:  4m 46s | Max:  4m 46s
      🟩 Clang17            Pass: 100%/1   | Total:  5m 21s | Avg:  5m 21s | Max:  5m 21s
      🟩 GCC6               Pass: 100%/1   | Total:  3m 55s | Avg:  3m 55s | Max:  3m 55s
      🟩 GCC13              Pass: 100%/1   | Total:  4m 26s | Avg:  4m 26s | Max:  4m 26s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/2   | Total: 10m 07s | Avg:  5m 03s | Max:  5m 21s
      🟩 GCC                Pass: 100%/2   | Total:  8m 21s | Avg:  4m 10s | Max:  4m 26s
    🟩 gpu
      🟩 v100               Pass: 100%/4   | Total: 18m 28s | Avg:  4m 37s | Max:  5m 21s
    🟩 jobs
      🟩 Infra              Pass: 100%/4   | Total: 18m 28s | Avg:  4m 37s | Max:  5m 21s
    
  • 🟩 pycuda: Pass: 100%/1 | Total: 11m 50s | Avg: 11m 50s | Max: 11m 50s

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

👃 Inspect Changes

Modifications in project?

Project
+/- CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
pycuda

Modifications in project or dependencies?

Project
+/- CCCL Infrastructure
+/- libcu++
+/- CUB
+/- Thrust
+/- CUDA Experimental
+/- pycuda

🏃‍ Runner counts (total jobs: 421)

# Runner
305 linux-amd64-cpu16
65 linux-amd64-gpu-v100-latest-1
28 linux-arm64-cpu16
23 windows-amd64-cpu16

Copy link
Contributor

🟨 CI finished in 6h 59m: Pass: 94%/56 | Total: 2h 33m | Avg: 2m 44s | Max: 11m 36s | Hits: 95%/1808
  • 🟨 cudax: Pass: 94%/55 | Total: 2h 21m | Avg: 2m 34s | Max: 8m 47s | Hits: 95%/1808

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  94%/51  | Total:  2h 11m | Avg:  2m 34s | Max:  8m 47s | Hits:  94%/1668  
      🟩 arm64              Pass: 100%/4   | Total: 10m 15s | Avg:  2m 33s | Max:  2m 48s | Hits:  97%/140   
    🔍 jobs: Test 🔍
      🟩 Build              Pass: 100%/47  | Total:  1h 51m | Avg:  2m 22s | Max:  8m 47s | Hits:  94%/1633  
      🔍 Test               Pass:  62%/8   | Total: 29m 52s | Avg:  3m 44s | Max:  4m 06s | Hits:  96%/175   
    🔍 std: 17 🔍
      🔍 17                 Pass:  90%/31  | Total:  1h 12m | Avg:  2m 20s | Max:  3m 59s | Hits:  97%/980   
      🟩 20                 Pass: 100%/24  | Total:  1h 09m | Avg:  2m 53s | Max:  8m 47s | Hits:  92%/828   
    🟨 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  4m 05s | Avg:  2m 02s | Max:  2m 09s | Hits: 100%/70    
      🟩 Clang10            Pass: 100%/2   | Total:  4m 05s | Avg:  2m 02s | Max:  2m 08s | Hits: 100%/70    
      🟩 Clang11            Pass: 100%/4   | Total:  8m 49s | Avg:  2m 12s | Max:  2m 31s | Hits: 100%/140   
      🟩 Clang12            Pass: 100%/4   | Total:  8m 03s | Avg:  2m 00s | Max:  2m 11s | Hits: 100%/140   
      🟩 Clang13            Pass: 100%/4   | Total:  8m 36s | Avg:  2m 09s | Max:  2m 18s | Hits: 100%/140   
      🟨 Clang14            Pass:  83%/6   | Total: 15m 50s | Avg:  2m 38s | Max:  3m 59s | Hits: 100%/175   
      🟩 Clang15            Pass: 100%/2   | Total:  4m 44s | Avg:  2m 22s | Max:  2m 33s | Hits: 100%/70    
      🟨 Clang16            Pass:  83%/6   | Total: 17m 31s | Avg:  2m 55s | Max:  4m 06s | Hits: 100%/175   
      🟩 GCC9               Pass: 100%/2   | Total:  3m 47s | Avg:  1m 53s | Max:  1m 57s | Hits:  94%/70    
      🟩 GCC10              Pass: 100%/4   | Total:  8m 00s | Avg:  2m 00s | Max:  2m 11s | Hits:  94%/140   
      🟩 GCC11              Pass: 100%/4   | Total:  7m 58s | Avg:  1m 59s | Max:  2m 06s | Hits:  94%/140   
      🟨 GCC12              Pass:  91%/12  | Total: 31m 31s | Avg:  2m 37s | Max:  3m 47s | Hits:  94%/385   
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  2m 40s | Avg:  2m 40s | Max:  2m 40s | Hits: 100%/35    
      🟩 MSVC14.36          Pass: 100%/1   | Total:  8m 47s | Avg:  8m 47s | Max:  8m 47s | Hits:  20%/29    
      🟩 MSVC14.39          Pass: 100%/1   | Total:  7m 18s | Avg:  7m 18s | Max:  7m 18s | Hits:  20%/29    
    🟨 cxx_family
      🟨 Clang              Pass:  93%/30  | Total:  1h 11m | Avg:  2m 23s | Max:  4m 06s | Hits: 100%/980   
      🟨 GCC                Pass:  95%/22  | Total: 51m 16s | Avg:  2m 19s | Max:  3m 47s | Hits:  94%/735   
      🟩 Intel              Pass: 100%/1   | Total:  2m 40s | Avg:  2m 40s | Max:  2m 40s | Hits: 100%/35    
      🟩 MSVC               Pass: 100%/2   | Total: 16m 05s | Avg:  8m 02s | Max:  8m 47s | Hits:  20%/58    
    🟨 cudacxx_family
      🟨 nvcc               Pass:  94%/55  | Total:  2h 21m | Avg:  2m 34s | Max:  8m 47s | Hits:  95%/1808  
    🟨 gpu
      🟨 v100               Pass:  94%/55  | Total:  2h 21m | Avg:  2m 34s | Max:  8m 47s | Hits:  95%/1808  
    🟨 ctk
      🟨 12.0               Pass:  95%/23  | Total: 59m 37s | Avg:  2m 35s | Max:  8m 47s | Hits:  94%/764   
      🟨 12.5               Pass:  93%/32  | Total:  1h 22m | Avg:  2m 33s | Max:  7m 18s | Hits:  95%/1044  
    🟨 cudacxx
      🟨 nvcc12.0           Pass:  95%/23  | Total: 59m 37s | Avg:  2m 35s | Max:  8m 47s | Hits:  94%/764   
      🟨 nvcc12.5           Pass:  93%/32  | Total:  1h 22m | Avg:  2m 33s | Max:  7m 18s | Hits:  95%/1044  
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  2m 01s | Avg:  2m 01s | Max:  2m 01s | Hits:  94%/35    
      🟩 90a                Pass: 100%/1   | Total:  1m 51s | Avg:  1m 51s | Max:  1m 51s | Hits:  94%/35    
    
  • 🟩 pycuda: Pass: 100%/1 | Total: 11m 36s | Avg: 11m 36s | Max: 11m 36s

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

👃 Inspect Changes

Modifications in project?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
pycuda

Modifications in project or dependencies?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
+/- pycuda

🏃‍ Runner counts (total jobs: 56)

# Runner
41 linux-amd64-cpu16
9 linux-amd64-gpu-v100-latest-1
4 linux-arm64-cpu16
2 windows-amd64-cpu16

Copy link
Contributor

🟩 CI finished in 9h 53m: Pass: 100%/56 | Total: 2h 32m | Avg: 2m 43s | Max: 11m 36s | Hits: 95%/1913
  • 🟩 cudax: Pass: 100%/55 | Total: 2h 21m | Avg: 2m 34s | Max: 8m 47s | Hits: 95%/1913

    🟩 cpu
      🟩 amd64              Pass: 100%/51  | Total:  2h 11m | Avg:  2m 34s | Max:  8m 47s | Hits:  95%/1773  
      🟩 arm64              Pass: 100%/4   | Total: 10m 15s | Avg:  2m 33s | Max:  2m 48s | Hits:  97%/140   
    🟩 ctk
      🟩 12.0               Pass: 100%/23  | Total: 59m 20s | Avg:  2m 34s | Max:  8m 47s | Hits:  94%/799   
      🟩 12.5               Pass: 100%/32  | Total:  1h 21m | Avg:  2m 33s | Max:  7m 18s | Hits:  95%/1114  
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/23  | Total: 59m 20s | Avg:  2m 34s | Max:  8m 47s | Hits:  94%/799   
      🟩 nvcc12.5           Pass: 100%/32  | Total:  1h 21m | Avg:  2m 33s | Max:  7m 18s | Hits:  95%/1114  
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/55  | Total:  2h 21m | Avg:  2m 34s | Max:  8m 47s | Hits:  95%/1913  
    🟩 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  4m 05s | Avg:  2m 02s | Max:  2m 09s | Hits: 100%/70    
      🟩 Clang10            Pass: 100%/2   | Total:  4m 05s | Avg:  2m 02s | Max:  2m 08s | Hits: 100%/70    
      🟩 Clang11            Pass: 100%/4   | Total:  8m 49s | Avg:  2m 12s | Max:  2m 31s | Hits: 100%/140   
      🟩 Clang12            Pass: 100%/4   | Total:  8m 03s | Avg:  2m 00s | Max:  2m 11s | Hits: 100%/140   
      🟩 Clang13            Pass: 100%/4   | Total:  8m 36s | Avg:  2m 09s | Max:  2m 18s | Hits: 100%/140   
      🟩 Clang14            Pass: 100%/6   | Total: 15m 33s | Avg:  2m 35s | Max:  3m 42s | Hits: 100%/210   
      🟩 Clang15            Pass: 100%/2   | Total:  4m 44s | Avg:  2m 22s | Max:  2m 33s | Hits: 100%/70    
      🟩 Clang16            Pass: 100%/6   | Total: 17m 16s | Avg:  2m 52s | Max:  4m 06s | Hits: 100%/210   
      🟩 GCC9               Pass: 100%/2   | Total:  3m 47s | Avg:  1m 53s | Max:  1m 57s | Hits:  94%/70    
      🟩 GCC10              Pass: 100%/4   | Total:  8m 00s | Avg:  2m 00s | Max:  2m 11s | Hits:  94%/140   
      🟩 GCC11              Pass: 100%/4   | Total:  7m 58s | Avg:  1m 59s | Max:  2m 06s | Hits:  94%/140   
      🟩 GCC12              Pass: 100%/12  | Total: 31m 38s | Avg:  2m 38s | Max:  3m 49s | Hits:  94%/420   
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  2m 40s | Avg:  2m 40s | Max:  2m 40s | Hits: 100%/35    
      🟩 MSVC14.36          Pass: 100%/1   | Total:  8m 47s | Avg:  8m 47s | Max:  8m 47s | Hits:  20%/29    
      🟩 MSVC14.39          Pass: 100%/1   | Total:  7m 18s | Avg:  7m 18s | Max:  7m 18s | Hits:  20%/29    
    🟩 cxx_family
      🟩 Clang              Pass: 100%/30  | Total:  1h 11m | Avg:  2m 22s | Max:  4m 06s | Hits: 100%/1050  
      🟩 GCC                Pass: 100%/22  | Total: 51m 23s | Avg:  2m 20s | Max:  3m 49s | Hits:  94%/770   
      🟩 Intel              Pass: 100%/1   | Total:  2m 40s | Avg:  2m 40s | Max:  2m 40s | Hits: 100%/35    
      🟩 MSVC               Pass: 100%/2   | Total: 16m 05s | Avg:  8m 02s | Max:  8m 47s | Hits:  20%/58    
    🟩 gpu
      🟩 v100               Pass: 100%/55  | Total:  2h 21m | Avg:  2m 34s | Max:  8m 47s | Hits:  95%/1913  
    🟩 jobs
      🟩 Build              Pass: 100%/47  | Total:  1h 51m | Avg:  2m 22s | Max:  8m 47s | Hits:  94%/1633  
      🟩 Test               Pass: 100%/8   | Total: 29m 27s | Avg:  3m 40s | Max:  4m 06s | Hits:  97%/280   
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  2m 01s | Avg:  2m 01s | Max:  2m 01s | Hits:  94%/35    
      🟩 90a                Pass: 100%/1   | Total:  1m 51s | Avg:  1m 51s | Max:  1m 51s | Hits:  94%/35    
    🟩 std
      🟩 17                 Pass: 100%/31  | Total:  1h 11m | Avg:  2m 19s | Max:  3m 49s | Hits:  97%/1085  
      🟩 20                 Pass: 100%/24  | Total:  1h 09m | Avg:  2m 53s | Max:  8m 47s | Hits:  92%/828   
    
  • 🟩 pycuda: Pass: 100%/1 | Total: 11m 36s | Avg: 11m 36s | Max: 11m 36s

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

👃 Inspect Changes

Modifications in project?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
pycuda

Modifications in project or dependencies?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental
+/- pycuda

🏃‍ Runner counts (total jobs: 56)

# Runner
41 linux-amd64-cpu16
9 linux-amd64-gpu-v100-latest-1
4 linux-arm64-cpu16
2 windows-amd64-cpu16

@miscco miscco merged commit a4cd52e into NVIDIA:main Jul 26, 2024
67 of 70 checks passed
@bernhardmgruber bernhardmgruber mentioned this pull request Jul 26, 2024
pciolkosz pushed a commit to pciolkosz/cccl that referenced this pull request Aug 4, 2024
…+ interface. (NVIDIA#2017)

* Wrapper types for `cudaEvent_t` that provide a modern C++ interface.

* `cuda::experimental::event_ref` is a non-owning wrapper around a
  `cudaEvent_t`.

* `cuda::experimental::event` is an owning wrapper around a `cudaEvent_t`.

* `cuda::experimental::timed_event` is a `cuda::experimental::event` that also
  records the time at which it was recorded.

* apparently `__event` is a word of power for msvc

* represent the elapsed time between two events with nanoseconds instead of microsoconds

according to the CUDA docs for `cudaEventElapsedTime`, the elapsed time
has sub-microsecond resolution, so it is more appropriate to represent
it in nanoseconds.

* prune unused headers, switch to rst-friendly doxygen comment style

* add class synopsis comments

* construct with a stream_ref and record the event on construction

* review feedback

* tests for `cudax::event` and `cudax::timed_event`

* change `event_ref::wait` to use `cudaEventSynchronize`

* Use a struct for windows instead

* Do not include superfluous config header

* Add clang-format rule for cudax

* Spell `cudax_add_catch2_test` correctly

* Fix formatting issues

---------

Co-authored-by: Michael Schellenberger Costa <miscco@nvidia.com>
pciolkosz pushed a commit to pciolkosz/cccl that referenced this pull request Aug 4, 2024
…+ interface. (NVIDIA#2017)

* Wrapper types for `cudaEvent_t` that provide a modern C++ interface.

* `cuda::experimental::event_ref` is a non-owning wrapper around a
  `cudaEvent_t`.

* `cuda::experimental::event` is an owning wrapper around a `cudaEvent_t`.

* `cuda::experimental::timed_event` is a `cuda::experimental::event` that also
  records the time at which it was recorded.

* apparently `__event` is a word of power for msvc

* represent the elapsed time between two events with nanoseconds instead of microsoconds

according to the CUDA docs for `cudaEventElapsedTime`, the elapsed time
has sub-microsecond resolution, so it is more appropriate to represent
it in nanoseconds.

* prune unused headers, switch to rst-friendly doxygen comment style

* add class synopsis comments

* construct with a stream_ref and record the event on construction

* review feedback

* tests for `cudax::event` and `cudax::timed_event`

* change `event_ref::wait` to use `cudaEventSynchronize`

* Use a struct for windows instead

* Do not include superfluous config header

* Add clang-format rule for cudax

* Spell `cudax_add_catch2_test` correctly

* Fix formatting issues

---------

Co-authored-by: Michael Schellenberger Costa <miscco@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Add event abstractions
3 participants