[hipDNN] Ragged tensor frontend, backend and schema#8728
Conversation
…ged-tensor-frontend-and-schema
…ged-tensor-frontend-and-schema
Codecov Report❌ Patch coverage is ❌ Your project status has failed because the head coverage (77.89%) is below the target coverage (80.00%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## develop #8728 +/- ##
===========================================
+ Coverage 71.27% 71.43% +0.16%
===========================================
Files 2613 2612 -1
Lines 409461 407441 -2020
Branches 61203 60802 -401
===========================================
- Hits 291826 291041 -785
+ Misses 96184 95103 -1081
+ Partials 21451 21297 -154
*This pull request uses carry forward flags. Click here to find out more.
🚀 New features to boost your workflow:
|
…ged-tensor-frontend-and-schema
❌ PR Check — Action Required
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🚫 Please fix the failed policies before requesting reviews. The following policy checks failed:
The |
Motivation
This PR is based on RFC 0014, adding in ragged tensor support to the hipDNN frontend, backend and flatbuffer schema. It introduces the isRaggedTensorEnabled parameter to graphs to reject plugins without ragged tensor support.
In addition, it adds the alignment parameter to TensorAttributes, setting byte alignment requirements for
Technical Details
(parallel to tensor_uids). All additive/defaulted ⇒ wire-compatible.
regressions.
Unlike the ragged surface, alignment enforcement is not gated behind a feature flag — it runs on every executeOpGraph. Every tensor now carries a default alignment of 16 bytes, so any supplied device
pointer that isn't 16-byte aligned will fail execute with HIPDNN_STATUS_BAD_PARAM. Reviewers should confirm no in-tree path relies on sub-16-byte-aligned buffers.
Note: This PR can be updated to also give alignment its own graph enablement flag, if that's desired
Compatibility
All schema additions are defaulted/additive (no ABI break); plan format is now version-aware. Existing plugins keep serving non-ragged/non-override graphs; ragged graphs require a 1.2.0+ plugin.
Test Plan
~1,000+ lines added: unit coverage for descriptor plumbing, alignment enforcement, ragged version gating, and plan round-trip (incl. legacy); frontend and JSON round-trip tests; and a new integration test
that lowers a ragged graph through the real backend and asserts the flag lands in the serialized image.
Test Result
Old and new tests pass
Submission Checklist