Flatten CUB/Thrust API docs - #10012
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (64)
💤 Files with no reviewable changes (2)
🚧 Files skipped from review as they are similar to previous changes (56)
📝 WalkthroughSummary by CodeRabbit
WalkthroughChangesThe PR reorganizes CUB and Thrust documentation navigation, corrects generated API and example include paths, adds module landing pages, and documents CUB top-k execution requirements. CUB documentation
Thrust documentation
Possibly related PRs
Suggested reviewers: Comment |
There was a problem hiding this comment.
Actionable comments posted: 5
🧹 Nitpick comments (1)
docs/thrust/function_objects/predefined.rst (1)
3-4: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winsuggestion: Rename the child page heading to “Predefined Function Objects”.
This page is already linked from the parent “Function Objects” page; a distinct heading will make navigation and generated page titles unambiguous.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 5954748b-81cc-4142-af80-3ad018021ee6
📒 Files selected for processing (64)
docs/cub/api.rstdocs/cub/benchmarking.rstdocs/cub/block_wide.rstdocs/cub/determinism.rstdocs/cub/developer_overview.rstdocs/cub/device_topk_requirements.rstdocs/cub/device_wide.rstdocs/cub/index.rstdocs/cub/thread_level.rstdocs/cub/tuning.rstdocs/cub/tuning_infra.rstdocs/cub/warp_wide.rstdocs/thrust/algorithms.rstdocs/thrust/algorithms/copying.rstdocs/thrust/algorithms/copying/gather.rstdocs/thrust/algorithms/copying/scatter.rstdocs/thrust/algorithms/merging.rstdocs/thrust/algorithms/prefix_sum.rstdocs/thrust/algorithms/prefix_sums/segmented.rstdocs/thrust/algorithms/prefix_sums/transformed.rstdocs/thrust/algorithms/reductions.rstdocs/thrust/algorithms/reductions/comparisons.rstdocs/thrust/algorithms/reductions/counting.rstdocs/thrust/algorithms/reductions/extrema.rstdocs/thrust/algorithms/reductions/logical.rstdocs/thrust/algorithms/reductions/predicates.rstdocs/thrust/algorithms/reductions/transformed.rstdocs/thrust/algorithms/reordering.rstdocs/thrust/algorithms/reordering/partitioning.rstdocs/thrust/algorithms/reordering/shuffling.rstdocs/thrust/algorithms/reordering/stream_compaction.rstdocs/thrust/algorithms/searching.rstdocs/thrust/algorithms/searching/binary_search.rstdocs/thrust/algorithms/set_operations.rstdocs/thrust/algorithms/sorting.rstdocs/thrust/algorithms/transformations.rstdocs/thrust/algorithms/transformations/filling.rstdocs/thrust/algorithms/transformations/modifying.rstdocs/thrust/algorithms/transformations/replacing.rstdocs/thrust/api.rstdocs/thrust/containers.rstdocs/thrust/function_objects.rstdocs/thrust/function_objects/adaptors.rstdocs/thrust/function_objects/placeholder.rstdocs/thrust/function_objects/predefined.rstdocs/thrust/index.rstdocs/thrust/iterators.rstdocs/thrust/memory_management.rstdocs/thrust/memory_management/allocators.rstdocs/thrust/memory_management/memory_resources.rstdocs/thrust/numerics.rstdocs/thrust/parallel_execution_policies.rstdocs/thrust/random.rstdocs/thrust/random/distributions.rstdocs/thrust/random/engine.rstdocs/thrust/random/engine_adaptors.rstdocs/thrust/random/predefined.rstdocs/thrust/system.rstdocs/thrust/system/diagnostics.rstdocs/thrust/system/systems.rstdocs/thrust/utility.rstdocs/thrust/utility/pair.rstdocs/thrust/utility/tuple.rstdocs/thrust/utility/type_traits.rst
💤 Files with no reviewable changes (2)
- docs/cub/api.rst
- docs/thrust/api.rst
There was a problem hiding this comment.
Caution
Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.
Actionable comments posted: 5
🧹 Nitpick comments (1)
docs/thrust/function_objects/predefined.rst (1)
3-4: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winsuggestion: Rename the child page heading to “Predefined Function Objects”.
This page is already linked from the parent “Function Objects” page; a distinct heading will make navigation and generated page titles unambiguous.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 5954748b-81cc-4142-af80-3ad018021ee6
📒 Files selected for processing (64)
docs/cub/api.rstdocs/cub/benchmarking.rstdocs/cub/block_wide.rstdocs/cub/determinism.rstdocs/cub/developer_overview.rstdocs/cub/device_topk_requirements.rstdocs/cub/device_wide.rstdocs/cub/index.rstdocs/cub/thread_level.rstdocs/cub/tuning.rstdocs/cub/tuning_infra.rstdocs/cub/warp_wide.rstdocs/thrust/algorithms.rstdocs/thrust/algorithms/copying.rstdocs/thrust/algorithms/copying/gather.rstdocs/thrust/algorithms/copying/scatter.rstdocs/thrust/algorithms/merging.rstdocs/thrust/algorithms/prefix_sum.rstdocs/thrust/algorithms/prefix_sums/segmented.rstdocs/thrust/algorithms/prefix_sums/transformed.rstdocs/thrust/algorithms/reductions.rstdocs/thrust/algorithms/reductions/comparisons.rstdocs/thrust/algorithms/reductions/counting.rstdocs/thrust/algorithms/reductions/extrema.rstdocs/thrust/algorithms/reductions/logical.rstdocs/thrust/algorithms/reductions/predicates.rstdocs/thrust/algorithms/reductions/transformed.rstdocs/thrust/algorithms/reordering.rstdocs/thrust/algorithms/reordering/partitioning.rstdocs/thrust/algorithms/reordering/shuffling.rstdocs/thrust/algorithms/reordering/stream_compaction.rstdocs/thrust/algorithms/searching.rstdocs/thrust/algorithms/searching/binary_search.rstdocs/thrust/algorithms/set_operations.rstdocs/thrust/algorithms/sorting.rstdocs/thrust/algorithms/transformations.rstdocs/thrust/algorithms/transformations/filling.rstdocs/thrust/algorithms/transformations/modifying.rstdocs/thrust/algorithms/transformations/replacing.rstdocs/thrust/api.rstdocs/thrust/containers.rstdocs/thrust/function_objects.rstdocs/thrust/function_objects/adaptors.rstdocs/thrust/function_objects/placeholder.rstdocs/thrust/function_objects/predefined.rstdocs/thrust/index.rstdocs/thrust/iterators.rstdocs/thrust/memory_management.rstdocs/thrust/memory_management/allocators.rstdocs/thrust/memory_management/memory_resources.rstdocs/thrust/numerics.rstdocs/thrust/parallel_execution_policies.rstdocs/thrust/random.rstdocs/thrust/random/distributions.rstdocs/thrust/random/engine.rstdocs/thrust/random/engine_adaptors.rstdocs/thrust/random/predefined.rstdocs/thrust/system.rstdocs/thrust/system/diagnostics.rstdocs/thrust/system/systems.rstdocs/thrust/utility.rstdocs/thrust/utility/pair.rstdocs/thrust/utility/tuple.rstdocs/thrust/utility/type_traits.rst
💤 Files with no reviewable changes (2)
- docs/cub/api.rst
- docs/thrust/api.rst
🛑 Comments failed to post (5)
docs/cub/device_topk_requirements.rst (2)
45-75: 🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift
important: Clearly mark the deterministic, sorted, and default configurations as future contract rather than currently usable. The supplied
DeviceTopKandDeviceBatchedTopKimplementations reject these combinations, including the empty environment, yet this page presents them as runnable defaults and recommendations. As per path instructions, documentation changes must be checked for technical accuracy and buildable examples.Also applies to: 147-160, 202-210, 304-323
Source: Path instructions
222-225: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
important: Correct the worked-example count: indices 1, 2, and 3 contain three tied
8values, not four. Only two of those three can be selected forK = 3.Source: Path instructions
docs/cub/index.rst (1)
486-486: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
important: Fix the malformed reStructuredText hyperlink. Use an inline link such as
See also \CCCL LICENSE https://github.com/NVIDIA/cccl/blob/main/LICENSE`_` so the link is rendered and checked by Sphinx. As per path instructions, documentation changes must be checked for technical accuracy and buildability.Source: Path instructions
docs/thrust/function_objects.rst (1)
53-56: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
critical: Use the binary
transformoverload in this example.The lambda takes two arguments, but this call supplies only one input range, so the example does not compile. Add
b.begin()as the second input range.- thrust::transform(thrust::device, a.begin(), a.end(), a.begin(), + thrust::transform(thrust::device, a.begin(), a.end(), b.begin(), a.begin(),As per path instructions, documentation examples must remain buildable.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.thrust::transform(thrust::device, a.begin(), a.end(), b.begin(), a.begin(), cuda::std::proclaim_copyable_arguments([](const int& a, const int& b) { return a + b; }));Source: Path instructions
docs/thrust/function_objects/adaptors.rst (1)
6-6: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
important: Remove the leading indentation from these top-level bullet lists.
The bullets are outside a directive, so the two-space indentation can make them render as an indented block instead of a normal list.
docs/thrust/function_objects/adaptors.rst#L6-L6: change-to-.docs/thrust/function_objects/predefined.rst#L9-L11: remove the two leading spaces from each bullet.📍 Affects 2 files
docs/thrust/function_objects/adaptors.rst#L6-L6(this comment)docs/thrust/function_objects/predefined.rst#L9-L11Source: Path instructions
703b096 to
23e32f8
Compare
| Overview <self> | ||
| thread_level | ||
| warp_wide | ||
| block_wide | ||
| device_wide | ||
| determinism | ||
| benchmarking | ||
| tuning | ||
| tuning_infra | ||
| developer_overview | ||
| API documentation <api> | ||
| API reference <api/index> | ||
| developer_overview |
There was a problem hiding this comment.
Most important change. Put the algorithms out of API documentation onto the first level and at the top.
* Ungroup api_docs pages for CUB * Ungroup api_docs pages for Thrust * Remove CUB prefix in headings * Put CUB algos first
This PR moves the CUB and Thrust API docs out of their sub directories, so they are less hidden more easily discovered. Furthermore, maintainer docs are added to the end. In the CUB docs, the "CUB" prefix of the headings is removed for consistency with other libraries.