Skip to content

Conversation

@lamarrr
Copy link
Contributor

@lamarrr lamarrr commented Oct 8, 2025

Description

This pull-request follows-up #19831 and extends support for Null-aware filters and transforms. Addresses #20177

Changeset Summary

  • Adds a new null_output policy to inform the transform to not generate null-masks, this is important for null-aware operators that are intended to actually discard null values. null_output::NON_NULLABLE will not generate null-masks for the transform result
  • Adds null context to row_ir's nodes to generate code for null-specific contexts
  • Adds is_null_aware and is_always_nonullable attributes to row_ir's node's as an optimization to avoid generating bitmasks in the common case.
  • Adds a may_evaluate_null attribute to the kernel to signify that a null-mask is not needed for the transform operation
  • Moves bitmask computation into the transform kernel, which will reduce computation time for wide tables
  • Minor refactoring
  • [Pending] Fix null-propagation in filters when null values are selected, i.e., NULL_LOGICAL_AND operators (currently failing test).
  • Tests for these changes

Story #18023

Checklist

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

@lamarrr lamarrr requested review from a team as code owners October 8, 2025 02:42
@github-actions github-actions bot added libcudf Affects libcudf (C++/CUDA) code. Python Affects Python cuDF API. CMake CMake build issue pylibcudf Issues specific to the pylibcudf package labels Oct 8, 2025
@GPUtester GPUtester moved this to In Progress in cuDF Python Oct 8, 2025
@lamarrr lamarrr added feature request New feature or request breaking Breaking change labels Oct 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Breaking change CMake CMake build issue feature request New feature or request libcudf Affects libcudf (C++/CUDA) code. pylibcudf Issues specific to the pylibcudf package Python Affects Python cuDF API.

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

1 participant