You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Change device scan default accumulator type (#724)
* Change device scan default accumulator type
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>
* Grammatical corrections for 7.0 changelog items
This fix corrects some grammatical issues in the changelog.
* Update device_scan tests to use new defaults
Update the inclusive and exclusive host scan
routines so they use the new accumulator
type defaults.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+22Lines changed: 22 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,28 @@
2
2
3
3
Full documentation for rocPRIM is available at [https://rocm.docs.amd.com/projects/rocPRIM/en/latest/](https://rocm.docs.amd.com/projects/rocPRIM/en/latest/).
4
4
5
+
## rocPRIM 3.6.0 for ROCm 7.0
6
+
7
+
### Changed
8
+
9
+
* The default scan accumulator types for device-level scan algorithms have changed. This is a breaking change.
10
+
The previous default accumulator types could lead to situations in which unexpected overflow occured, such as
11
+
when the input or inital type was smaller than the output type.
12
+
13
+
This is a complete list of affected functions and how their default accumulator types are changing:
14
+
*`rocprim::inclusive_scan`
15
+
* past default: `class AccType = typename std::iterator_traits<InputIterator>::value_type>`
16
+
* new default: `class AccType = rocprim::invoke_result_binary_op_t<typename std::iterator_traits<InputIterator>::value_type, BinaryFunction>`
17
+
*`rocprim::deterministic_inclusive_scan`
18
+
* past default: `class AccType = typename std::iterator_traits<InputIterator>::value_type>`
19
+
* new default: `class AccType = rocprim::invoke_result_binary_op_t<typename std::iterator_traits<InputIterator>::value_type, BinaryFunction>`
20
+
*`rocprim::exclusive_scan`
21
+
* past default: `class AccType = detail::input_type_t<InitValueType>>`
22
+
* new default: `class AccType = rocprim::invoke_result_binary_op_t<rocprim::detail::input_type_t<InitValueType>, BinaryFunction>`
23
+
*`rocprim::deterministic_exclusive_scan`
24
+
* past default: `class AccType = detail::input_type_t<InitValueType>>`
25
+
* new default: `class AccType = rocprim::invoke_result_binary_op_t<rocprim::detail::input_type_t<InitValueType>, BinaryFunction>`
0 commit comments