Skip to content

[cuda.compute]: fix v2 issue with some well known ops not being supported#9649

Merged
NaderAlAwar merged 3 commits into
NVIDIA:mainfrom
NaderAlAwar:cuda-compute-v2-logical-not
Jul 1, 2026
Merged

[cuda.compute]: fix v2 issue with some well known ops not being supported#9649
NaderAlAwar merged 3 commits into
NVIDIA:mainfrom
NaderAlAwar:cuda-compute-v2-logical-not

Conversation

@NaderAlAwar

Copy link
Copy Markdown
Contributor

No description provided.

@NaderAlAwar NaderAlAwar requested review from a team as code owners June 30, 2026 18:10
@NaderAlAwar NaderAlAwar requested a review from shwina June 30, 2026 18:10
@github-project-automation github-project-automation Bot moved this to Todo in CCCL Jun 30, 2026
@cccl-authenticator-app cccl-authenticator-app Bot moved this from Todo to In Review in CCCL Jun 30, 2026
@coderabbitai

coderabbitai Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

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: b3007c39-0323-4b64-a047-0bf73596aa72

📥 Commits

Reviewing files that changed from the base of the PR and between 8b5829b and b332e92.

📒 Files selected for processing (1)
  • c/parallel/test/test_three_way_partition.cpp
🚧 Files skipped from review as they are similar to previous changes (1)
  • c/parallel/test/test_three_way_partition.cpp

📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Expanded support for well-known boolean operations in compute transforms and three-way partitioning, including logical AND/OR and logical NOT.
    • Added well-known unary/bitwise handling for faster operator selection (e.g., bit-not/identity/logical-not).
  • Bug Fixes

    • Improved correctness and codegen for well-known unary/binary operations across boolean and bitwise cases, with new coverage ensuring expected partition counts and transform results.
  • Tests

    • Added new Python unit tests and C2H/C++ test cases for logical AND/OR, logical NOT, and bit-not, plus a boolean iterator helper.

Walkthrough

operators.cpp now splits well-known functor lookup into binary and unary helpers, extends logical operator handling, and updates unary codegen for user-defined implementations. C++ and Python tests add coverage for bit-not, logical-and/or, and logical-not partitioning.

Changes

Well-Known Functor Type Expansion

Layer / File(s) Summary
Functor helpers and codegen paths
c/parallel.v2/src/hostjit/codegen/operators.cpp
Renames the binary functor helper, adds unary functor lookup, extends operator symbols, generates unary preambles for user code, and updates binary, unary, and comparison codegen call sites.
C++ transform and partition tests
c/parallel/test/test_util.h, c/parallel/test/test_transform.cpp, c/parallel/test/test_three_way_partition.cpp
Adds boolean iterator support and new C2H coverage for bit-not and boolean logical transforms, plus three-way partition with identity and logical-not boolean iterators and expected partition results.
Python compute tests
python/cuda_cccl/tests/compute/test_transform.py, python/cuda_cccl/tests/compute/test_three_way_partition.py
Adds Python compute tests for unary bit-not, binary logical-and/logical-or, and three-way partition with logical-not selection.

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: bfa51232-995a-42ea-a1a6-a9c7bd29c73d

📥 Commits

Reviewing files that changed from the base of the PR and between 3d5f235 and 8da0266.

📒 Files selected for processing (3)
  • c/parallel.v2/src/hostjit/codegen/operators.cpp
  • python/cuda_cccl/tests/compute/test_three_way_partition.py
  • python/cuda_cccl/tests/compute/test_transform.py

Comment thread c/parallel.v2/src/hostjit/codegen/operators.cpp
Comment thread c/parallel.v2/src/hostjit/codegen/operators.cpp
@github-actions

This comment has been minimized.

@NaderAlAwar NaderAlAwar enabled auto-merge (squash) July 1, 2026 00:54
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

🥳 CI Workflow Results

🟩 Finished in 2h 20m: Pass: 100%/63 | Total: 18h 57m | Max: 1h 03m | Hits: 99%/4076

See results here.

@NaderAlAwar NaderAlAwar merged commit 5417202 into NVIDIA:main Jul 1, 2026
83 checks passed
@github-project-automation github-project-automation Bot moved this from In Review to Done in CCCL Jul 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants