cccl icon indicating copy to clipboard operation
cccl copied to clipboard

Add a `synchronous_buffer` to cudax

Open miscco opened this issue 9 months ago • 4 comments

We currently only have an async_buffer. However, that requires async resources and a lot of resources out there arent async.

There are also a ton of use cases where using async operations is overkill

miscco avatar Apr 01 '25 16:04 miscco

🟨 CI finished in 6h 51m: Pass: 95%/22 | Total: 2h 24m | Avg: 6m 35s | Max: 14m 30s | Hits: 94%/12193
  • 🟨 cudax: Pass: 95%/22 | Total: 2h 24m | Avg: 6m 35s | Max: 14m 30s | Hits: 94%/12193

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  94%/18  | Total:  2h 08m | Avg:  7m 08s | Max: 14m 30s | Hits:  94%/9813  
      🟩 arm64              Pass: 100%/4   | Total: 16m 18s | Avg:  4m 04s | Max:  4m 19s | Hits:  94%/2380  
    🚨 ctk: 12.0 🚨
      🔥 12.0               Pass:   0%/1   | Total: 10m 07s | Avg: 10m 07s | Max: 10m 07s
      🟩 12.6               Pass: 100%/2   | Total: 17m 34s | Avg:  8m 47s | Max:  8m 58s | Hits:  92%/1186  
      🟩 12.8               Pass: 100%/19  | Total:  1h 57m | Avg:  6m 10s | Max: 14m 30s | Hits:  95%/11007 
    🚨 cudacxx: nvcc12.0 🚨
      🔥 nvcc12.0           Pass:   0%/1   | Total: 10m 07s | Avg: 10m 07s | Max: 10m 07s
      🟩 nvcc12.6           Pass: 100%/2   | Total: 17m 34s | Avg:  8m 47s | Max:  8m 58s | Hits:  92%/1186  
      🟩 nvcc12.8           Pass: 100%/19  | Total:  1h 57m | Avg:  6m 10s | Max: 14m 30s | Hits:  95%/11007 
    🚨 cxx: MSVC14.39 🚨
      🟩 Clang14            Pass: 100%/1   | Total:  4m 23s | Avg:  4m 23s | Max:  4m 23s | Hits:  94%/597   
      🟩 Clang15            Pass: 100%/1   | Total:  4m 56s | Avg:  4m 56s | Max:  4m 56s | Hits:  94%/595   
      🟩 Clang16            Pass: 100%/1   | Total:  4m 57s | Avg:  4m 57s | Max:  4m 57s | Hits:  94%/595   
      🟩 Clang17            Pass: 100%/1   | Total:  5m 12s | Avg:  5m 12s | Max:  5m 12s | Hits:  94%/595   
      🟩 Clang18            Pass: 100%/4   | Total: 24m 37s | Avg:  6m 09s | Max: 12m 07s | Hits:  95%/2380  
      🟩 GCC10              Pass: 100%/1   | Total:  4m 33s | Avg:  4m 33s | Max:  4m 33s | Hits:  94%/597   
      🟩 GCC11              Pass: 100%/1   | Total:  4m 50s | Avg:  4m 50s | Max:  4m 50s | Hits:  94%/595   
      🟩 GCC12              Pass: 100%/2   | Total: 17m 42s | Avg:  8m 51s | Max: 12m 58s | Hits:  96%/1190  
      🟩 GCC13              Pass: 100%/6   | Total: 35m 20s | Avg:  5m 53s | Max: 14m 30s | Hits:  95%/3570  
      🔥 MSVC14.39          Pass:   0%/1   | Total: 10m 07s | Avg: 10m 07s | Max: 10m 07s
      🟩 MSVC14.42          Pass: 100%/1   | Total: 10m 47s | Avg: 10m 47s | Max: 10m 47s | Hits:  84%/293   
      🟩 NVHPC25.1          Pass: 100%/2   | Total: 17m 34s | Avg:  8m 47s | Max:  8m 58s | Hits:  92%/1186  
    🔍 cxx_family: MSVC 🔍
      🟩 Clang              Pass: 100%/8   | Total: 44m 05s | Avg:  5m 30s | Max: 12m 07s | Hits:  95%/4762  
      🟩 GCC                Pass: 100%/10  | Total:  1h 02m | Avg:  6m 14s | Max: 14m 30s | Hits:  95%/5952  
      🔍 MSVC               Pass:  50%/2   | Total: 20m 54s | Avg: 10m 27s | Max: 10m 47s | Hits:  84%/293   
      🟩 NVHPC              Pass: 100%/2   | Total: 17m 34s | Avg:  8m 47s | Max:  8m 58s | Hits:  92%/1186  
    🔍 gpu: rtx2080 🔍
      🟩 h100               Pass: 100%/2   | Total: 18m 41s | Avg:  9m 20s | Max: 14m 30s | Hits:  96%/1190  
      🔍 rtx2080            Pass:  95%/20  | Total:  2h 06m | Avg:  6m 18s | Max: 12m 58s | Hits:  94%/11003 
    🔍 jobs: Build 🔍
      🔍 Build              Pass:  94%/19  | Total:  1h 45m | Avg:  5m 32s | Max: 10m 47s | Hits:  93%/10408 
      🟩 Test               Pass: 100%/3   | Total: 39m 35s | Avg: 13m 11s | Max: 14m 30s | Hits:  99%/1785  
    🔍 std: 20 🔍
      🟩 17                 Pass: 100%/4   | Total: 21m 11s | Avg:  5m 17s | Max:  8m 58s | Hits:  93%/2378  
      🔍 20                 Pass:  94%/18  | Total:  2h 03m | Avg:  6m 52s | Max: 14m 30s | Hits:  94%/9815  
    🟨 cudacxx_family
      🟨 nvcc               Pass:  95%/22  | Total:  2h 24m | Avg:  6m 35s | Max: 14m 30s | Hits:  94%/12193 
    🟩 sm
      🟩 90                 Pass: 100%/3   | Total: 22m 51s | Avg:  7m 37s | Max: 14m 30s | Hits:  96%/1785  
      🟩 90a                Pass: 100%/1   | Total:  3m 58s | Avg:  3m 58s | Max:  3m 58s | Hits:  94%/595   
    

👃 Inspect Changes

Modifications in project?

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

Modifications in project or dependencies?

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

🏃‍ Runner counts (total jobs: 22)

# Runner
13 linux-amd64-cpu16
4 linux-arm64-cpu16
2 windows-amd64-cpu16
2 linux-amd64-gpu-rtx2080-latest-1
1 linux-amd64-gpu-h100-latest-1

github-actions[bot] avatar Apr 01 '25 22:04 github-actions[bot]

We should have a async_buffer -> synchronous_buffer conversion. Should not be any issues assigning the resource this way (any_async_resource to any_resource)

pciolkosz avatar Apr 02 '25 01:04 pciolkosz

🟨 CI finished in 7h 02m: Pass: 95%/22 | Total: 2h 21m | Avg: 6m 27s | Max: 12m 50s | Hits: 94%/12193
  • 🟨 cudax: Pass: 95%/22 | Total: 2h 21m | Avg: 6m 27s | Max: 12m 50s | Hits: 94%/12193

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  94%/18  | Total:  2h 05m | Avg:  6m 58s | Max: 12m 50s | Hits:  94%/9813  
      🟩 arm64              Pass: 100%/4   | Total: 16m 15s | Avg:  4m 03s | Max:  4m 19s | Hits:  94%/2380  
    🚨 ctk: 12.0 🚨
      🔥 12.0               Pass:   0%/1   | Total: 10m 51s | Avg: 10m 51s | Max: 10m 51s
      🟩 12.6               Pass: 100%/2   | Total: 17m 11s | Avg:  8m 35s | Max:  8m 53s | Hits:  92%/1186  
      🟩 12.8               Pass: 100%/19  | Total:  1h 53m | Avg:  5m 59s | Max: 12m 50s | Hits:  95%/11007 
    🚨 cudacxx: nvcc12.0 🚨
      🔥 nvcc12.0           Pass:   0%/1   | Total: 10m 51s | Avg: 10m 51s | Max: 10m 51s
      🟩 nvcc12.6           Pass: 100%/2   | Total: 17m 11s | Avg:  8m 35s | Max:  8m 53s | Hits:  92%/1186  
      🟩 nvcc12.8           Pass: 100%/19  | Total:  1h 53m | Avg:  5m 59s | Max: 12m 50s | Hits:  95%/11007 
    🚨 cxx: MSVC14.39 🚨
      🟩 Clang14            Pass: 100%/1   | Total:  4m 16s | Avg:  4m 16s | Max:  4m 16s | Hits:  94%/597   
      🟩 Clang15            Pass: 100%/1   | Total:  4m 31s | Avg:  4m 31s | Max:  4m 31s | Hits:  94%/595   
      🟩 Clang16            Pass: 100%/1   | Total:  4m 39s | Avg:  4m 39s | Max:  4m 39s | Hits:  94%/595   
      🟩 Clang17            Pass: 100%/1   | Total:  4m 36s | Avg:  4m 36s | Max:  4m 36s | Hits:  94%/595   
      🟩 Clang18            Pass: 100%/4   | Total: 24m 05s | Avg:  6m 01s | Max: 11m 54s | Hits:  96%/2380  
      🟩 GCC10              Pass: 100%/1   | Total:  4m 28s | Avg:  4m 28s | Max:  4m 28s | Hits:  94%/597   
      🟩 GCC11              Pass: 100%/1   | Total:  4m 45s | Avg:  4m 45s | Max:  4m 45s | Hits:  94%/595   
      🟩 GCC12              Pass: 100%/2   | Total: 17m 46s | Avg:  8m 53s | Max: 12m 50s | Hits:  97%/1190  
      🟩 GCC13              Pass: 100%/6   | Total: 33m 18s | Avg:  5m 33s | Max: 12m 29s | Hits:  94%/3570  
      🔥 MSVC14.39          Pass:   0%/1   | Total: 10m 51s | Avg: 10m 51s | Max: 10m 51s
      🟩 MSVC14.42          Pass: 100%/1   | Total: 11m 29s | Avg: 11m 29s | Max: 11m 29s | Hits:  85%/293   
      🟩 NVHPC25.1          Pass: 100%/2   | Total: 17m 11s | Avg:  8m 35s | Max:  8m 53s | Hits:  92%/1186  
    🔍 cxx_family: MSVC 🔍
      🟩 Clang              Pass: 100%/8   | Total: 42m 07s | Avg:  5m 15s | Max: 11m 54s | Hits:  95%/4762  
      🟩 GCC                Pass: 100%/10  | Total:  1h 00m | Avg:  6m 01s | Max: 12m 50s | Hits:  95%/5952  
      🔍 MSVC               Pass:  50%/2   | Total: 22m 20s | Avg: 11m 10s | Max: 11m 29s | Hits:  85%/293   
      🟩 NVHPC              Pass: 100%/2   | Total: 17m 11s | Avg:  8m 35s | Max:  8m 53s | Hits:  92%/1186  
    🔍 gpu: rtx2080 🔍
      🟩 h100               Pass: 100%/2   | Total: 16m 59s | Avg:  8m 29s | Max: 12m 29s | Hits:  94%/1190  
      🔍 rtx2080            Pass:  95%/20  | Total:  2h 04m | Avg:  6m 14s | Max: 12m 50s | Hits:  94%/11003 
    🔍 jobs: Build 🔍
      🔍 Build              Pass:  94%/19  | Total:  1h 44m | Avg:  5m 30s | Max: 11m 29s | Hits:  94%/10408 
      🟩 Test               Pass: 100%/3   | Total: 37m 13s | Avg: 12m 24s | Max: 12m 50s | Hits:  98%/1785  
    🔍 std: 20 🔍
      🟩 17                 Pass: 100%/4   | Total: 20m 13s | Avg:  5m 03s | Max:  8m 18s | Hits:  94%/2378  
      🔍 20                 Pass:  94%/18  | Total:  2h 01m | Avg:  6m 45s | Max: 12m 50s | Hits:  94%/9815  
    🟨 cudacxx_family
      🟨 nvcc               Pass:  95%/22  | Total:  2h 21m | Avg:  6m 27s | Max: 12m 50s | Hits:  94%/12193 
    🟩 sm
      🟩 90                 Pass: 100%/3   | Total: 20m 52s | Avg:  6m 57s | Max: 12m 29s | Hits:  94%/1785  
      🟩 90a                Pass: 100%/1   | Total:  3m 58s | Avg:  3m 58s | Max:  3m 58s | Hits:  94%/595   
    

👃 Inspect Changes

Modifications in project?

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

Modifications in project or dependencies?

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

🏃‍ Runner counts (total jobs: 22)

# Runner
13 linux-amd64-cpu16
4 linux-arm64-cpu16
2 windows-amd64-cpu16
2 linux-amd64-gpu-rtx2080-latest-1
1 linux-amd64-gpu-h100-latest-1

github-actions[bot] avatar Apr 02 '25 14:04 github-actions[bot]

🟨 CI finished in 19m 02s: Pass: 81%/22 | Total: 2h 18m | Avg: 6m 16s | Max: 12m 41s | Hits: 95%/10408
  • 🟨 cudax: Pass: 81%/22 | Total: 2h 18m | Avg: 6m 16s | Max: 12m 41s | Hits: 95%/10408

    🔍 cpu: amd64 🔍
      🔍 amd64              Pass:  77%/18  | Total:  2h 02m | Avg:  6m 49s | Max: 12m 41s | Hits:  95%/8028  
      🟩 arm64              Pass: 100%/4   | Total: 15m 22s | Avg:  3m 50s | Max:  4m 07s | Hits:  96%/2380  
    🔍 sm: 90 🔍
      🔍 90                 Pass:  66%/3   | Total: 18m 38s | Avg:  6m 12s | Max: 11m 36s | Hits:  96%/1190  
      🟩 90a                Pass: 100%/1   | Total:  3m 42s | Avg:  3m 42s | Max:  3m 42s | Hits:  96%/595   
    🔍 std: 20 🔍
      🟩 17                 Pass: 100%/4   | Total: 19m 24s | Avg:  4m 51s | Max:  8m 13s | Hits:  95%/2378  
      🔍 20                 Pass:  77%/18  | Total:  1h 58m | Avg:  6m 35s | Max: 12m 41s | Hits:  95%/8030  
    🟨 ctk
      🟥 12.0               Pass:   0%/1   | Total: 11m 13s | Avg: 11m 13s | Max: 11m 13s
      🟩 12.6               Pass: 100%/2   | Total: 16m 17s | Avg:  8m 08s | Max:  8m 13s | Hits:  94%/1186  
      🟨 12.8               Pass:  84%/19  | Total:  1h 50m | Avg:  5m 49s | Max: 12m 41s | Hits:  96%/9222  
    🟨 cudacxx
      🟥 nvcc12.0           Pass:   0%/1   | Total: 11m 13s | Avg: 11m 13s | Max: 11m 13s
      🟩 nvcc12.6           Pass: 100%/2   | Total: 16m 17s | Avg:  8m 08s | Max:  8m 13s | Hits:  94%/1186  
      🟨 nvcc12.8           Pass:  84%/19  | Total:  1h 50m | Avg:  5m 49s | Max: 12m 41s | Hits:  96%/9222  
    🟨 cxx
      🟩 Clang14            Pass: 100%/1   | Total:  4m 14s | Avg:  4m 14s | Max:  4m 14s | Hits:  96%/597   
      🟩 Clang15            Pass: 100%/1   | Total:  4m 16s | Avg:  4m 16s | Max:  4m 16s | Hits:  96%/595   
      🟩 Clang16            Pass: 100%/1   | Total:  4m 38s | Avg:  4m 38s | Max:  4m 38s | Hits:  96%/595   
      🟩 Clang17            Pass: 100%/1   | Total:  4m 18s | Avg:  4m 18s | Max:  4m 18s | Hits:  96%/595   
      🟨 Clang18            Pass:  75%/4   | Total: 24m 26s | Avg:  6m 06s | Max: 12m 23s | Hits:  96%/1785  
      🟩 GCC10              Pass: 100%/1   | Total:  4m 28s | Avg:  4m 28s | Max:  4m 28s | Hits:  96%/597   
      🟩 GCC11              Pass: 100%/1   | Total:  4m 14s | Avg:  4m 14s | Max:  4m 14s | Hits:  96%/595   
      🟨 GCC12              Pass:  50%/2   | Total: 17m 39s | Avg:  8m 49s | Max: 12m 41s | Hits:  96%/595   
      🟨 GCC13              Pass:  83%/6   | Total: 30m 21s | Avg:  5m 03s | Max: 11m 36s | Hits:  96%/2975  
      🟥 MSVC14.39          Pass:   0%/1   | Total: 11m 13s | Avg: 11m 13s | Max: 11m 13s
      🟩 MSVC14.42          Pass: 100%/1   | Total: 12m 04s | Avg: 12m 04s | Max: 12m 04s | Hits:  88%/293   
      🟩 NVHPC25.1          Pass: 100%/2   | Total: 16m 17s | Avg:  8m 08s | Max:  8m 13s | Hits:  94%/1186  
    🟨 cxx_family
      🟨 Clang              Pass:  87%/8   | Total: 41m 52s | Avg:  5m 14s | Max: 12m 23s | Hits:  96%/4167  
      🟨 GCC                Pass:  80%/10  | Total: 56m 42s | Avg:  5m 40s | Max: 12m 41s | Hits:  96%/4762  
      🟨 MSVC               Pass:  50%/2   | Total: 23m 17s | Avg: 11m 38s | Max: 12m 04s | Hits:  88%/293   
      🟩 NVHPC              Pass: 100%/2   | Total: 16m 17s | Avg:  8m 08s | Max:  8m 13s | Hits:  94%/1186  
    🟨 cudacxx_family
      🟨 nvcc               Pass:  81%/22  | Total:  2h 18m | Avg:  6m 16s | Max: 12m 41s | Hits:  95%/10408 
    🟨 gpu
      🟨 h100               Pass:  50%/2   | Total: 15m 05s | Avg:  7m 32s | Max: 11m 36s | Hits:  96%/595   
      🟨 rtx2080            Pass:  85%/20  | Total:  2h 03m | Avg:  6m 09s | Max: 12m 41s | Hits:  95%/9813  
    🟨 jobs
      🟨 Build              Pass:  94%/19  | Total:  1h 41m | Avg:  5m 20s | Max: 12m 04s | Hits:  95%/10408 
      🟥 Test               Pass:   0%/3   | Total: 36m 40s | Avg: 12m 13s | Max: 12m 41s
    

👃 Inspect Changes

Modifications in project?

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

Modifications in project or dependencies?

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

🏃‍ Runner counts (total jobs: 22)

# Runner
13 linux-amd64-cpu16
4 linux-arm64-cpu16
2 windows-amd64-cpu16
2 linux-amd64-gpu-rtx2080-latest-1
1 linux-amd64-gpu-h100-latest-1

github-actions[bot] avatar Apr 03 '25 07:04 github-actions[bot]

Moving stale PRs to draft.

alliepiper avatar Oct 29 '25 15:10 alliepiper

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

copy-pr-bot[bot] avatar Oct 29 '25 15:10 copy-pr-bot[bot]