NVIDIA / NVIDIA/cudf

[FEA] Expose the utilities from `include/cudf/detail/iterators.cuh` in the public API

Open
#21,701 2 comments 0 reactions 0 assignees View on GitHub
feature request libcudf Spark
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.