Skip to content

[Story][FEA] Complete grouped over expression coverage in cuDF-Polars #23606

Description

@rjzamora

Grouped over(...) expressions are implemented in cuDF-Polars using a forward-shuffle / local-evaluate / backward-shuffle execution model. This issue tracks remaining grouped-over API coverage that can use that model before we tackle long-term huge-group execution where one group may need to span multiple partitions/ranks.

Initial child issues / feature areas:

Example:

def test_cum_max_over(engine: GPUEngine) -> None:
    lf = pl.LazyFrame(
        {
            "g": ["A", "A", "A", "B", "B"],
            "t": [1, 2, 3, 1, 2],
            "x": [10, 30, 20, 5, 15],
        }
    )

    q = lf.select(
        pl.col("x").cum_max().over("g", order_by="t").alias("x_cum_max")
    )
    assert_gpu_result_equal(q, engine=engine)

Note: This issue is about near-term grouped over(...) API coverage. Full distributed execution for low-cardinality / huge-group cases can be tracked separately under the broader grouped range-window or streaming ordered-window work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    cudf-polarsIssues specific to cudf-polarsfeature requestNew feature or request

    Type

    No type

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions