[Tile] Mark the thrust actor framework as tile enabled. - #10714
Conversation
Those are purely forwarding structs, so they should be able to take whatever is thrown at them
📝 WalkthroughSummary by CodeRabbit
WalkthroughChangesThe pull request replaces Annotation updates
Suggested reviewers: Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
thrust/thrust/detail/functional/actor.h (2)
39-40: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winsuggestion: Confirm the annotation policy for defaulted constructors.
These declarations add
_CCCL_EXEC_CHECK_DISABLE, but they do not add_CCCL_API._CCCL_EXEC_CHECK_DISABLEsuppresses an execution-space check. It does not provide the function API annotation. (nvidia.github.io)If explicitly defaulted special members are intentionally exempt because CUDA infers their execution space, document that exemption and cover host, device, and tile construction in a compile test. (docs.nvidia.com)
As per coding guidelines, “Functions must be marked with
_CCCL_HOST_API,_CCCL_DEVICE_API,_CCCL_HOST_DEVICE_API,_CCCL_TILE_API, or_CCCL_API.” As per path instructions, preserve Thrust API compatibility and host/device callability.Also applies to: 96-97, 122-123, 156-157
Sources: Coding guidelines, Path instructions, MCP tools
42-56: 🎯 Functional Correctness | 🔵 Trivialsuggestion: Run a focused host/device/tile compile test.
Use the relevant CCCL CMake preset and Thrust target. Test normal SIMT and tile-enabled compilation. Exercise actor construction,
operator(),eval,make_actor, bothcomposeoverloads, andany_assignwith arbitrary input types. Verify dispatch and ADL behavior.No targeted build or test result is included in the provided context.
As per coding guidelines, “Validate changes with targeted builds and tests.” As per path instructions, verify API compatibility, dispatch behavior, host/device callability, and templated arbitrary-input support.
#!/usr/bin/env bash set -euo pipefail rg -n 'make_actor|compose\(|any_assign|_CCCL_API|_CCCL_EXEC_CHECK_DISABLE' . \ --glob '*.cpp' --glob '*.cc' --glob '*.cxx' --glob '*.cu' \ --glob '*.h' --glob '*.hh' --glob '*.hpp' --glob '*.cuh' cmake --list-presets=all
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: bb985407-ffdb-416b-b482-2f08725f84bd
📒 Files selected for processing (2)
thrust/thrust/detail/functional/actor.hthrust/thrust/iterator/detail/any_assign.h
⏱️ CCCL compile-time benchmark comparison: Public headers compile-time benchResult: 0 regression row(s), 6 improvement row(s) above threshold.
Artifacts: reports and traces Direct file processing
🟢 Direct file processing — Improvements
|
Those are purely forwarding structs, so they should be able to take whatever is thrown at them