Skip to content

Add instructions on running PDS-H for pandas - #23087

Merged
rapids-bot[bot] merged 18 commits into
NVIDIA:mainfrom
Matt711:imp/docs/pandas-tpch-benchmark-instructions
Jul 2, 2026
Merged

Add instructions on running PDS-H for pandas#23087
rapids-bot[bot] merged 18 commits into
NVIDIA:mainfrom
Matt711:imp/docs/pandas-tpch-benchmark-instructions

Conversation

@Matt711

@Matt711 Matt711 commented Jul 2, 2026

Copy link
Copy Markdown
Member

Description

Documentation for humans and agents to refer to for reproducing our benchmarks.

Also removes CPU-benchmarking on CPU-only machines which we dont support right now.

Contributes to #17640

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@Matt711 Matt711 added the doc Documentation label Jul 2, 2026
@Matt711
Matt711 requested review from a team as code owners July 2, 2026 15:14
@Matt711 Matt711 added the non-breaking Non-breaking change label Jul 2, 2026
@Matt711
Matt711 requested review from TomAugspurger and bdice July 2, 2026 15:14
@github-actions github-actions Bot added Python Affects Python cuDF API. cudf.pandas Issues specific to cudf.pandas cudf-polars Issues specific to cudf-polars labels Jul 2, 2026
@GPUtester GPUtester moved this to In Progress in cuDF Python Jul 2, 2026
@coderabbitai

coderabbitai Bot commented Jul 2, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 40840de6-32aa-4232-aa5a-a8c2f0312cef

📥 Commits

Reviewing files that changed from the base of the PR and between 1984137 and 3a2f4fd.

📒 Files selected for processing (1)
  • docs/cudf/source/cudf_pandas/benchmarks.md
✅ Files skipped from review due to trivial changes (1)
  • docs/cudf/source/cudf_pandas/benchmarks.md

📝 Walkthrough

Summary by CodeRabbit

  • Documentation
    • Added a new step-by-step guide for running PDS-H benchmark results with cudf.pandas, including setup, data generation, data preparation, benchmark execution, and output format details.
    • Simplified the cudf-polars benchmark instructions by removing outdated GPU/CPU-specific installation guidance and streamlining the setup flow.

Walkthrough

This PR adds a new "PDS-H (TPC-H variant)" documentation section to the cudf.pandas benchmarks guide, covering installation, dataset generation with Decimal/date type conversion, CPU/GPU benchmark execution commands, and JSONL results format. It also simplifies the cudf-polars benchmarks documentation by removing GPU-specific preface text and the CPU-only source installation section.

Changes

Benchmark Documentation Updates

Layer / File(s) Summary
cudf.pandas PDS-H benchmark guide
docs/cudf/source/cudf_pandas/benchmarks.md
Adds a new documentation section with setup instructions for installing cudf nightly wheels and tpchgen-cli, dataset generation steps including a PyArrow script to cast Decimal to float64 and dates to millisecond timestamps, CPU/GPU benchmark run commands via python -m cudf.pandas._benchmarks.pdsh, and documentation of the JSONL results output format.
cudf-polars installation instructions simplified
docs/cudf/source/cudf_polars/benchmarks.md
Removes the GPU-specific preface sentence and deletes the entire CPU-only (no CUDA) source installation section, streamlining setup to proceed directly to tpchgen-cli installation.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

  • rapidsai/cudf#22619: Both PRs update the cuDF Polars benchmark documentation related to PDS-H/PDS benchmark reporting.
  • rapidsai/cudf#23025: Both PRs modify the same docs/cudf/source/cudf_polars/benchmarks.md setup/run instructions.

Suggested labels: `improvement`

Suggested reviewers: `rjzamora`, `TomAugspurger`, `mroeschke`

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: new instructions for running PDS-H benchmarks for pandas.
Description check ✅ Passed The description is directly related to the documentation update and the removal of unsupported CPU-only benchmarking.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/cudf/source/cudf_pandas/benchmarks.md`:
- Around line 125-139: The benchmark setup steps are missing the `pyarrow`
prerequisite, so the later casting workflow will fail in a clean environment.
Update the prerequisites in the `cudf_pandas` benchmark setup section to install
`pyarrow` alongside `cudf` and `tpchgen-cli`, and make sure the instructions
around the benchmark dataset generation mention this dependency so the
`pyarrow`/`pyarrow.parquet` imports succeed.
- Around line 173-179: The table conversion loop in the benchmarks flow can
silently skip a table when `parts` is empty, so update the logic around the `for
table in tables` block to fail fast instead of doing nothing. In the same path
that builds `table_path` and `parts`, add an explicit check for the empty case
and raise an error with a clear message when no parquet files are found for a
table, so unexpected layouts don’t go unnoticed.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: cd5524d1-beb3-4d42-abd9-2ad428cc9405

📥 Commits

Reviewing files that changed from the base of the PR and between a82686a and 1cb6d5c.

📒 Files selected for processing (3)
  • docs/cudf/source/cudf_pandas/benchmarks.md
  • docs/cudf/source/cudf_polars/benchmarks.md
  • python/cudf/cudf/pandas/_benchmarks/utils.py

Comment thread docs/cudf/source/cudf_pandas/benchmarks.md
Comment thread docs/cudf/source/cudf_pandas/benchmarks.md
Comment thread docs/cudf/source/cudf_pandas/benchmarks.md
@Matt711

Matt711 commented Jul 2, 2026

Copy link
Copy Markdown
Member Author

/merge

@rapids-bot
rapids-bot Bot merged commit c106344 into NVIDIA:main Jul 2, 2026
88 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in cuDF Python Jul 2, 2026
@Matt711
Matt711 deleted the imp/docs/pandas-tpch-benchmark-instructions branch July 2, 2026 20:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cudf.pandas Issues specific to cudf.pandas cudf-polars Issues specific to cudf-polars doc Documentation non-breaking Non-breaking change Python Affects Python cuDF API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants