-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dialects: (vector) Add for vector.transfer_read
and vector.transfer_write
operations
#3650
base: main
Are you sure you want to change the base?
Conversation
Fixed bug in TensorOrMemrefOf.verify (?)
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #3650 +/- ##
==========================================
- Coverage 91.27% 91.26% -0.01%
==========================================
Files 462 462
Lines 57680 57864 +184
Branches 5565 5590 +25
==========================================
+ Hits 52645 52810 +165
- Misses 3613 3626 +13
- Partials 1422 1428 +6 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM modulo comments
xdsl/dialects/builtin.py
Outdated
if isinstance(attr, VectorType) or isinstance(attr, TensorType): | ||
attr = cast(VectorType[Attribute] | TensorType[Attribute], attr) | ||
if isinstance(attr, MemRefType) or isinstance(attr, TensorType): | ||
attr = cast(MemRefType[Attribute] | TensorType[Attribute], attr) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would you mind moving this to a separate PR with a test case?
We seem to be lacking any verification testing on this type.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seeing the changes, I'd still recommend doing this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will do that in the next few days
vector.transfer_read
and vector.transfer_write
operations
….transfer_write" ops This blew up and should now be several PRs
…or.transfer_write" ops
…ArrayAttr[BoolAttr] instead of a IntegerAttr
|
vector.transfer_*: Disabled mask and inferred_mask comparison for now until VectorType is fixed
…ead_transfer_write_ops
|
You can always verify what is currently here and document what deviates (as you have done), this is fine IMHO. Thanks for the work so far! |
Transferred more filecheck tests for transfer ops from MLIR
Added the (now mandatory) in_bounds property
xdsl/dialects/vector.py
Outdated
# WJOG9GVF: TODO fix: uncomment this when 7S4F0FZA has been fixed | ||
# if mask_type: | ||
# if mask_type != inferred_mask_type: | ||
# raise VerifyException( | ||
# f'"{op.name}" inferred mask type ({inferred_mask_type}) and mask operand type ({mask_type}) don\'t match' | ||
# ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as below. I will move it to a new pull request
…ead_transfer_write_ops
…nd depend on issue xdslproject#3654 to be fixed
Hi @watermelonwolverine! I'd love to get this in, please let me know if you'd like some help with the PR. From my understanding, these bits of code that are currently in this PR would benefit from their own mini PRs:
Do you have time to have a go at these? I'm hoping it will be a fairly easy cherry-picking process, I'm happy to review each one very quickly :) After that, I think this PR should be ready to merge with minor changes, but it would be good to reduce it first. |
…ead_transfer_write_ops
This PR is actually pretty much done from my side. |
I can split this PR into smaller PRs over the next few days if it is simply too big |
Yeah that would be great, thank you |
Added stubs for "vector.transfer_read" and "vector.transfer_write".
Verification is missing but that also seems to be a lot of work.
Also fixed a small bug in TensorOrMemrefOf.verify (?)