fix(gfql): execute explicit Polars GPU aggregations on GPU - #2077
Merged
Merged
Conversation
lmeyerov
marked this pull request as ready for review
September 12, 2026 22:54
lmeyerov
marked this pull request as draft
September 13, 2026 00:39
…wups # Conflicts: # CHANGELOG.md
This was referenced Sep 13, 2026
lmeyerov
marked this pull request as ready for review
September 13, 2026 17:50
…wups # Conflicts: # CHANGELOG.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Explicit PolarsGPU row aggregation now executes its aggregate plan through a strict GPU collector or raises structured E110. Bare rows/group_by and connected queries no longer infer aggregate execution from an earlier GPU traversal. CPU Polars remains supported. Fixes #2075.
Native expression, constant and global aggregation support preserves empty/global identities, grouped empty behavior, null keys, count/count-star distinctions, collection multiplicity and ordered DISTINCT. Null storage normalization avoids unsupported GPU scans without mutating the caller. Positive and negative tests instrument aggregate-specific collection and retain independent result oracles.
Head
7200db11b71e1de0bf55a61908f5823be9a2c909, based on master92 including2081. Production patch is byte-equivalent to the previously reviewed400 patch; current integration/device/main-workload evidence supplements its focused pinned performance profiles. Merge before #2078.Combined validation at
ffa52d8abaaf81f1a3508f2723a7f79bdcda2db0: PolarsGPU26 1301passed,0skipped; cuDF26 image1086passed,215skipped; cuDF25 image1053passed,215skipped,33CPU-Polars1.21 baseline failures, identically reproduced on master92 and tracked in #2082. PolarsGPU25 is not claimed. Strict GPU execution and unsupported-capability diagnostics are explicit.Main Q1–Q9 assessment found no demonstrated repeatable product regression: originalthree timing flags repeated in neither predeclared control; one control's GPUQ9 flag did not repeat in the second. Actual Q3/Q4/Q9 paths and strictGPU receipts match between sources. Original flags, raw samples, source/image/data/query pins, thread-setting differences and uncertainty remain disclosed in #2074 and local
plans/gfql-2073-followups/performance-resolution.md.All88current productchecks successful. Two clean production-review waves and current source-equivalence/integration evidence are recorded. Merged by the maintainer as
f7a7253bc95d9cc0663bd130a53a03f2f355cbcd; #2075 closed automatically. The merged Git tree exactly matches tested head7200. Final product CI34888725964 SUCCESS: 83 successful jobs, 2 conditional skips (no-plans-in-repo, changed-line-coverage). CodeQL SUCCESS. Final merged benchmark26 pins cumulative product65; postmerge contract and smoke passed.