Skip to content

Add packed_table to CudfVector#17

Draft
dan13bauer wants to merge 2 commits into
main-rapidsai-updatefrom
main-rapidsai-update-cudfvector
Draft

Add packed_table to CudfVector#17
dan13bauer wants to merge 2 commits into
main-rapidsai-updatefrom
main-rapidsai-update-cudfvector

Conversation

@dan13bauer
Copy link
Copy Markdown
Owner

This is a first shot at adding a cudf::packed_table to CudfVector and replacing some of the invocations of cudfVector->release() with cudfVector->getTableView().

  When CudfVector is constructed from a packed_table, calling release()
  materializes a new table from the view, which copies all data. This
  change refactors callers to use getTableView() instead, keeping the
  CudfVector alive during operations to avoid unnecessary copies.

  Changes:
  - CudfConversion: Use getTableView() in passthrough mode
  - CudfHashAggregation: Change doGroupByAggregation, doGlobalAggregation,
    and getDistinctKeys to accept table_view instead of unique_ptr<table>
  - CudfHashJoin: Change all join functions (innerJoin, leftJoin, rightJoin,
    leftSemiFilterJoin, rightSemiFilterJoin, antiJoin) to accept table_view
@dan13bauer dan13bauer self-assigned this Dec 18, 2025
@dan13bauer dan13bauer added the enhancement New feature or request label Dec 18, 2025
dan13bauer pushed a commit that referenced this pull request Mar 6, 2026
The old code checked handshakePtr != nullptr after reinterpret_cast,
which is meaningless (reinterpret_cast of a non-null pointer never
returns null). The real risk is the buffer being too small for the
cast, which would cause reading past buffer bounds.

Add null check on buffer itself, and validate buffer->getSize() >=
sizeof(HandshakeMsg) BEFORE the reinterpret_cast. Remove the old
meaningless null check after the cast.

Review: @pentschev comment #17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant