-
Notifications
You must be signed in to change notification settings - Fork 156
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix overflowing in
intersection_intermediates.remove_if
(#1209)
EDIT: the thrust bug is a known issue. Tracked by NVIDIA/cccl#153 This PR fixes an issue in `remove_if`. Strangely, when calling `reduce_by_key` with iterator to integer, and when using `thrust::plus<index_t>()`, even if by definition the argument type of the plus operator is strongly typed with a higher bit width integer type, and I expected that the flags (`uint8_t`) were cast to the higher bit depth before addition, the overflow still happens. I have filed a thread in the thrust channel to discuss if this is a bug in thrust. Meanwhile, a quick WAR is to explicitly use a transform iterator to cast the uchar in to `index_t` before adding. This should give the correct result. Fixes #1200 Depend on #1207 Authors: - Michael Wang (https://github.com/isVoid) - H. Thomson Comer (https://github.com/thomcom) Approvers: - Mark Harris (https://github.com/harrism) - H. Thomson Comer (https://github.com/thomcom) URL: #1209
- Loading branch information
Showing
3 changed files
with
47 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters