[FEA] Expose the utilities from `include/cudf/detail/iterators.cuh` in the public API
- Dominant language
- C++
- Stars
- 9.8k
- Forks
- 1.1k
- Avg merge
- 3d 6m
- Merged PRs (30d)
- 278
Description
It would be deeply appreciated if the utilities in `include/cudf/detail/iterators.cuh` could be exposed as part of CUDF's public API.
The following functions are currently used in `spark-rapids-jni`, with no suitable alternatives available:
1. `make_counting_transform_iterator` (Easily replaced with a custom function.)
2. `make_pair_iterator`
3. `make_validity_iterator`
Duplicating the latter two would necessitate duplication of a fair bit of code: `scalar_value_accessor`, `scalar_optional_accessor`, `scalar_pair_accessor`, etc.
Since these allow the user to assemble custom kernels neatly, and since these behave as extensions to the `column` interface, it would be good to have them as part of the public API. (cc @davidwendt.)
On a related note, the `offsetalator` machinery (`offsetalator_factory`, `input_offsetalator`, etc.) would also be useful in assembling custom kernels that work on CUDF columns.
Contributor guide
Assessment
This issue has not been assessed yet.