This repository has been archived by the owner on Mar 21, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 447
Update DeviceScan to pass Thrust's scan tests #210
Merged
alliepiper
merged 1 commit into
NVIDIA:main
from
alliepiper:bug/use_cub_scan_in_thrust/gh.thrust1301
Nov 2, 2020
Merged
Update DeviceScan to pass Thrust's scan tests #210
alliepiper
merged 1 commit into
NVIDIA:main
from
alliepiper:bug/use_cub_scan_in_thrust/gh.thrust1301
Nov 2, 2020
Conversation
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
Requires NVIDIA/thrust#1304 |
alliepiper
force-pushed
the
bug/use_cub_scan_in_thrust/gh.thrust1301
branch
from
October 7, 2020 18:55
6b125b3
to
51fc06b
Compare
7 tasks
alliepiper
force-pushed
the
bug/use_cub_scan_in_thrust/gh.thrust1301
branch
2 times, most recently
from
October 13, 2020 20:59
dd02b11
to
f88e0c7
Compare
alliepiper
changed the title
WIP Integrate CUB's scan into thrust.
Update DeviceScan to pass Thrust's scan tests
Oct 13, 2020
DVS CL 29194365 |
alliepiper
added
testing: internal ci in progress
Currently testing on internal NVIDIA CI (DVS).
testing: gpuCI passed
Passed gpuCI testing.
and removed
testing: gpuCI in progress
Started gpuCI testing.
labels
Oct 13, 2020
Not sure if this is covered already by this PR, but discard iterators typicaly don't work with cub interfaces because they can have // Change the value type of thrust discard iterator so we can use it with cub
template <typename T>
class TypedDiscard : public thrust::discard_iterator<T> {
public:
using value_type = T; // NOLINT
}; |
griwes
approved these changes
Oct 19, 2020
@RAMitchell As of 2fba463, Let us know in a new issue if you notice this happening in other algorithms. |
alliepiper
removed
the
testing: internal ci in progress
Currently testing on internal NVIDIA CI (DVS).
label
Oct 19, 2020
alliepiper
force-pushed
the
bug/use_cub_scan_in_thrust/gh.thrust1301
branch
from
October 24, 2020 15:04
f88e0c7
to
3742dea
Compare
DVS CL: 29264972 |
alliepiper
added
the
testing: internal ci in progress
Currently testing on internal NVIDIA CI (DVS).
label
Oct 30, 2020
alliepiper
added
testing: internal ci passed
Passed internal NVIDIA CI (DVS).
and removed
testing: internal ci in progress
Currently testing on internal NVIDIA CI (DVS).
labels
Nov 2, 2020
Thrust will be switching to `cub::DeviceScan` to replace its custom scan implementation. This patch addresses some issues found by the Thrust tests: - Initialize unused `BlockLoad` items with values known to be in the input set. This fixes the `TestInclusiveScanWithIndirection` Thrust test by keeping the `plus_mod3` functor indices valid. - Use `OffsetT` instead of `int` to hold indicies in `AgentScan`. This fixes the `Test*ScanWithBigIndexes` Thrust tests by not truncating the input problem size. - Use `BLOCK_[STORE|LOAD]_WARP_TRANSPOSED_TIMESLICED` instead of `BLOCK_[STORE|LOAD]_WARP_TRANSPOSED` when the intermediate type is larger than 128 bytes. This keeps shared memory buffers from growing too large in the `TestScanWithLargeTypes` Thrust test.
alliepiper
force-pushed
the
bug/use_cub_scan_in_thrust/gh.thrust1301
branch
from
November 2, 2020 19:35
3742dea
to
b24ced2
Compare
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
testing: gpuCI passed
Passed gpuCI testing.
testing: internal ci passed
Passed internal NVIDIA CI (DVS).
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Thrust will be switching to
cub::DeviceScan
to replace its custom scanimplementation. This patch addresses some issues found by the Thrust
tests:
BlockLoad
items with values known to be in the inputset. This fixes the
TestInclusiveScanWithIndirection
Thrust test bykeeping the
plus_mod3
functor indices valid.OffsetT
instead ofint
to hold indicies inAgentScan
. Thisfixes the
Test*ScanWithBigIndexes
Thrust tests by not truncatingthe input problem size.
BLOCK_[STORE|LOAD]_WARP_TRANSPOSED_TIMESLICED
instead ofBLOCK_[STORE|LOAD]_WARP_TRANSPOSED
when the intermediate type islarger than 128 bytes. This keeps shared memory buffers from growing
too large in the
TestScanWithLargeTypes
Thrust test.