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

[CUDAX] Add a global constexpr cudax::devices range for all devices in the system #2100

Merged
merged 6 commits into from
Aug 3, 2024

Conversation

ericniebler
Copy link
Collaborator

@ericniebler ericniebler commented Jul 29, 2024

Description

This PR adds a global constexpr range of cudax::device objects. cudax::devices[0] is the same as cudax::device(0). The number of cuda devices in the system can be obtained with cudax::devices.size().

see [548fc5d] for the changes in only this PR. EDIT: i will rebase when #2084 is merged.

closes #2099

Checklist

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

@ericniebler ericniebler requested review from a team as code owners July 29, 2024 22:04
@ericniebler ericniebler requested review from alliepiper and griwes July 29, 2024 22:04
Copy link

copy-pr-bot bot commented Jul 29, 2024

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

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@ericniebler
Copy link
Collaborator Author

pre-commit.ci autofix

@ericniebler
Copy link
Collaborator Author

/ok to test

@ericniebler ericniebler changed the title Cudax global devices range [CUDAX] Add a global constexpr cudax::devices range for all devices in the system Jul 29, 2024
@ericniebler
Copy link
Collaborator Author

/ok to test

Copy link
Contributor

🟩 CI finished in 2h 40m: Pass: 100%/56 | Total: 2h 34m | Avg: 2m 45s | Max: 11m 45s | Hits: 90%/2188
  • 🟩 cudax: Pass: 100%/55 | Total: 2h 22m | Avg: 2m 35s | Max: 7m 57s | Hits: 90%/2188

    🟩 cpu
      🟩 amd64              Pass: 100%/51  | Total:  2h 13m | Avg:  2m 37s | Max:  7m 57s | Hits:  90%/2028  
      🟩 arm64              Pass: 100%/4   | Total:  8m 52s | Avg:  2m 13s | Max:  3m 00s | Hits:  90%/160   
    🟩 ctk
      🟩 12.0               Pass: 100%/23  | Total:  1h 00m | Avg:  2m 36s | Max:  7m 56s | Hits:  90%/914   
      🟩 12.5               Pass: 100%/32  | Total:  1h 22m | Avg:  2m 34s | Max:  7m 57s | Hits:  90%/1274  
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/23  | Total:  1h 00m | Avg:  2m 36s | Max:  7m 56s | Hits:  90%/914   
      🟩 nvcc12.5           Pass: 100%/32  | Total:  1h 22m | Avg:  2m 34s | Max:  7m 57s | Hits:  90%/1274  
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/55  | Total:  2h 22m | Avg:  2m 35s | Max:  7m 57s | Hits:  90%/2188  
    🟩 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  4m 20s | Avg:  2m 10s | Max:  2m 18s | Hits:  92%/80    
      🟩 Clang10            Pass: 100%/2   | Total:  3m 59s | Avg:  1m 59s | Max:  2m 01s | Hits:  92%/80    
      🟩 Clang11            Pass: 100%/4   | Total:  8m 41s | Avg:  2m 10s | Max:  2m 20s | Hits:  92%/160   
      🟩 Clang12            Pass: 100%/4   | Total:  8m 37s | Avg:  2m 09s | Max:  2m 15s | Hits:  92%/160   
      🟩 Clang13            Pass: 100%/4   | Total:  7m 59s | Avg:  1m 59s | Max:  2m 02s | Hits:  92%/160   
      🟩 Clang14            Pass: 100%/6   | Total: 16m 10s | Avg:  2m 41s | Max:  3m 59s | Hits:  95%/240   
      🟩 Clang15            Pass: 100%/2   | Total:  4m 28s | Avg:  2m 14s | Max:  2m 21s | Hits:  92%/80    
      🟩 Clang16            Pass: 100%/6   | Total: 16m 43s | Avg:  2m 47s | Max:  4m 12s | Hits:  95%/240   
      🟩 GCC9               Pass: 100%/2   | Total:  4m 12s | Avg:  2m 06s | Max:  2m 07s | Hits:  87%/80    
      🟩 GCC10              Pass: 100%/4   | Total:  7m 55s | Avg:  1m 58s | Max:  2m 10s | Hits:  87%/160   
      🟩 GCC11              Pass: 100%/4   | Total:  7m 46s | Avg:  1m 56s | Max:  2m 10s | Hits:  87%/160   
      🟩 GCC12              Pass: 100%/12  | Total: 33m 01s | Avg:  2m 45s | Max:  4m 01s | Hits:  90%/480   
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  2m 57s | Avg:  2m 57s | Max:  2m 57s | Hits:  92%/40    
      🟩 MSVC14.36          Pass: 100%/1   | Total:  7m 56s | Avg:  7m 56s | Max:  7m 56s | Hits:  67%/34    
      🟩 MSVC14.39          Pass: 100%/1   | Total:  7m 57s | Avg:  7m 57s | Max:  7m 57s | Hits:  67%/34    
    🟩 cxx_family
      🟩 Clang              Pass: 100%/30  | Total:  1h 10m | Avg:  2m 21s | Max:  4m 12s | Hits:  93%/1200  
      🟩 GCC                Pass: 100%/22  | Total: 52m 54s | Avg:  2m 24s | Max:  4m 01s | Hits:  88%/880   
      🟩 Intel              Pass: 100%/1   | Total:  2m 57s | Avg:  2m 57s | Max:  2m 57s | Hits:  92%/40    
      🟩 MSVC               Pass: 100%/2   | Total: 15m 53s | Avg:  7m 56s | Max:  7m 57s | Hits:  67%/68    
    🟩 gpu
      🟩 v100               Pass: 100%/55  | Total:  2h 22m | Avg:  2m 35s | Max:  7m 57s | Hits:  90%/2188  
    🟩 jobs
      🟩 Build              Pass: 100%/47  | Total:  1h 51m | Avg:  2m 22s | Max:  7m 57s | Hits:  89%/1868  
      🟩 Test               Pass: 100%/8   | Total: 31m 19s | Avg:  3m 54s | Max:  4m 12s | Hits:  97%/320   
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  1m 54s | Avg:  1m 54s | Max:  1m 54s | Hits:  87%/40    
      🟩 90a                Pass: 100%/1   | Total:  2m 11s | Avg:  2m 11s | Max:  2m 11s | Hits:  87%/40    
    🟩 std
      🟩 17                 Pass: 100%/31  | Total:  1h 12m | Avg:  2m 20s | Max:  4m 06s | Hits:  91%/1240  
      🟩 20                 Pass: 100%/24  | Total:  1h 10m | Avg:  2m 55s | Max:  7m 57s | Hits:  90%/948   
    
  • 🟩 pycuda: Pass: 100%/1 | Total: 11m 45s | Avg: 11m 45s | Max: 11m 45s

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

👃 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

cudax/include/cuda/experimental/__device/attributes.cuh Outdated Show resolved Hide resolved
cudax/include/cuda/experimental/__device/device_vector.cuh Outdated Show resolved Hide resolved
cudax/include/cuda/experimental/__device/device_vector.cuh Outdated Show resolved Hide resolved
cudax/test/CMakeLists.txt Outdated Show resolved Hide resolved
the number of cuda devices can be determined by calling
`cuda::devices.size()`. `cuda::devices` is a range of
`cuda::device` objects.
Copy link
Contributor

🟨 CI finished in 5h 06m: Pass: 96%/56 | Total: 3h 13m | Avg: 3m 27s | Max: 10m 52s | Hits: 71%/2279
  • 🟨 cudax: Pass: 96%/55 | Total: 3h 02m | Avg: 3m 19s | Max: 8m 10s | Hits: 71%/2279

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  96%/51  | Total:  2h 50m | Avg:  3m 20s | Max:  8m 10s | Hits:  71%/2107  
      🟩 arm64              Pass: 100%/4   | Total: 12m 01s | Avg:  3m 00s | Max:  3m 09s | Hits:  62%/172   
    🚨 cxx_family: MSVC 🚨
      🟩 Clang              Pass: 100%/30  | Total:  1h 42m | Avg:  3m 24s | Max:  4m 11s | Hits:  67%/1290  
      🟩 GCC                Pass: 100%/22  | Total:  1h 01m | Avg:  2m 48s | Max:  4m 04s | Hits:  76%/946   
      🟩 Intel              Pass: 100%/1   | Total:  3m 35s | Avg:  3m 35s | Max:  3m 35s | Hits:  46%/43    
      🔥 MSVC               Pass:   0%/2   | Total: 14m 57s | Avg:  7m 28s | Max:  8m 10s
    🔍 jobs: Build 🔍
      🔍 Build              Pass:  95%/47  | Total:  2h 32m | Avg:  3m 14s | Max:  8m 10s | Hits:  66%/1935  
      🟩 Test               Pass: 100%/8   | Total: 30m 24s | Avg:  3m 48s | Max:  4m 11s | Hits:  97%/344   
    🔍 std: 20 🔍
      🟩 17                 Pass: 100%/31  | Total:  1h 39m | Avg:  3m 12s | Max:  4m 11s | Hits:  69%/1333  
      🔍 20                 Pass:  91%/24  | Total:  1h 23m | Avg:  3m 28s | Max:  8m 10s | Hits:  72%/946   
    🟨 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  7m 49s | Avg:  3m 54s | Max:  4m 03s | Hits:  59%/86    
      🟩 Clang10            Pass: 100%/2   | Total:  6m 42s | Avg:  3m 21s | Max:  3m 35s | Hits:  55%/86    
      🟩 Clang11            Pass: 100%/4   | Total: 14m 05s | Avg:  3m 31s | Max:  4m 06s | Hits:  57%/172   
      🟩 Clang12            Pass: 100%/4   | Total: 15m 04s | Avg:  3m 46s | Max:  4m 09s | Hits:  57%/172   
      🟩 Clang13            Pass: 100%/4   | Total: 14m 07s | Avg:  3m 31s | Max:  3m 58s | Hits:  57%/172   
      🟩 Clang14            Pass: 100%/6   | Total: 20m 39s | Avg:  3m 26s | Max:  4m 04s | Hits:  86%/258   
      🟩 Clang15            Pass: 100%/2   | Total:  4m 39s | Avg:  2m 19s | Max:  2m 27s | Hits:  65%/86    
      🟩 Clang16            Pass: 100%/6   | Total: 19m 15s | Avg:  3m 12s | Max:  4m 11s | Hits:  76%/258   
      🟩 GCC9               Pass: 100%/2   | Total:  6m 43s | Avg:  3m 21s | Max:  3m 45s | Hits:  74%/86    
      🟩 GCC10              Pass: 100%/4   | Total: 12m 04s | Avg:  3m 01s | Max:  3m 39s | Hits:  74%/172   
      🟩 GCC11              Pass: 100%/4   | Total:  9m 04s | Avg:  2m 16s | Max:  2m 21s | Hits:  74%/172   
      🟩 GCC12              Pass: 100%/12  | Total: 34m 02s | Avg:  2m 50s | Max:  4m 04s | Hits:  79%/516   
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  3m 35s | Avg:  3m 35s | Max:  3m 35s | Hits:  46%/43    
      🟥 MSVC14.36          Pass:   0%/1   | Total:  6m 47s | Avg:  6m 47s | Max:  6m 47s
      🟥 MSVC14.39          Pass:   0%/1   | Total:  8m 10s | Avg:  8m 10s | Max:  8m 10s
    🟨 cudacxx_family
      🟨 nvcc               Pass:  96%/55  | Total:  3h 02m | Avg:  3m 19s | Max:  8m 10s | Hits:  71%/2279  
    🟨 gpu
      🟨 v100               Pass:  96%/55  | Total:  3h 02m | Avg:  3m 19s | Max:  8m 10s | Hits:  71%/2279  
    🟨 ctk
      🟨 12.0               Pass:  95%/23  | Total:  1h 13m | Avg:  3m 12s | Max:  6m 47s | Hits:  79%/946   
      🟨 12.5               Pass:  96%/32  | Total:  1h 49m | Avg:  3m 24s | Max:  8m 10s | Hits:  65%/1333  
    🟨 cudacxx
      🟨 nvcc12.0           Pass:  95%/23  | Total:  1h 13m | Avg:  3m 12s | Max:  6m 47s | Hits:  79%/946   
      🟨 nvcc12.5           Pass:  96%/32  | Total:  1h 49m | Avg:  3m 24s | Max:  8m 10s | Hits:  65%/1333  
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  1m 48s | Avg:  1m 48s | Max:  1m 48s | Hits:  88%/43    
      🟩 90a                Pass: 100%/1   | Total:  2m 11s | Avg:  2m 11s | Max:  2m 11s | Hits:  60%/43    
    
  • 🟩 pycuda: Pass: 100%/1 | Total: 10m 52s | Avg: 10m 52s | Max: 10m 52s

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

👃 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
Copy link
Collaborator Author

i have updated this pr to make cudax::devices be a range of device objects, instead of a range of device_refs.

@ericniebler ericniebler requested a review from miscco July 31, 2024 23:42
Copy link
Contributor

github-actions bot commented Aug 1, 2024

🟨 CI finished in 2h 23m: Pass: 98%/56 | Total: 2h 36m | Avg: 2m 48s | Max: 11m 55s | Hits: 90%/2586
  • 🟨 cudax: Pass: 98%/55 | Total: 2h 24m | Avg: 2m 38s | Max: 9m 10s | Hits: 90%/2586

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  98%/51  | Total:  2h 15m | Avg:  2m 39s | Max:  9m 10s | Hits:  90%/2394  
      🟩 arm64              Pass: 100%/4   | Total:  8m 59s | Avg:  2m 14s | Max:  2m 39s | Hits:  89%/192   
    🔍 ctk: 12.0 🔍
      🔍 12.0               Pass:  95%/23  | Total:  1h 00m | Avg:  2m 39s | Max:  7m 34s | Hits:  91%/1056  
      🟩 12.5               Pass: 100%/32  | Total:  1h 23m | Avg:  2m 37s | Max:  9m 10s | Hits:  90%/1530  
    🔍 cudacxx: nvcc12.0 🔍
      🔍 nvcc12.0           Pass:  95%/23  | Total:  1h 00m | Avg:  2m 39s | Max:  7m 34s | Hits:  91%/1056  
      🟩 nvcc12.5           Pass: 100%/32  | Total:  1h 23m | Avg:  2m 37s | Max:  9m 10s | Hits:  90%/1530  
    🚨 cxx: MSVC14.36 🚨
      🟩 Clang9             Pass: 100%/2   | Total:  4m 14s | Avg:  2m 07s | Max:  2m 11s | Hits:  91%/96    
      🟩 Clang10            Pass: 100%/2   | Total:  4m 19s | Avg:  2m 09s | Max:  2m 13s | Hits:  91%/96    
      🟩 Clang11            Pass: 100%/4   | Total:  8m 18s | Avg:  2m 04s | Max:  2m 09s | Hits:  91%/192   
      🟩 Clang12            Pass: 100%/4   | Total:  8m 47s | Avg:  2m 11s | Max:  2m 17s | Hits:  91%/192   
      🟩 Clang13            Pass: 100%/4   | Total:  8m 42s | Avg:  2m 10s | Max:  2m 18s | Hits:  91%/192   
      🟩 Clang14            Pass: 100%/6   | Total: 17m 46s | Avg:  2m 57s | Max:  4m 46s | Hits:  94%/288   
      🟩 Clang15            Pass: 100%/2   | Total:  4m 40s | Avg:  2m 20s | Max:  2m 22s | Hits:  91%/96    
      🟩 Clang16            Pass: 100%/6   | Total: 16m 59s | Avg:  2m 49s | Max:  4m 23s | Hits:  94%/288   
      🟩 GCC9               Pass: 100%/2   | Total:  3m 49s | Avg:  1m 54s | Max:  1m 58s | Hits:  87%/96    
      🟩 GCC10              Pass: 100%/4   | Total:  7m 38s | Avg:  1m 54s | Max:  2m 06s | Hits:  87%/192   
      🟩 GCC11              Pass: 100%/4   | Total:  8m 09s | Avg:  2m 02s | Max:  2m 09s | Hits:  86%/192   
      🟩 GCC12              Pass: 100%/12  | Total: 32m 01s | Avg:  2m 40s | Max:  4m 02s | Hits:  90%/576   
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  2m 52s | Avg:  2m 52s | Max:  2m 52s | Hits:  91%/48    
      🔥 MSVC14.36          Pass:   0%/1   | Total:  7m 34s | Avg:  7m 34s | Max:  7m 34s
      🟩 MSVC14.39          Pass: 100%/1   | Total:  9m 10s | Avg:  9m 10s | Max:  9m 10s | Hits:  71%/42    
    🔍 cxx_family: MSVC 🔍
      🟩 Clang              Pass: 100%/30  | Total:  1h 13m | Avg:  2m 27s | Max:  4m 46s | Hits:  92%/1440  
      🟩 GCC                Pass: 100%/22  | Total: 51m 37s | Avg:  2m 20s | Max:  4m 02s | Hits:  88%/1056  
      🟩 Intel              Pass: 100%/1   | Total:  2m 52s | Avg:  2m 52s | Max:  2m 52s | Hits:  91%/48    
      🔍 MSVC               Pass:  50%/2   | Total: 16m 44s | Avg:  8m 22s | Max:  9m 10s | Hits:  71%/42    
    🔍 jobs: Build 🔍
      🔍 Build              Pass:  97%/47  | Total:  1h 52m | Avg:  2m 24s | Max:  9m 10s | Hits:  89%/2202  
      🟩 Test               Pass: 100%/8   | Total: 32m 00s | Avg:  4m 00s | Max:  4m 46s | Hits:  97%/384   
    🔍 std: 20 🔍
      🟩 17                 Pass: 100%/31  | Total:  1h 13m | Avg:  2m 21s | Max:  4m 16s | Hits:  90%/1488  
      🔍 20                 Pass:  95%/24  | Total:  1h 11m | Avg:  2m 59s | Max:  9m 10s | Hits:  90%/1098  
    🟨 cudacxx_family
      🟨 nvcc               Pass:  98%/55  | Total:  2h 24m | Avg:  2m 38s | Max:  9m 10s | Hits:  90%/2586  
    🟨 gpu
      🟨 v100               Pass:  98%/55  | Total:  2h 24m | Avg:  2m 38s | Max:  9m 10s | Hits:  90%/2586  
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  1m 55s | Avg:  1m 55s | Max:  1m 55s | Hits:  87%/48    
      🟩 90a                Pass: 100%/1   | Total:  2m 09s | Avg:  2m 09s | Max:  2m 09s | Hits:  87%/48    
    
  • 🟩 pycuda: Pass: 100%/1 | Total: 11m 55s | Avg: 11m 55s | Max: 11m 55s

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

👃 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 requested a review from a team as a code owner August 2, 2024 20:46
@ericniebler ericniebler enabled auto-merge (squash) August 2, 2024 21:26
CUDAX_REQUIRE(0 == cudax::devices.end()[-1].get());
}

try
Copy link
Collaborator

Choose a reason for hiding this comment

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

catch2 has some native machinery for verifying an expression throws a specific exception: https://github.com/catchorg/Catch2/blob/devel/docs/assertions.md#exceptions

Copy link
Contributor

github-actions bot commented Aug 3, 2024

🟩 CI finished in 3h 49m: Pass: 100%/56 | Total: 2h 35m | Avg: 2m 46s | Max: 11m 11s | Hits: 91%/2738
  • 🟩 cudax: Pass: 100%/55 | Total: 2h 23m | Avg: 2m 36s | Max: 8m 10s | Hits: 91%/2738

    🟩 cpu
      🟩 amd64              Pass: 100%/51  | Total:  2h 14m | Avg:  2m 38s | Max:  8m 10s | Hits:  91%/2538  
      🟩 arm64              Pass: 100%/4   | Total:  9m 26s | Avg:  2m 21s | Max:  2m 29s | Hits:  92%/200   
    🟩 ctk
      🟩 12.0               Pass: 100%/23  | Total:  1h 00m | Avg:  2m 36s | Max:  8m 10s | Hits:  90%/1144  
      🟩 12.5               Pass: 100%/32  | Total:  1h 23m | Avg:  2m 37s | Max:  7m 20s | Hits:  91%/1594  
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/23  | Total:  1h 00m | Avg:  2m 36s | Max:  8m 10s | Hits:  90%/1144  
      🟩 nvcc12.5           Pass: 100%/32  | Total:  1h 23m | Avg:  2m 37s | Max:  7m 20s | Hits:  91%/1594  
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/55  | Total:  2h 23m | Avg:  2m 36s | Max:  8m 10s | Hits:  91%/2738  
    🟩 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  4m 12s | Avg:  2m 06s | Max:  2m 10s | Hits:  92%/100   
      🟩 Clang10            Pass: 100%/2   | Total:  4m 20s | Avg:  2m 10s | Max:  2m 17s | Hits:  92%/100   
      🟩 Clang11            Pass: 100%/4   | Total:  8m 27s | Avg:  2m 06s | Max:  2m 12s | Hits:  92%/200   
      🟩 Clang12            Pass: 100%/4   | Total:  8m 29s | Avg:  2m 07s | Max:  2m 14s | Hits:  92%/200   
      🟩 Clang13            Pass: 100%/4   | Total:  8m 32s | Avg:  2m 08s | Max:  2m 18s | Hits:  92%/200   
      🟩 Clang14            Pass: 100%/6   | Total: 16m 25s | Avg:  2m 44s | Max:  4m 15s | Hits:  94%/300   
      🟩 Clang15            Pass: 100%/2   | Total:  4m 21s | Avg:  2m 10s | Max:  2m 14s | Hits:  92%/100   
      🟩 Clang16            Pass: 100%/6   | Total: 18m 53s | Avg:  3m 08s | Max:  5m 16s | Hits:  95%/300   
      🟩 GCC9               Pass: 100%/2   | Total:  4m 13s | Avg:  2m 06s | Max:  2m 07s | Hits:  87%/100   
      🟩 GCC10              Pass: 100%/4   | Total:  7m 52s | Avg:  1m 58s | Max:  2m 16s | Hits:  88%/200   
      🟩 GCC11              Pass: 100%/4   | Total:  8m 17s | Avg:  2m 04s | Max:  2m 15s | Hits:  88%/200   
      🟩 GCC12              Pass: 100%/12  | Total: 31m 37s | Avg:  2m 38s | Max:  3m 39s | Hits:  91%/600   
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  2m 45s | Avg:  2m 45s | Max:  2m 45s | Hits:  92%/50    
      🟩 MSVC14.36          Pass: 100%/1   | Total:  8m 10s | Avg:  8m 10s | Max:  8m 10s | Hits:  75%/44    
      🟩 MSVC14.39          Pass: 100%/1   | Total:  7m 20s | Avg:  7m 20s | Max:  7m 20s | Hits:  75%/44    
    🟩 cxx_family
      🟩 Clang              Pass: 100%/30  | Total:  1h 13m | Avg:  2m 27s | Max:  5m 16s | Hits:  93%/1500  
      🟩 GCC                Pass: 100%/22  | Total: 51m 59s | Avg:  2m 21s | Max:  3m 39s | Hits:  89%/1100  
      🟩 Intel              Pass: 100%/1   | Total:  2m 45s | Avg:  2m 45s | Max:  2m 45s | Hits:  92%/50    
      🟩 MSVC               Pass: 100%/2   | Total: 15m 30s | Avg:  7m 45s | Max:  8m 10s | Hits:  75%/88    
    🟩 gpu
      🟩 v100               Pass: 100%/55  | Total:  2h 23m | Avg:  2m 36s | Max:  8m 10s | Hits:  91%/2738  
    🟩 jobs
      🟩 Build              Pass: 100%/47  | Total:  1h 52m | Avg:  2m 23s | Max:  8m 10s | Hits:  89%/2338  
      🟩 Test               Pass: 100%/8   | Total: 31m 46s | Avg:  3m 58s | Max:  5m 16s | Hits:  98%/400   
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  1m 51s | Avg:  1m 51s | Max:  1m 51s | Hits:  88%/50    
      🟩 90a                Pass: 100%/1   | Total:  2m 03s | Avg:  2m 03s | Max:  2m 03s | Hits:  88%/50    
    🟩 std
      🟩 17                 Pass: 100%/31  | Total:  1h 13m | Avg:  2m 22s | Max:  5m 16s | Hits:  91%/1550  
      🟩 20                 Pass: 100%/24  | Total:  1h 10m | Avg:  2m 55s | Max:  8m 10s | Hits:  90%/1188  
    
  • 🟩 pycuda: Pass: 100%/1 | Total: 11m 11s | Avg: 11m 11s | Max: 11m 11s

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

👃 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 merged commit a8ca75c into NVIDIA:main Aug 3, 2024
73 checks passed
pciolkosz pushed a commit to pciolkosz/cccl that referenced this pull request Aug 4, 2024
… in the system (NVIDIA#2100)

* add `cuda::devices` vector

the number of cuda devices can be determined by calling
`cuda::devices.size()`. `cuda::devices` is a range of
`cuda::device` objects.
pciolkosz pushed a commit to pciolkosz/cccl that referenced this pull request Aug 4, 2024
… in the system (NVIDIA#2100)

* add `cuda::devices` vector

the number of cuda devices can be determined by calling
`cuda::devices.size()`. `cuda::devices` is a range of
`cuda::device` objects.
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 a way to get the number of devices
5 participants