Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make discard_iterator value_type void #3400

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

Conversation

bernhardmgruber
Copy link
Contributor

@bernhardmgruber bernhardmgruber commented Jan 15, 2025

Copy link

copy-pr-bot bot commented Jan 15, 2025

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.

@bernhardmgruber bernhardmgruber added thrust For all items related to Thrust. breaking Breaking change labels Jan 15, 2025
@bernhardmgruber
Copy link
Contributor Author

/ok to test

@bernhardmgruber
Copy link
Contributor Author

I explored what's necessary to get this in. I dropped the entire discard_iterator_base etc. and implemented it manually, but then I got stuck with thrust::iterator_traits not working anymore. I think we need to do a larger overhaul of the entire Thrust iterator machinery.

@bernhardmgruber bernhardmgruber force-pushed the discard_it_void branch 2 times, most recently from 1e6a29d to c587cd5 Compare February 28, 2025 23:36
@bernhardmgruber bernhardmgruber marked this pull request as ready for review February 28, 2025 23:37
@bernhardmgruber bernhardmgruber requested review from a team as code owners February 28, 2025 23:37
Copy link
Contributor

github-actions bot commented Mar 1, 2025

🟨 CI finished in 1h 17m: Pass: 3%/93 | Total: 1d 10h | Avg: 22m 21s | Max: 1h 15m | Hits: 97%/308
  • 🟥 cub: Pass: 0%/45 | Total: 23h 04m | Avg: 30m 45s | Max: 1h 15m

    🟥 cpu
      🟥 amd64              Pass:   0%/43  | Total: 21h 42m | Avg: 30m 16s | Max:  1h 15m
      🟥 arm64              Pass:   0%/2   | Total:  1h 22m | Avg: 41m 11s | Max: 41m 17s
    🟥 ctk
      🟥 12.0               Pass:   0%/5   | Total:  3h 16m | Avg: 39m 18s | Max:  1h 05m
      🟥 12.5               Pass:   0%/2   | Total:  1h 06m | Avg: 33m 10s | Max: 33m 47s
      🟥 12.8               Pass:   0%/38  | Total: 18h 41m | Avg: 29m 31s | Max:  1h 15m
    🟥 cudacxx
      🟥 ClangCUDA18        Pass:   0%/2   | Total:  2h 06m | Avg:  1h 03m | Max:  1h 04m
      🟥 nvcc12.0           Pass:   0%/5   | Total:  3h 16m | Avg: 39m 18s | Max:  1h 05m
      🟥 nvcc12.5           Pass:   0%/2   | Total:  1h 06m | Avg: 33m 10s | Max: 33m 47s
      🟥 nvcc12.8           Pass:   0%/36  | Total: 16h 35m | Avg: 27m 38s | Max:  1h 15m
    🟥 cudacxx_family
      🟥 ClangCUDA          Pass:   0%/2   | Total:  2h 06m | Avg:  1h 03m | Max:  1h 04m
      🟥 nvcc               Pass:   0%/43  | Total: 20h 57m | Avg: 29m 15s | Max:  1h 15m
    🟥 cxx
      🟥 Clang14            Pass:   0%/4   | Total:  2h 04m | Avg: 31m 14s | Max: 32m 55s
      🟥 Clang15            Pass:   0%/2   | Total:  1h 00m | Avg: 30m 11s | Max: 30m 54s
      🟥 Clang16            Pass:   0%/2   | Total:  1h 01m | Avg: 30m 43s | Max: 31m 47s
      🟥 Clang17            Pass:   0%/2   | Total:  1h 01m | Avg: 30m 52s | Max: 31m 25s
      🟥 Clang18            Pass:   0%/7   | Total:  3h 47m | Avg: 32m 33s | Max:  1h 04m
      🟥 GCC7               Pass:   0%/2   | Total:  1h 02m | Avg: 31m 00s | Max: 31m 56s
      🟥 GCC8               Pass:   0%/1   | Total: 30m 27s | Avg: 30m 27s | Max: 30m 27s
      🟥 GCC9               Pass:   0%/2   | Total:  1h 04m | Avg: 32m 05s | Max: 33m 52s
      🟥 GCC10              Pass:   0%/2   | Total:  1h 00m | Avg: 30m 22s | Max: 30m 31s
      🟥 GCC11              Pass:   0%/2   | Total:  1h 00m | Avg: 30m 07s | Max: 30m 16s
      🟥 GCC12              Pass:   0%/2   | Total:  1h 02m | Avg: 31m 06s | Max: 31m 56s
      🟥 GCC13              Pass:   0%/11  | Total:  2h 33m | Avg: 13m 56s | Max: 41m 17s
      🟥 MSVC14.29          Pass:   0%/2   | Total:  2h 21m | Avg:  1h 10m | Max:  1h 15m
      🟥 MSVC14.42          Pass:   0%/2   | Total:  2h 26m | Avg:  1h 13m | Max:  1h 14m
      🟥 NVHPC24.7          Pass:   0%/2   | Total:  1h 06m | Avg: 33m 10s | Max: 33m 47s
    🟥 cxx_family
      🟥 Clang              Pass:   0%/17  | Total:  8h 56m | Avg: 31m 33s | Max:  1h 04m
      🟥 GCC                Pass:   0%/22  | Total:  8h 13m | Avg: 22m 25s | Max: 41m 17s
      🟥 MSVC               Pass:   0%/4   | Total:  4h 48m | Avg:  1h 12m | Max:  1h 15m
      🟥 NVHPC              Pass:   0%/2   | Total:  1h 06m | Avg: 33m 10s | Max: 33m 47s
    🟥 gpu
      🟥 h100               Pass:   0%/3   | Total: 12m 14s | Avg:  4m 04s | Max: 12m 14s
      🟥 rtx2080            Pass:   0%/34  | Total: 21h 50m | Avg: 38m 32s | Max:  1h 15m
      🟥 rtxa6000           Pass:   0%/8   | Total:  1h 01m | Avg:  7m 42s | Max: 31m 28s
    🟥 jobs
      🟥 Build              Pass:   0%/37  | Total: 23h 04m | Avg: 37m 25s | Max:  1h 15m
      🟥 DeviceLaunch       Pass:   0%/1  
      🟥 GraphCapture       Pass:   0%/1  
      🟥 HostLaunch         Pass:   0%/3  
      🟥 TestGPU            Pass:   0%/3  
    🟥 sm
      🟥 90                 Pass:   0%/3   | Total: 12m 14s | Avg:  4m 04s | Max: 12m 14s
      🟥 90;90a;100         Pass:   0%/1   | Total: 36m 35s | Avg: 36m 35s | Max: 36m 35s
    🟥 std
      🟥 17                 Pass:   0%/20  | Total: 12h 56m | Avg: 38m 48s | Max:  1h 15m
      🟥 20                 Pass:   0%/25  | Total: 10h 08m | Avg: 24m 20s | Max:  1h 14m
    
  • 🟥 thrust: Pass: 0%/45 | Total: 10h 27m | Avg: 13m 56s | Max: 1h 03m

    🟥 cmake_options
      🟥 -DTHRUST_DISPATCH_TYPE=Force32bit Pass:   0%/2   | Total:  9m 45s | Avg:  4m 52s | Max:  9m 45s
    🟥 cpu
      🟥 amd64              Pass:   0%/43  | Total: 10h 03m | Avg: 14m 02s | Max:  1h 03m
      🟥 arm64              Pass:   0%/2   | Total: 23m 16s | Avg: 11m 38s | Max: 11m 52s
    🟥 ctk
      🟥 12.0               Pass:   0%/5   | Total:  1h 38m | Avg: 19m 43s | Max: 55m 01s
      🟥 12.5               Pass:   0%/2   | Total: 41m 04s | Avg: 20m 32s | Max: 20m 48s
      🟥 12.8               Pass:   0%/38  | Total:  8h 07m | Avg: 12m 49s | Max:  1h 03m
    🟥 cudacxx
      🟥 ClangCUDA18        Pass:   0%/2   | Total: 16m 44s | Avg:  8m 22s | Max:  8m 32s
      🟥 nvcc12.0           Pass:   0%/5   | Total:  1h 38m | Avg: 19m 43s | Max: 55m 01s
      🟥 nvcc12.5           Pass:   0%/2   | Total: 41m 04s | Avg: 20m 32s | Max: 20m 48s
      🟥 nvcc12.8           Pass:   0%/36  | Total:  7h 50m | Avg: 13m 04s | Max:  1h 03m
    🟥 cudacxx_family
      🟥 ClangCUDA          Pass:   0%/2   | Total: 16m 44s | Avg:  8m 22s | Max:  8m 32s
      🟥 nvcc               Pass:   0%/43  | Total: 10h 10m | Avg: 14m 11s | Max:  1h 03m
    🟥 cxx
      🟥 Clang14            Pass:   0%/4   | Total: 42m 11s | Avg: 10m 32s | Max: 11m 00s
      🟥 Clang15            Pass:   0%/2   | Total: 22m 41s | Avg: 11m 20s | Max: 11m 45s
      🟥 Clang16            Pass:   0%/2   | Total: 22m 09s | Avg: 11m 04s | Max: 11m 28s
      🟥 Clang17            Pass:   0%/2   | Total: 22m 37s | Avg: 11m 18s | Max: 11m 46s
      🟥 Clang18            Pass:   0%/7   | Total: 50m 05s | Avg:  7m 09s | Max: 11m 24s
      🟥 GCC7               Pass:   0%/2   | Total: 22m 05s | Avg: 11m 02s | Max: 11m 11s
      🟥 GCC8               Pass:   0%/1   | Total: 12m 14s | Avg: 12m 14s | Max: 12m 14s
      🟥 GCC9               Pass:   0%/2   | Total: 23m 06s | Avg: 11m 33s | Max: 11m 35s
      🟥 GCC10              Pass:   0%/2   | Total: 22m 31s | Avg: 11m 15s | Max: 11m 29s
      🟥 GCC11              Pass:   0%/2   | Total: 23m 39s | Avg: 11m 49s | Max: 12m 22s
      🟥 GCC12              Pass:   0%/2   | Total: 24m 10s | Avg: 12m 05s | Max: 12m 20s
      🟥 GCC13              Pass:   0%/10  | Total:  1h 05m | Avg:  6m 35s | Max: 12m 51s
      🟥 MSVC14.29          Pass:   0%/2   | Total:  1h 49m | Avg: 54m 50s | Max: 55m 01s
      🟥 MSVC14.42          Pass:   0%/3   | Total:  2h 02m | Avg: 40m 58s | Max:  1h 03m
      🟥 NVHPC24.7          Pass:   0%/2   | Total: 41m 04s | Avg: 20m 32s | Max: 20m 48s
    🟥 cxx_family
      🟥 Clang              Pass:   0%/17  | Total:  2h 39m | Avg:  9m 23s | Max: 11m 46s
      🟥 GCC                Pass:   0%/21  | Total:  3h 13m | Avg:  9m 13s | Max: 12m 51s
      🟥 MSVC               Pass:   0%/5   | Total:  3h 52m | Avg: 46m 31s | Max:  1h 03m
      🟥 NVHPC              Pass:   0%/2   | Total: 41m 04s | Avg: 20m 32s | Max: 20m 48s
    🟥 gpu
      🟥 h100               Pass:   0%/2   | Total:  7m 44s | Avg:  3m 52s | Max:  7m 44s
      🟥 rtx2080            Pass:   0%/33  | Total:  8h 47m | Avg: 15m 59s | Max:  1h 03m
      🟥 rtx4090            Pass:   0%/10  | Total:  1h 31m | Avg:  9m 08s | Max: 58m 59s
    🟥 jobs
      🟥 Build              Pass:   0%/38  | Total: 10h 27m | Avg: 16m 30s | Max:  1h 03m
      🟥 TestCPU            Pass:   0%/3  
      🟥 TestGPU            Pass:   0%/4  
    🟥 sm
      🟥 90                 Pass:   0%/2   | Total:  7m 44s | Avg:  3m 52s | Max:  7m 44s
      🟥 90;90a;100         Pass:   0%/1   | Total: 12m 51s | Avg: 12m 51s | Max: 12m 51s
    🟥 std
      🟥 17                 Pass:   0%/20  | Total:  6h 14m | Avg: 18m 42s | Max:  1h 03m
      🟥 20                 Pass:   0%/23  | Total:  4h 03m | Avg: 10m 34s | Max: 58m 59s
    
  • 🟩 cccl_c_parallel: Pass: 100%/2 | Total: 17m 22s | Avg: 8m 41s | Max: 14m 46s | Hits: 97%/308

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total: 17m 22s | Avg:  8m 41s | Max: 14m 46s | Hits:  97%/308   
    🟩 ctk
      🟩 12.8               Pass: 100%/2   | Total: 17m 22s | Avg:  8m 41s | Max: 14m 46s | Hits:  97%/308   
    🟩 cudacxx
      🟩 nvcc12.8           Pass: 100%/2   | Total: 17m 22s | Avg:  8m 41s | Max: 14m 46s | Hits:  97%/308   
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total: 17m 22s | Avg:  8m 41s | Max: 14m 46s | Hits:  97%/308   
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total: 17m 22s | Avg:  8m 41s | Max: 14m 46s | Hits:  97%/308   
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total: 17m 22s | Avg:  8m 41s | Max: 14m 46s | Hits:  97%/308   
    🟩 gpu
      🟩 rtx2080            Pass: 100%/2   | Total: 17m 22s | Avg:  8m 41s | Max: 14m 46s | Hits:  97%/308   
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  2m 36s | Avg:  2m 36s | Max:  2m 36s | Hits:  95%/154   
      🟩 Test               Pass: 100%/1   | Total: 14m 46s | Avg: 14m 46s | Max: 14m 46s | Hits:  98%/154   
    
  • 🟩 python: Pass: 100%/1 | Total: 50m 58s | Avg: 50m 58s | Max: 50m 58s

    🟩 cpu
      🟩 amd64              Pass: 100%/1   | Total: 50m 58s | Avg: 50m 58s | Max: 50m 58s
    🟩 ctk
      🟩 12.8               Pass: 100%/1   | Total: 50m 58s | Avg: 50m 58s | Max: 50m 58s
    🟩 cudacxx
      🟩 nvcc12.8           Pass: 100%/1   | Total: 50m 58s | Avg: 50m 58s | Max: 50m 58s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/1   | Total: 50m 58s | Avg: 50m 58s | Max: 50m 58s
    🟩 cxx
      🟩 GCC13              Pass: 100%/1   | Total: 50m 58s | Avg: 50m 58s | Max: 50m 58s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/1   | Total: 50m 58s | Avg: 50m 58s | Max: 50m 58s
    🟩 gpu
      🟩 rtx2080            Pass: 100%/1   | Total: 50m 58s | Avg: 50m 58s | Max: 50m 58s
    🟩 jobs
      🟩 Test               Pass: 100%/1   | Total: 50m 58s | Avg: 50m 58s | Max: 50m 58s
    

👃 Inspect Changes

Modifications in project?

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

Modifications in project or dependencies?

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

🏃‍ Runner counts (total jobs: 93)

# Runner
66 linux-amd64-cpu16
9 windows-amd64-cpu16
6 linux-amd64-gpu-rtxa6000-latest-1
4 linux-arm64-cpu16
3 linux-amd64-gpu-h100-latest-1
3 linux-amd64-gpu-rtx4090-latest-1
2 linux-amd64-gpu-rtx2080-latest-1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking Breaking change thrust For all items related to Thrust.
Projects
Status: In Review
Development

Successfully merging this pull request may close these issues.

Make thrust::discard_iterator's value_type void
2 participants