Skip to content

Convert IO tests' scratch rmm::device_uvector<T> to cuda::device_buffer<T> - #24963

Merged
rapids-bot[bot] merged 3 commits into
NVIDIA:mainfrom
KyleFromNVIDIA:remove-io-tests-device_uvector
Oct 31, 2026
Merged

rapids-bot[bot] merged 3 commits into
NVIDIA:mainfrom
KyleFromNVIDIA:remove-io-tests-device_uvector

Conversation

@KyleFromNVIDIA

Copy link
Copy Markdown
Member

Description

Use CCCL buffers instead of RMM vectors in IO tests.

Issue: rapidsai/build-planning#321

Checklist

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

…uffer<T>`

Use CCCL buffers instead of RMM vectors in IO tests.

Issue: rapidsai/build-planning#321
@KyleFromNVIDIA KyleFromNVIDIA added the improvement Improvement / enhancement to an existing function label Oct 30, 2026
@KyleFromNVIDIA
KyleFromNVIDIA requested a review from a team as a code owner October 30, 2026 21:07
@KyleFromNVIDIA KyleFromNVIDIA added the non-breaking Non-breaking change label Oct 30, 2026
@github-actions github-actions Bot added the libcudf Affects libcudf (C++/CUDA) code. label Oct 30, 2026
@coderabbitai

coderabbitai Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: NVIDIA/cudf
  • Branch: main
  • File: .coderabbit.yaml
  • Commit: d587748
  • Layers: Repository YAML
  • Review profile: CHILL
  • Plan: Enterprise
  • Run ID: 26d0ef5c-7c9a-493f-b6e4-0bf1d445dbd6
Commits

Reviewing files that changed from the base of the PR and between 94e6bab and e3ef00f.

Files selected for processing: 1
  • cpp/tests/io/comp/comp_test.cpp

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 7 remain after this review.

📝 Summary

Summary by CodeRabbit

  • Tests
    • Updated tests for compression, logical-stack processing, JSON parsing, and Parquet writing to use updated device-buffer utilities.
    • Test inputs, parsing options, and assertions remain unchanged.
    • No end-user behavior changes are included.

IO tests replace selected RMM device-vector allocations with CUDA device buffers and buffer factory utilities. Compression tests also limit compressed input spans to bytes_written. The logical-stack test creates buffers from host vectors and passes the index buffer directly.

Changes: IO test device-buffer migration

Layer / File(s) Summary
Compression and logical-stack test buffers
cpp/tests/io/comp/comp_test.cpp, cpp/tests/io/fst/logical_stack_test.cu
Compression tests use CUDA device buffers and limit the compressed input span to bytes_written. The logical-stack test creates buffers from host vectors and passes the index buffer directly.
JSON test buffers
cpp/tests/io/json/json_tree_csr.cu, cpp/tests/io/json/nested_json_test.cpp
JSON tests use CUDA device buffers or buffer factories for column IDs, node IDs, parser inputs, offsets, tokens, and token indexes.
Parquet buffer source
cpp/tests/io/parquet_writer_test.cpp
The Parquet writer test creates its device-side input with make_device_buffer. The device span and read operation remain in place.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Refactor

Possibly related issues

  • NVIDIA/cudf issue 24431: The issue tracks the transition from RMM buffers to cuda::device_buffer. This PR applies the same migration to allocations in IO tests.

Suggested reviewers: vyasr, bdice, davidwendt

Merge Risk: Minimal · up to e3ef0

No merge-blocking defect is established for this test-only buffer migration.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documenta… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: replacing scratch RMM device vectors with CCCL device buffers in IO tests.
Description check Passed The description directly matches the changeset by stating that CCCL buffers replace RMM vectors in IO tests and links the related issue.
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.
Full details: Docstring Coverage

Explanation

Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 6 functions across 5 files.

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

Comment thread cpp/tests/io/comp/comp_test.cpp Resolved
Comment thread cpp/tests/io/json/json_tree_csr.cu Resolved
@KyleFromNVIDIA

Copy link
Copy Markdown
Member Author

/merge

@rapids-bot
rapids-bot Bot merged commit c87e83d into NVIDIA:main Oct 31, 2026
81 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improvement / enhancement to an existing function libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants