Skip to content

Change device scan default accumulator type #724

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

Merged
merged 3 commits into from
May 5, 2025

Conversation

umfranzw
Copy link
Collaborator

The default accumulator types are changing for ROCm 7.0 as described below. Note that this is a breaking change.

  • rocprim::inclusive_scan
    • previous default: class AccType = typename std::iterator_traits::value_type>
    • new default: class AccType = rocprim::invoke_result_binary_op_t<typename std::iterator_traits::value_type, BinaryFunction>`
  • `rocprim::deterministic_inclusive_scan
    • previous default: class AccType = typename std::iterator_traits::value_type>`
    • new default: class AccType = rocprim::invoke_result_binary_op_t<typename std::iterator_traits::value_type, BinaryFunction>`
  • `rocprim::exclusive_scan
    • previous default: class AccType = detail::input_type_t>
    • new default: class AccType = rocprim::invoke_result_binary_op_t<rocprim::detail::input_type_t, BinaryFunction>
  • `rocprim::deterministic_exclusive_scan
    • previous default: class AccType = detail::input_type_t>
    • new default: class AccType = rocprim::invoke_result_binary_op_t<rocprim::detail::input_type_t, BinaryFunction>

The default accumulator types are changing for ROCm 7.0 as described below.
Note that this is a breaking change.
  * rocprim::inclusive_scan
    * previous default: class AccType = typename std::iterator_traits<InputIterator>::value_type>
    * new default: class AccType = rocprim::invoke_result_binary_op_t<typename std::iterator_traits<InputIterator>::value_type, BinaryFunction>`
  * `rocprim::deterministic_inclusive_scan
    * previous default: class AccType = typename std::iterator_traits<InputIterator>::value_type>`
    * new default: class AccType = rocprim::invoke_result_binary_op_t<typename std::iterator_traits<InputIterator>::value_type, BinaryFunction>`
  * `rocprim::exclusive_scan
    * previous default: class AccType = detail::input_type_t<InitValueType>>
    * new default: class AccType = rocprim::invoke_result_binary_op_t<rocprim::detail::input_type_t<InitValueType>, BinaryFunction>
  * `rocprim::deterministic_exclusive_scan
    * previous default: class AccType = detail::input_type_t<InitValueType>>
    * new default: class AccType = rocprim::invoke_result_binary_op_t<rocprim::detail::input_type_t<InitValueType>, BinaryFunction>
Copy link
Contributor

@spolifroni-amd spolifroni-amd left a comment

Choose a reason for hiding this comment

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

The changelogs need some grammatical changes and some clarification.

BTW, if this needs documentation changes, let me know.

Copy link
Collaborator

@NguyenNhuDi NguyenNhuDi left a comment

Choose a reason for hiding this comment

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

lgtm

@umfranzw umfranzw requested a review from Naraenda April 25, 2025 21:22
This fix corrects some grammatical issues in the changelog.
Update the inclusive and exclusive host scan
routines so they use the new accumulator
type defaults.
@umfranzw umfranzw merged commit 1b52696 into ROCm:develop May 5, 2025
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants