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

Fixes value type of thrust::tabulate_output_iterator #3573

Merged
merged 1 commit into from
Jan 29, 2025

Conversation

elstehle
Copy link
Collaborator

Description

The value type of thrust::tabulate_output_iterator should be void.
Otherwise, this may lead to issues for algorithms that query the return type of the output iterator, e.g., to infer the accumulator type, like cub::DeviceSegmentedReduce does.

@elstehle elstehle requested a review from a team as a code owner January 28, 2025 20:38
@elstehle elstehle requested a review from miscco January 28, 2025 20:38
@elstehle elstehle enabled auto-merge (squash) January 29, 2025 04:02
Copy link
Contributor

@bernhardmgruber bernhardmgruber left a comment

Choose a reason for hiding this comment

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

That's a breaking change for the CCCL 3.0 release, right?

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

That's a breaking change for the CCCL 3.0 release, right?

The iterator previously was returning the offset type as the iterator's value type. I would have considered the previous behavior a bug and, hence, this to not be a breaking change. Wdyt?

@bernhardmgruber
Copy link
Contributor

The iterator previously was returning the offset type as the iterator's value type. I would have considered the previous behavior a bug and, hence, this to not be a breaking change.

This reason would allow me to do a lot of "bug-fixing" in CCCL :)

Let's phrase it differently: do we need to backport this PR to 2.8 or even to 2.7 (where tabulate_output_iteartor was first introduced)?

@elstehle elstehle force-pushed the fix/tabulate-out-it-return-type branch from cc6a8a3 to ea2e2db Compare January 29, 2025 17:07
Copy link
Contributor

🟩 CI finished in 2h 16m: Pass: 100%/89 | Total: 1d 01h | Avg: 17m 05s | Max: 1h 27m | Hits: 294%/10936
  • 🟩 cub: Pass: 100%/44 | Total: 13h 43m | Avg: 18m 43s | Max: 1h 27m | Hits: 373%/3552

    🟩 cpu
      🟩 amd64              Pass: 100%/42  | Total: 13h 33m | Avg: 19m 22s | Max:  1h 27m | Hits: 373%/3552  
      🟩 arm64              Pass: 100%/2   | Total:  9m 46s | Avg:  4m 53s | Max:  5m 01s
    🟩 ctk
      🟩 12.0               Pass: 100%/5   | Total:  1h 27m | Avg: 17m 24s | Max:  1h 05m | Hits: 374%/888   
      🟩 12.5               Pass: 100%/2   | Total:  2h 30m | Avg:  1h 15m | Max:  1h 27m
      🟩 12.6               Pass: 100%/37  | Total:  9h 45m | Avg: 15m 50s | Max:  1h 10m | Hits: 373%/2664  
    🟩 cudacxx
      🟩 ClangCUDA18        Pass: 100%/2   | Total:  9m 02s | Avg:  4m 31s | Max:  4m 36s
      🟩 nvcc12.0           Pass: 100%/5   | Total:  1h 27m | Avg: 17m 24s | Max:  1h 05m | Hits: 374%/888   
      🟩 nvcc12.5           Pass: 100%/2   | Total:  2h 30m | Avg:  1h 15m | Max:  1h 27m
      🟩 nvcc12.6           Pass: 100%/35  | Total:  9h 36m | Avg: 16m 28s | Max:  1h 10m | Hits: 373%/2664  
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total:  9m 02s | Avg:  4m 31s | Max:  4m 36s
      🟩 nvcc               Pass: 100%/42  | Total: 13h 34m | Avg: 19m 23s | Max:  1h 27m | Hits: 373%/3552  
    🟩 cxx
      🟩 Clang14            Pass: 100%/4   | Total: 20m 58s | Avg:  5m 14s | Max:  5m 22s
      🟩 Clang15            Pass: 100%/2   | Total: 11m 14s | Avg:  5m 37s | Max:  5m 47s
      🟩 Clang16            Pass: 100%/2   | Total: 11m 37s | Avg:  5m 48s | Max:  5m 57s
      🟩 Clang17            Pass: 100%/2   | Total: 11m 20s | Avg:  5m 40s | Max:  5m 59s
      🟩 Clang18            Pass: 100%/7   | Total:  1h 35m | Avg: 13m 40s | Max: 46m 32s
      🟩 GCC7               Pass: 100%/2   | Total: 11m 15s | Avg:  5m 37s | Max:  5m 48s
      🟩 GCC8               Pass: 100%/1   | Total:  5m 31s | Avg:  5m 31s | Max:  5m 31s
      🟩 GCC9               Pass: 100%/2   | Total: 11m 26s | Avg:  5m 43s | Max:  5m 57s
      🟩 GCC10              Pass: 100%/2   | Total:  1h 02m | Avg: 31m 00s | Max: 56m 20s
      🟩 GCC11              Pass: 100%/2   | Total: 11m 43s | Avg:  5m 51s | Max:  6m 02s
      🟩 GCC12              Pass: 100%/4   | Total: 35m 13s | Avg:  8m 48s | Max: 19m 13s
      🟩 GCC13              Pass: 100%/8   | Total:  1h 58m | Avg: 14m 50s | Max: 25m 35s
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 09m | Avg:  1h 04m | Max:  1h 05m | Hits: 374%/1776  
      🟩 MSVC14.39          Pass: 100%/2   | Total:  2h 17m | Avg:  1h 08m | Max:  1h 10m | Hits: 373%/1776  
      🟩 NVHPC24.7          Pass: 100%/2   | Total:  2h 30m | Avg:  1h 15m | Max:  1h 27m
    🟩 cxx_family
      🟩 Clang              Pass: 100%/17  | Total:  2h 30m | Avg:  8m 52s | Max: 46m 32s
      🟩 GCC                Pass: 100%/21  | Total:  4h 15m | Avg: 12m 11s | Max: 56m 20s
      🟩 MSVC               Pass: 100%/4   | Total:  4h 26m | Avg:  1h 06m | Max:  1h 10m | Hits: 373%/3552  
      🟩 NVHPC              Pass: 100%/2   | Total:  2h 30m | Avg:  1h 15m | Max:  1h 27m
    🟩 gpu
      🟩 h100               Pass: 100%/2   | Total: 23m 30s | Avg: 11m 45s | Max: 19m 13s
      🟩 v100               Pass: 100%/42  | Total: 13h 20m | Avg: 19m 02s | Max:  1h 27m | Hits: 373%/3552  
    🟩 jobs
      🟩 Build              Pass: 100%/37  | Total: 10h 37m | Avg: 17m 13s | Max:  1h 27m | Hits: 373%/3552  
      🟩 DeviceLaunch       Pass: 100%/1   | Total: 25m 29s | Avg: 25m 29s | Max: 25m 29s
      🟩 GraphCapture       Pass: 100%/1   | Total: 23m 54s | Avg: 23m 54s | Max: 23m 54s
      🟩 HostLaunch         Pass: 100%/3   | Total:  1h 04m | Avg: 21m 39s | Max: 24m 16s
      🟩 TestGPU            Pass: 100%/2   | Total:  1h 12m | Avg: 36m 03s | Max: 46m 32s
    🟩 sm
      🟩 90                 Pass: 100%/2   | Total: 23m 30s | Avg: 11m 45s | Max: 19m 13s
      🟩 90a                Pass: 100%/1   | Total:  4m 21s | Avg:  4m 21s | Max:  4m 21s
    🟩 std
      🟩 17                 Pass: 100%/20  | Total:  6h 40m | Avg: 20m 00s | Max:  1h 07m | Hits: 374%/2664  
      🟩 20                 Pass: 100%/24  | Total:  7h 03m | Avg: 17m 38s | Max:  1h 27m | Hits: 373%/888   
    
  • 🟩 thrust: Pass: 100%/42 | Total: 10h 14m | Avg: 14m 38s | Max: 59m 04s | Hits: 256%/7384

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

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total: 19m 27s | Avg:  9m 43s | Max: 17m 14s
    🟩 ctk
      🟩 12.6               Pass: 100%/2   | Total: 19m 27s | Avg:  9m 43s | Max: 17m 14s
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/2   | Total: 19m 27s | Avg:  9m 43s | Max: 17m 14s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total: 19m 27s | Avg:  9m 43s | Max: 17m 14s
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total: 19m 27s | Avg:  9m 43s | Max: 17m 14s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total: 19m 27s | Avg:  9m 43s | Max: 17m 14s
    🟩 gpu
      🟩 v100               Pass: 100%/2   | Total: 19m 27s | Avg:  9m 43s | Max: 17m 14s
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  2m 13s | Avg:  2m 13s | Max:  2m 13s
      🟩 Test               Pass: 100%/1   | Total: 17m 14s | Avg: 17m 14s | Max: 17m 14s
    
  • 🟩 python: Pass: 100%/1 | Total: 1h 03m | Avg: 1h 03m | Max: 1h 03m

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

👃 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: 89)

# Runner
65 linux-amd64-cpu16
11 linux-amd64-gpu-v100-latest-1
8 windows-amd64-cpu16
4 linux-arm64-cpu16
1 linux-amd64-gpu-h100-latest-1

@elstehle elstehle merged commit da97c37 into NVIDIA:main Jan 29, 2025
101 of 104 checks passed
Copy link
Contributor

Git push to origin failed for branch/2.8.x with exitcode 128

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

Successfully merging this pull request may close these issues.

3 participants