Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion conda/environments/all_cuda-129_arch-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ dependencies:
- cuda-python>=12.9.2,<13.0
- cuda-sanitizer-api
- cuda-version=12.9
- cupy>=13.6.0,!=14.0.0
- cupy>=13.6.0,!=14.0.0,!=14.1.0
- cxx-compiler
- cython>=3.2.2
- dask-cuda==26.8.*,>=0.0.0a0
Expand Down
2 changes: 1 addition & 1 deletion conda/environments/all_cuda-129_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ dependencies:
- cuda-python>=12.9.2,<13.0
- cuda-sanitizer-api
- cuda-version=12.9
- cupy>=13.6.0,!=14.0.0
- cupy>=13.6.0,!=14.0.0,!=14.1.0
- cxx-compiler
- cython>=3.2.2
- dask-cuda==26.8.*,>=0.0.0a0
Expand Down
2 changes: 1 addition & 1 deletion conda/environments/all_cuda-132_arch-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ dependencies:
- cuda-python>=13.0.1,<14.0
- cuda-sanitizer-api
- cuda-version=13.2
- cupy>=13.6.0,!=14.0.0
- cupy>=13.6.0,!=14.0.0,!=14.1.0
- cxx-compiler
- cython>=3.2.2
- dask-cuda==26.8.*,>=0.0.0a0
Expand Down
2 changes: 1 addition & 1 deletion conda/environments/all_cuda-132_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ dependencies:
- cuda-python>=13.0.1,<14.0
- cuda-sanitizer-api
- cuda-version=13.2
- cupy>=13.6.0,!=14.0.0
- cupy>=13.6.0,!=14.0.0,!=14.1.0
- cxx-compiler
- cython>=3.2.2
- dask-cuda==26.8.*,>=0.0.0a0
Expand Down
2 changes: 1 addition & 1 deletion conda/recipes/cudf/recipe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ requirements:
run:
- python
- pandas >=3.0.0,<3.1.0
- cupy >=13.6.0,!=14.0.0
- cupy >=13.6.0,!=14.0.0,!=14.1.0
- numba-cuda >=0.22.2,<0.29.0
- numba >=0.60.0,<0.65.0
- numpy >=1.26,<3.0
Expand Down
10 changes: 5 additions & 5 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -935,11 +935,11 @@ dependencies:
- matrix:
cuda: "12.*"
packages:
- cupy-cuda12x!=14.0.0
- cupy-cuda12x!=14.0.0,!=14.1.0
- matrix:
cuda: "13.*"
packages:
- cupy-cuda13x!=14.0.0
- cupy-cuda13x!=14.0.0,!=14.1.0
- matrix:
packages:
test_python_dask_cudf:
Expand Down Expand Up @@ -1160,7 +1160,7 @@ dependencies:
common:
- output_types: conda
packages:
- cupy>=13.6.0,!=14.0.0
- cupy>=13.6.0,!=14.0.0,!=14.1.0
# NOTE: This is intentionally not broken into groups by a 'cuda_suffixed' selector like
# other packages with -cu{nn}x suffixes in this file.
# All RAPIDS wheel builds (including in devcontainers) expect cupy to be suffixed.
Expand All @@ -1170,11 +1170,11 @@ dependencies:
- matrix:
cuda: "12.*"
packages:
- cupy-cuda12x>=13.6.0,!=14.0.0
- cupy-cuda12x>=13.6.0,!=14.0.0,!=14.1.0
# fallback to CUDA 13 versions if 'cuda' is '13.*' or not provided
- matrix:
packages:
- cupy-cuda13x>=13.6.0,!=14.0.0
- cupy-cuda13x>=13.6.0,!=14.0.0,!=14.1.0
depends_on_libkvikio:
common:
- output_types: conda
Expand Down
Binary file added docs/cudf/source/_static/polars_pdsds_sf1k.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/cudf/source/_static/polars_pdsds_sf3k.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/cudf/source/_static/polars_pdsh_sf1k.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/cudf/source/_static/polars_pdsh_sf3k.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
55 changes: 36 additions & 19 deletions docs/cudf/source/cudf_polars/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,32 +50,49 @@ available engines, {doc}`options` for the

## Benchmark

```{note}
The following benchmarks were performed with the `POLARS_GPU_ENABLE_CUDA_MANAGED_MEMORY`
environment variable set to `"0"`. Using managed memory (the default) imposes a performance cost
in order to avoid out of memory errors. Peak performance can still be attained by setting the
environment variable to `0`.
```
Polars delivers high performance across a wide range of data scales through multiple execution engines. The default CPU engine is highly optimized for interactive and medium-scale analytics on a single node. The Polars GPU engine lets you move seamlessly to GPU nodes, providing meaningful acceleration when your dataset grows to hundreds of gigabytes or more.

We reproduced the [Polars Decision Support (PDS)](https://github.com/pola-rs/polars-benchmark)
benchmark to compare Polars GPU engine with the default CPU settings across several dataset sizes.
Here are the results:
We ran the Polars Decision Support (PDS) benchmarks to compare the Polars GPU engine with the CPU engine at larger scale factors to show how the GPU engine delivers meaningful speedups as dataset size grows:

```{figure} ../_static/pds_benchmark_polars.png
:width: 600px
```
```{eval-rst}
.. list-table::
:widths: 50 50
:align: center

* - .. figure:: ../_static/polars_pdsh_sf1k.png
:width: 100%
:alt: PDS-H benchmark at scale factor 1K

You can see up to 13x speedup using the GPU engine on the compute-heavy PDS queries involving
complex aggregation and join operations. Below are the speedups for the top performing queries:
PDS-H (SF1K)

```{figure} ../_static/compute_heavy_queries_polars.png
:width: 1000px
- .. figure:: ../_static/polars_pdsds_sf1k.png
:width: 100%
:alt: PDS-DS benchmark at scale factor 1K

PDS-DS (SF1K)
```

*PDS-H benchmark | GPU: NVIDIA H100 PCIe | CPU: Intel Xeon W9-3495X (Sapphire Rapids) | Storage:
Local NVMe*
On a single GPU, you can run TB-scale workloads with significant speedups compared to running on CPU. You can also scale up to run on multiple GPUs for processing even larger workloads:

```{eval-rst}
.. list-table::
:widths: 50 50
:align: center

* - .. figure:: ../_static/polars_pdsh_sf3k.png
:width: 100%
:alt: PDS-H benchmark at scale factor 3K

PDS-H (SF3K)

- .. figure:: ../_static/polars_pdsds_sf3k.png
:width: 100%
:alt: PDS-DS benchmark at scale factor 3K

PDS-DS (SF3K)
```

You can reproduce the results by visiting the [Polars Decision Support (PDS) GitHub repository](https://github.com/pola-rs/polars-benchmark).
For more information on the benchmarks being run, see the PDS-DS queries in the [cuDF GitHub repository](https://github.com/rapidsai/cudf/tree/release/26.06/python/cudf_polars/cudf_polars/streaming/benchmarks).

## Learn More

Expand Down
2 changes: 1 addition & 1 deletion python/cudf/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ requires-python = ">=3.11"
dependencies = [
"cachetools",
"cuda-python>=13.0.1,<14.0",
"cupy-cuda13x>=13.6.0,!=14.0.0",
"cupy-cuda13x>=13.6.0,!=14.0.0,!=14.1.0",
"fsspec>=0.6.0",
"libcudf==26.8.*,>=0.0.0a0",
"numba-cuda>=0.22.2,<0.29.0",
Expand Down
2 changes: 1 addition & 1 deletion python/dask_cudf/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ license-files = ["LICENSE"]
requires-python = ">=3.11"
dependencies = [
"cudf==26.8.*,>=0.0.0a0",
"cupy-cuda13x>=13.6.0,!=14.0.0",
"cupy-cuda13x>=13.6.0,!=14.0.0,!=14.1.0",
"fsspec>=0.6.0",
"numpy>=1.26,<3.0",
"nvidia-ml-py>=12",
Expand Down
2 changes: 1 addition & 1 deletion python/pylibcudf/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ classifiers = [

[project.optional-dependencies]
test = [
"cupy-cuda13x>=13.6.0,!=14.0.0",
"cupy-cuda13x>=13.6.0,!=14.0.0,!=14.1.0",
"fastavro>=0.22.9",
"mmh3",
"nanoarrow",
Expand Down
Loading