-
Notifications
You must be signed in to change notification settings - Fork 45
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
Add reduction_size and broadcast_size attributes to XeTile.reduction and XeTile.broadcast #996
Conversation
Add broadcast_size to xeTile.broadcast operation to make name consistent: tile_broadcast to broadcast, tile_reduce to reduction, tile_transpose to transpose, atomic_rmw_tile to atomic_rmw.
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. Can we also change xetile.tile_conv_layout to xetile.conv_layout
tile_conv_layout to convert_layout
docs/rfcs/XeTile.md
Outdated
```mlir | ||
%vector_a = xetile.tile_reduce <add> %vector_b [1]: vector<64x32xfloat> into vector<64x1xfloat> | ||
%vector_a = xetile.reduction <add> %vector_b [0] {$reduction_size=32}: vector<64x64xfloat>, vector<2x64xfloat> into vector<2x64xfloat> |
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.
do we need to mention vector<2x64xfloat> twice in this operation?
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.
fixed. thanks
Add broadcast_size to XeTile.reduction and XeTile.broadcast to support partial reduction.
We found two use case for partial reduction:
Support MXFP reduction - the reduction only reduce 32 elements to one element, so not reduce the whole dimension to one element.
This PR also fixes a few name inconsistency: tile_broadcast to broadcast, tile_reduce to reduction, tile_transpose to transpose, atomic_rmw_tile to atomic_rmw, tile_conv_layout to convert_layout.
Please review these guidelines to help with the review process: