[libcu++] Add cuda::hierarchy debugger pretty-printers - #10744
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 (9)
📝 WalkthroughSummary by CodeRabbit
WalkthroughChangesThe PR adds GDB and LLDB pretty-printers for CUDA hierarchy pretty-printers
Assessment against linked issues
Suggested reviewers: Comment |
|
/ok to test 6f74ed7 |
⏱️ CCCL compile-time benchmark comparison: Public headers compile-time benchResult: 0 regression row(s), 2 improvement row(s) above threshold.
Artifacts: reports and traces Direct file processing
🟢 Direct file processing — Improvements
|
AI failure analysis1. RAPIDS repositories require conflicting rapids-logger major versions · 1 jobExplanation: The combined environment for the nvforest/cuml matrix requests both rapids-logger 0.2 and 0.3, so libmamba fails before any CCCL-dependent project is configured or built. The pull request only changes libcudacxx debugger support and does not modify RAPIDS dependency configuration. Evidence: Build RAPIDS (optional) / rmm ucxx raft cuvs nvforest cuml, step 6 Root cause: Dependency files from the dynamically cloned RAPIDS repositories are out of sync: at least one requires rapids-logger 0.2 while another requires 0.3. The log does not preserve the individual generated environment files needed to attribute each constraint to a specific repository. Sources: .github/workflows/build-rapids.yml:67, ci/rapids/post-create-command.sh:141. Suggested next steps: Inspect the per-repository generated conda environment files to identify the sources of both rapids-logger constraints, then pin or update the affected RAPIDS repository revisions so they agree. Reproduce with `RAPIDS_LIBS='rmm ucxx raft cuvs nvforest cuml' .devcontainer/launch.sh -d -c 13.3 -H rapids-conda -- ./ci/rapids/rapids-entrypoint.sh /bin/bash -li -c 'uninstall-all -j -qqq && clean-all -j && build-all -j0 -v || exec /bin/bash -li'`. Copy this prompt into a coding agentJobs: 2. CUDA 13.3 matrix cannot resolve available cuML 26.10 packages · 1 jobExplanation: The cugraph/wholegraph environment indirectly installs cuML 26.10, but the available cuML/libcuml builds require CUDA below 13 and rapids-logger 0.2 while the generated environment pins CUDA 13.3 and rapids-logger 0.3. Environment creation therefore fails before compilation. Evidence: Build RAPIDS (optional) / rmm ucxx raft cuvs cugraph wholegraph, step 6 Root cause: The workflow follows current RAPIDS repository branches while consuming nightly cuML packages that have not converged on the matrix's CUDA 13.3 and rapids-logger 0.3 requirements. The logs do not show an available cuML build compatible with both constraints. Sources: .github/workflows/build-rapids.yml:68, ci/rapids/cuda13.3-conda/devcontainer.json:17, ci/rapids/post-create-command.sh:141. Suggested next steps: Check whether a newer cuML 26.10 nightly supports CUDA 13.3 and rapids-logger 0.3; otherwise pin the cugraph-related repositories to revisions compatible with currently published cuML packages. Reproduce with `RAPIDS_LIBS='rmm ucxx raft cuvs cugraph wholegraph' .devcontainer/launch.sh -d -c 13.3 -H rapids-conda -- ./ci/rapids/rapids-entrypoint.sh /bin/bash -li -c 'uninstall-all -j -qqq && clean-all -j && build-all -j0 -v || exec /bin/bash -li'`. Copy this prompt into a coding agentJobs: |
|
Thank you for the contribution! |
@Jacobfaib
Description
closes #10089
Add the GDB and LLDB pretty-printers for
cuda::hierarchyrequested by issue #10089. The printers show the bottom unit and dimensions for each hierarchy level. They read static extents from type information and dynamic extents from stored values. They do not call functions in the debugged program.Tests cover static and dynamic extents, partial hierarchies, derived descriptors, values in
std::vector, and live updates.Validation
-g -O3.Checklist