Skip to content

[auto-merge] bot-auto-merge-release/26.04 to main [skip ci] [bot]#4423

Merged
nvauto merged 2 commits intomainfrom
bot-auto-merge-release/26.04
Mar 31, 2026
Merged

[auto-merge] bot-auto-merge-release/26.04 to main [skip ci] [bot]#4423
nvauto merged 2 commits intomainfrom
bot-auto-merge-release/26.04

Conversation

@nvauto
Copy link
Copy Markdown
Collaborator

@nvauto nvauto commented Mar 31, 2026

auto-merge triggered by github actions on bot-auto-merge-release/26.04 to create a PR keeping main up-to-date. If this PR is unable to be merged due to conflicts, it will remain open until manually fix.

mythrocks and others added 2 commits March 31, 2026 13:27
This commit introduces utility iterators to be used in place
`cudf::detail` iterators. This is to further reduce dependencies on
`cudf::detail` APIs that are now deemed private to the CUDF project.

### `make_counting_transform_iterator`

This change introduces a version of `make_counting_transform_iterator`
that is specific to Spark RAPIDS JNI.

The previous version of this function is from `cudf::detail`, which is
now deemed private to cuDF. This commit should allow Spark RAPIDS JNI to
be insulated from changes to interfaces in `cudf::detail`.

Note that this version does not use `thrust::transform_iterator`. It
banks instead on `cuda::make_transform_iterator` instead.

---------

Signed-off-by: MithunR <mithunr@nvidia.com>
Signed-off-by: spark-rapids automation <70000568+nvauto@users.noreply.github.com>
@nvauto nvauto merged commit 31b6643 into main Mar 31, 2026
@nvauto
Copy link
Copy Markdown
Collaborator Author

nvauto commented Mar 31, 2026

SUCCESS - auto-merge

@nvauto nvauto deleted the bot-auto-merge-release/26.04 branch March 31, 2026 20:27
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Mar 31, 2026

Greptile Summary

This auto-merge PR brings the release/26.04 branch into main, primarily introducing a new local iterator.cuh utility header to replace all usages of cudf::detail::make_counting_transform_iterator (a cudf internal API) with spark_rapids_jni::util::make_counting_transform_iterator — which differs by using cuda::counting_iterator (from CCCL) instead of thrust::counting_iterator. Alongside this, row_conversion.cu migrates all bare util:: arithmetic helpers to the fully-qualified cudf::util:: namespace, and the cudf submodule pointer, rapids-cmake SHA, and third-party dependency pins (rmm, kvikio, CCCL) are all bumped.

Key changes:

  • New file src/main/cpp/src/utilities/iterator.cuh: introduces spark_rapids_jni::util::make_counting_transform_iterator backed by cuda::counting_iterator; includes a static_assert restricting the start type to cudf::size_type or smaller
  • Replaced cudf::detail::make_counting_transform_iterator across 9 source/test files; corresponding #include <cudf/detail/iterator.cuh> includes are removed
  • row_conversion.cu: all util::round_up_unsafe, util::div_rounding_up_unsafe, util::div_rounding_up_safe, util::round_down_safe, util::round_up_safe calls are qualified as cudf::util:: to match updated cudf headers
  • Dependency bumps: thirdparty/cudf submodule updated, rapids-cmake.sha updated, versions.json pins bumped (notably rmm/kvikio move to 26.06, CCCL to 3.3.0); .gitmodules branch target switches from release/26.04 to main

Confidence Score: 5/5

Safe to merge — all changes are consistent mechanical migrations with no logic alterations and well-scoped dependency bumps

The PR is a clean release-to-main auto-merge. The core change (replacing cudf's internal iterator API with a local CCCL-backed wrapper) is applied uniformly across all call sites and all start values remain integer literals that satisfy the new static_assert constraint. The cudf::util:: namespace qualification in row_conversion.cu corrects what was likely a previously-implicit resolution. No logic is altered anywhere. Dependency bumps are tracked with explicit SHAs. No P0 or P1 issues found.

No files require special attention

Important Files Changed

Filename Overview
src/main/cpp/src/utilities/iterator.cuh New utility header wrapping cuda::counting_iterator in a thrust::transform_iterator; well-documented, includes a useful static_assert, no issues found
src/main/cpp/src/row_conversion.cu Migrates bare util:: arithmetic helpers to cudf::util:: and replaces cudf::detail iterator with local wrapper; namespace qualification is consistent throughout all changed sites
src/main/cpp/src/shuffle_assemble.cu Replaces all cudf::detail::make_counting_transform_iterator calls with spark_rapids_jni::util::make_counting_transform_iterator; all start values are integer literals (int), satisfying the new static_assert
src/main/cpp/src/shuffle_split.cu Replaces cudf::detail iterator references with new local utility; include header added, no functional changes
src/main/cpp/src/hyper_log_log_plus_plus.cu Migrates to local iterator, removes cudf/detail/iterator.cuh, adds cudf/scalar/scalar.hpp and cudf/table/table.hpp to cover headers previously brought in transitively
src/main/cpp/src/hyper_log_log_plus_plus_host_udf.cu Same iterator migration as hyper_log_log_plus_plus.cu; adds cudf/scalar/scalar.hpp and cudf/table/table.hpp previously implied transitively
src/main/cpp/src/from_json_to_structs.cu Four cudf::detail iterator usages replaced with local utility; new include added, no logic changes
src/main/cpp/src/get_json_object.cu Single cudf::detail iterator usage replaced with local utility; straightforward migration
thirdparty/cudf-pins/versions.json Bumps rmm and kvikio to version 26.06, CCCL to 3.3.0 with updated git SHAs and hashes
.gitmodules Switches cudf submodule branch tracking from release/26.04 to main, consistent with this being a release-to-main merge

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["cudf::detail::make_counting_transform_iterator\n(thrust::counting_iterator — internal API)"]
    B["spark_rapids_jni::util::make_counting_transform_iterator\n(cuda::counting_iterator — CCCL public API)"]

    subgraph Callers["Migrated callers"]
        C[from_json_to_structs.cu]
        D[get_json_object.cu]
        E[hyper_log_log_plus_plus.cu]
        F[hyper_log_log_plus_plus_host_udf.cu]
        G[row_conversion.cu]
        H[shuffle_assemble.cu]
        I[shuffle_split.cu]
        J[tests/row_conversion.cpp]
        K[tests/shuffle_split.cu]
        L[tests/hyper_log_log_plus_plus.cu]
    end

    A -->|replaced by| B
    Callers -->|use| B

    subgraph Deps["Updated dependencies"]
        M[thirdparty/cudf submodule]
        N[rmm 26.06]
        O[kvikio 26.06]
        P[CCCL 3.3.0]
    end

    B -->|backed by| P
Loading

Reviews (1): Last reviewed commit: "Auto-merge use main versions" | Re-trigger Greptile

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.

2 participants