[libcudacxx] Fix complex pretty-printers for packed half layouts - #11222
[libcudacxx] Fix complex pretty-printers for packed half layouts#11222theo-ai-lab wants to merge 1 commit into
Conversation
Signed-off-by: theo-ai-lab <217547998+theo-ai-lab@users.noreply.github.com>
|
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 (6)
Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review. 📝 SummarySummary by CodeRabbit
WalkthroughGDB and LLDB complex pretty-printers now support direct ChangesComplex debugger support
Assessment against linked issues
Suggested reviewers: Merge Risk: ⚪ Minimal · up to The debugger formatters now display real and imaginary components for packed half and bfloat16 complex values, with matching debugger coverage. No merge-blocking risk is identified. Comment |
Description
closes #11221
Fixes the GDB and LLDB pretty-printers for the packed libcu++ complex specializations:
cuda::std::complex<__half>cuda::std::complex<__nv_bfloat16>The generic complex layout stores
__re_and__im_, while these specializations store a packed__repr_whosexandychildren are the real and imaginary components. Both existing printers assumed the generic layout.This change makes the printers layout-driven:
__re_/__im_when present and falls back to__repr_.x/__repr_.y.realandimaginstead of synthesizing children by byte offset.Validation
realandimagwith the expected raw half/bfloat16 values.This macOS host has no CUDA Toolkit or GDB, so the repository's Linux CUDA debugger CI remains the end-to-end validation for the CUDA-compiled GDB golden.
Checklist