Skip to content

fix(cudf): fall back for unsupported partial identity aggs - #42

Open
winningsix wants to merge 1 commit into
HighPerfDataAccelerator:devfrom
winningsix:codex/q18-partial-identity-fallback-20260807
Open

fix(cudf): fall back for unsupported partial identity aggs#42
winningsix wants to merge 1 commit into
HighPerfDataAccelerator:devfrom
winningsix:codex/q18-partial-identity-fallback-20260807

Conversation

@winningsix

Copy link
Copy Markdown
Collaborator

Summary

The TPC-H Q18 warm-run evidence enables cudf.partial_identity_aggregation, but the query includes an aggregate shape that the cuDF partial-identity path does not support. The current code aborts during CudfGroupby::initialize() instead of using the existing regular partial-groupby path.

This PR:

  • validates partial-identity capability after the streaming gate and aggregators are built;
  • disables the optional partial-identity optimization when any aggregate is unsupported; and
  • adds a regression test covering a partial aggregation with sum(c1) and count(0) while the option is enabled.

This preserves correctness and makes the optimization opportunistic rather than fatal. The Spark-side Q21 planning fix is in NVIDIA/spark-gluten#100.

Validation

  • git diff --check: PASS
  • Focused GPU/CUDA unit test added: AggregationTest.partialIdentityAggregationFallsBackForUnsupportedAggs
  • Full GPU test execution was not available in this environment: Docker daemon unavailable and the exact-dev native build is blocked by missing Apache Thrift static libraries.

@github-actions github-actions Bot added the cudf label Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant