Skip to content
This repository has been archived by the owner on Mar 21, 2024. It is now read-only.

P2322R6 accumulator types for scan and reduce by key #511

Merged

Conversation

gevtushenko
Copy link
Collaborator

@gevtushenko gevtushenko commented Jun 16, 2022

This PR addresses the following issue. It's based on the previous PR so the first commit might be skipped during this review.

⚠️ Breaking changes:

  1. Device scan, scan by key, and reduce by key now do not work with device extended lambdas by default.
  2. AgentReduceByKey now accepts accumulator type as the last template parameter.
  3. AgentScan now accepts accumulator type as last template parameter.
  4. AgentScan::ConsumeRange now accepts prefix as accumulator type instead of output iterator value type.
  5. AgentScanByKey now accepts accumulator type as the last template parameter.
  6. DeviceReduceByKeyKernel now accepts accumulator type as the last template parameter.
  7. DispatchReduceByKey now accepts accumulator type as the last template parameter.
  8. DeviceScanKernel now accepts accumulator type as the last template parameter.
  9. DeviceScanPolicy now accepts accumulator type instead of output iterator value type.
  10. DispatchScan now accepts accumulator type as a template parameter.
  11. DeviceScanByKeyKernel now accepts accumulator type as a template parameter.
  12. DeviceScanByKeyPolicy doesn't accept initial value type.
  13. DeviceScanByKeyPolicy accepts accumulator type as a template parameter.
  14. DispatchScanByKey now accepts accumulator type.

@gevtushenko gevtushenko added the testing: gpuCI passed Passed gpuCI testing. label Jun 17, 2022
@gevtushenko gevtushenko added this to the 2.0.0 milestone Jun 17, 2022
@gevtushenko gevtushenko force-pushed the fix-main/github/scan_intermediate_type branch 3 times, most recently from e8e7ec8 to 1ca4561 Compare June 17, 2022 17:19
@alliepiper alliepiper added type: enhancement New feature or request. P1: should have Necessary, but not critical. release: breaking change Include in "Breaking Changes" section of release notes. labels Jun 22, 2022
@alliepiper alliepiper self-assigned this Jul 25, 2022
Copy link
Collaborator

@alliepiper alliepiper left a comment

Choose a reason for hiding this comment

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

Some comments inline. This will also need a breaking changes summary (APIs, behaviors) in the description.

cub/detail/memory.cuh Outdated Show resolved Hide resolved
cub/detail/memory.cuh Outdated Show resolved Hide resolved
@alliepiper alliepiper removed their assignment Jul 25, 2022
@gevtushenko gevtushenko force-pushed the fix-main/github/scan_intermediate_type branch from 1ca4561 to b200436 Compare August 2, 2022 12:32
@gevtushenko gevtushenko force-pushed the fix-main/github/scan_intermediate_type branch from d4c23ae to 3dbde5b Compare August 3, 2022 15:42
@gevtushenko gevtushenko merged commit e882acc into NVIDIA:main Aug 3, 2022
gevtushenko added a commit to NVIDIA/thrust that referenced this pull request Aug 3, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
P1: should have Necessary, but not critical. release: breaking change Include in "Breaking Changes" section of release notes. testing: gpuCI passed Passed gpuCI testing. type: enhancement New feature or request.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants