cudf-polars-cu13 25.10.0__py3-none-any.whl → 26.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cudf_polars/GIT_COMMIT +1 -1
- cudf_polars/VERSION +1 -1
- cudf_polars/callback.py +60 -15
- cudf_polars/containers/column.py +137 -77
- cudf_polars/containers/dataframe.py +123 -34
- cudf_polars/containers/datatype.py +134 -13
- cudf_polars/dsl/expr.py +0 -2
- cudf_polars/dsl/expressions/aggregation.py +80 -28
- cudf_polars/dsl/expressions/binaryop.py +34 -14
- cudf_polars/dsl/expressions/boolean.py +110 -37
- cudf_polars/dsl/expressions/datetime.py +59 -30
- cudf_polars/dsl/expressions/literal.py +11 -5
- cudf_polars/dsl/expressions/rolling.py +460 -119
- cudf_polars/dsl/expressions/selection.py +9 -8
- cudf_polars/dsl/expressions/slicing.py +1 -1
- cudf_polars/dsl/expressions/string.py +256 -114
- cudf_polars/dsl/expressions/struct.py +19 -7
- cudf_polars/dsl/expressions/ternary.py +33 -3
- cudf_polars/dsl/expressions/unary.py +126 -64
- cudf_polars/dsl/ir.py +1053 -350
- cudf_polars/dsl/to_ast.py +30 -13
- cudf_polars/dsl/tracing.py +194 -0
- cudf_polars/dsl/translate.py +307 -107
- cudf_polars/dsl/utils/aggregations.py +43 -30
- cudf_polars/dsl/utils/reshape.py +14 -2
- cudf_polars/dsl/utils/rolling.py +12 -8
- cudf_polars/dsl/utils/windows.py +35 -20
- cudf_polars/experimental/base.py +55 -2
- cudf_polars/experimental/benchmarks/pdsds.py +12 -126
- cudf_polars/experimental/benchmarks/pdsh.py +792 -2
- cudf_polars/experimental/benchmarks/utils.py +596 -39
- cudf_polars/experimental/dask_registers.py +47 -20
- cudf_polars/experimental/dispatch.py +9 -3
- cudf_polars/experimental/distinct.py +2 -0
- cudf_polars/experimental/explain.py +15 -2
- cudf_polars/experimental/expressions.py +30 -15
- cudf_polars/experimental/groupby.py +25 -4
- cudf_polars/experimental/io.py +156 -124
- cudf_polars/experimental/join.py +53 -23
- cudf_polars/experimental/parallel.py +68 -19
- cudf_polars/experimental/rapidsmpf/__init__.py +8 -0
- cudf_polars/experimental/rapidsmpf/collectives/__init__.py +9 -0
- cudf_polars/experimental/rapidsmpf/collectives/allgather.py +90 -0
- cudf_polars/experimental/rapidsmpf/collectives/common.py +96 -0
- cudf_polars/experimental/rapidsmpf/collectives/shuffle.py +253 -0
- cudf_polars/experimental/rapidsmpf/core.py +488 -0
- cudf_polars/experimental/rapidsmpf/dask.py +172 -0
- cudf_polars/experimental/rapidsmpf/dispatch.py +153 -0
- cudf_polars/experimental/rapidsmpf/io.py +696 -0
- cudf_polars/experimental/rapidsmpf/join.py +322 -0
- cudf_polars/experimental/rapidsmpf/lower.py +74 -0
- cudf_polars/experimental/rapidsmpf/nodes.py +735 -0
- cudf_polars/experimental/rapidsmpf/repartition.py +216 -0
- cudf_polars/experimental/rapidsmpf/union.py +115 -0
- cudf_polars/experimental/rapidsmpf/utils.py +374 -0
- cudf_polars/experimental/repartition.py +9 -2
- cudf_polars/experimental/select.py +177 -14
- cudf_polars/experimental/shuffle.py +46 -12
- cudf_polars/experimental/sort.py +100 -26
- cudf_polars/experimental/spilling.py +1 -1
- cudf_polars/experimental/statistics.py +24 -5
- cudf_polars/experimental/utils.py +25 -7
- cudf_polars/testing/asserts.py +13 -8
- cudf_polars/testing/io.py +2 -1
- cudf_polars/testing/plugin.py +93 -17
- cudf_polars/typing/__init__.py +86 -32
- cudf_polars/utils/config.py +473 -58
- cudf_polars/utils/cuda_stream.py +70 -0
- cudf_polars/utils/versions.py +5 -4
- cudf_polars_cu13-26.2.0.dist-info/METADATA +181 -0
- cudf_polars_cu13-26.2.0.dist-info/RECORD +108 -0
- {cudf_polars_cu13-25.10.0.dist-info → cudf_polars_cu13-26.2.0.dist-info}/WHEEL +1 -1
- cudf_polars_cu13-25.10.0.dist-info/METADATA +0 -136
- cudf_polars_cu13-25.10.0.dist-info/RECORD +0 -92
- {cudf_polars_cu13-25.10.0.dist-info → cudf_polars_cu13-26.2.0.dist-info}/licenses/LICENSE +0 -0
- {cudf_polars_cu13-25.10.0.dist-info → cudf_polars_cu13-26.2.0.dist-info}/top_level.txt +0 -0
|
@@ -35,22 +35,23 @@ class Gather(Expr):
|
|
|
35
35
|
values, indices = (
|
|
36
36
|
child.evaluate(df, context=context) for child in self.children
|
|
37
37
|
)
|
|
38
|
-
|
|
39
|
-
lo =
|
|
40
|
-
hi
|
|
41
|
-
n = df.num_rows
|
|
42
|
-
if hi >= n or lo < -n:
|
|
38
|
+
n = values.size
|
|
39
|
+
lo, hi = plc.reduce.minmax(indices.obj, stream=df.stream)
|
|
40
|
+
if hi.to_py(stream=df.stream) >= n or lo.to_py(stream=df.stream) < -n: # type: ignore[operator]
|
|
43
41
|
raise ValueError("gather indices are out of bounds")
|
|
44
42
|
if indices.null_count:
|
|
45
43
|
bounds_policy = plc.copying.OutOfBoundsPolicy.NULLIFY
|
|
46
44
|
obj = plc.replace.replace_nulls(
|
|
47
45
|
indices.obj,
|
|
48
|
-
plc.Scalar.from_py(n, dtype=indices.obj.type()),
|
|
46
|
+
plc.Scalar.from_py(n, dtype=indices.obj.type(), stream=df.stream),
|
|
47
|
+
stream=df.stream,
|
|
49
48
|
)
|
|
50
49
|
else:
|
|
51
50
|
bounds_policy = plc.copying.OutOfBoundsPolicy.DONT_CHECK
|
|
52
51
|
obj = indices.obj
|
|
53
|
-
table = plc.copying.gather(
|
|
52
|
+
table = plc.copying.gather(
|
|
53
|
+
plc.Table([values.obj]), obj, bounds_policy, stream=df.stream
|
|
54
|
+
)
|
|
54
55
|
return Column(table.columns()[0], dtype=self.dtype)
|
|
55
56
|
|
|
56
57
|
|
|
@@ -69,6 +70,6 @@ class Filter(Expr):
|
|
|
69
70
|
"""Evaluate this expression given a dataframe for context."""
|
|
70
71
|
values, mask = (child.evaluate(df, context=context) for child in self.children)
|
|
71
72
|
table = plc.stream_compaction.apply_boolean_mask(
|
|
72
|
-
plc.Table([values.obj]), mask.obj
|
|
73
|
+
plc.Table([values.obj]), mask.obj, stream=df.stream
|
|
73
74
|
)
|
|
74
75
|
return Column(table.columns()[0], dtype=self.dtype).sorted_like(values)
|
|
@@ -43,4 +43,4 @@ class Slice(Expr):
|
|
|
43
43
|
"""Evaluate this expression given a dataframe for context."""
|
|
44
44
|
(child,) = self.children
|
|
45
45
|
column = child.evaluate(df, context=context)
|
|
46
|
-
return column.slice((self.offset, self.length))
|
|
46
|
+
return column.slice((self.offset, self.length), stream=df.stream)
|