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

Deprecate CUB iterators which exist in Thrust or libcu++ #3261

Closed
4 tasks done
Tracked by #3700
bernhardmgruber opened this issue Jan 7, 2025 · 1 comment · Fixed by #3304
Closed
4 tasks done
Tracked by #3700

Deprecate CUB iterators which exist in Thrust or libcu++ #3261

bernhardmgruber opened this issue Jan 7, 2025 · 1 comment · Fixed by #3304
Assignees
Labels
cub For all items related to CUB

Comments

@bernhardmgruber
Copy link
Contributor

bernhardmgruber commented Jan 7, 2025

CUB has several iterators which are also present in Thrust or in libcu++. Those should be deprecated (with eventual removal):

  • cub::TransformInputIterator
  • cub::ConstantInputIterator
  • cub::CountingInputIterator
  • cub::DiscardOutputIterator

We can further consider to either move cub::ArgIndexInputIterator to Thrust or libcu++, or remove it, since it's equivalnet to zipping a counting iterator with another input iterator.

@bernhardmgruber bernhardmgruber added cub For all items related to CUB breaking Breaking change labels Jan 7, 2025
@bernhardmgruber bernhardmgruber changed the title Drop CUB iterators which exist in Thrust or libcu++ Deprecate CUB iterators which exist in Thrust or libcu++ Jan 9, 2025
@bernhardmgruber bernhardmgruber removed the breaking Breaking change label Jan 9, 2025
bernhardmgruber added a commit to bernhardmgruber/cccl that referenced this issue Jan 9, 2025
@bernhardmgruber bernhardmgruber self-assigned this Jan 9, 2025
@cccl-authenticator-app cccl-authenticator-app bot moved this to In Review in CCCL Jan 9, 2025
bernhardmgruber added a commit to bernhardmgruber/cccl that referenced this issue Jan 9, 2025
bernhardmgruber added a commit to bernhardmgruber/cccl that referenced this issue Jan 9, 2025
bernhardmgruber added a commit to bernhardmgruber/cccl that referenced this issue Jan 10, 2025
bernhardmgruber added a commit to bernhardmgruber/cccl that referenced this issue Jan 10, 2025
bernhardmgruber added a commit to bernhardmgruber/cccl that referenced this issue Jan 13, 2025
bernhardmgruber added a commit to bernhardmgruber/cccl that referenced this issue Jan 13, 2025
bernhardmgruber added a commit to bernhardmgruber/cccl that referenced this issue Jan 15, 2025
bernhardmgruber added a commit to bernhardmgruber/cccl that referenced this issue Jan 21, 2025
bernhardmgruber added a commit to bernhardmgruber/cccl that referenced this issue Jan 21, 2025
bernhardmgruber added a commit to bernhardmgruber/cccl that referenced this issue Jan 22, 2025
bernhardmgruber added a commit to bernhardmgruber/cccl that referenced this issue Jan 22, 2025
@bernhardmgruber
Copy link
Contributor Author

I tried a fair bit to replace CUB iterators by thrust, but I had to touch a lot of the Thrust iterator machinery to make it compile with nvrtc. I think it's better that we only backport a deprecation and warning suppression to CCCL 2.8, leaving Thrust untouched, and then properly rework Thrust iterators for CCCL 3.0.

bernhardmgruber added a commit to bernhardmgruber/cccl that referenced this issue Jan 27, 2025
@github-project-automation github-project-automation bot moved this from In Review to Done in CCCL Jan 27, 2025
bernhardmgruber added a commit to bernhardmgruber/cccl that referenced this issue Feb 4, 2025
bernhardmgruber added a commit to bernhardmgruber/cccl that referenced this issue Feb 5, 2025
bernhardmgruber added a commit that referenced this issue Feb 5, 2025
Also consider thrust::discard_iterator's value_type void

Fixes: #3261
bernhardmgruber added a commit to bernhardmgruber/cccl that referenced this issue Feb 5, 2025
Also consider thrust::discard_iterator's value_type void

Fixes: NVIDIA#3261
miscco added a commit that referenced this issue Feb 6, 2025
…place CUB iterators by Thrust ones (#3480) (#3697)

* Make thrust iterators work with NVRTC (#3676)

* Make thrust iterators work with NVRTC

As a drive-by, all iterator tags used in CUB and Thrust are replaced with ones from libcu++.

Co-authored-by: Michael Schellenberger Costa <[email protected]>

* More NVRTC fixes

* Replace CUB iterators by Thrust ones (#3480)

Also consider thrust::discard_iterator's value_type void

Fixes: #3261

---------

Co-authored-by: Michael Schellenberger Costa <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cub For all items related to CUB
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant