-
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
Extend XeTile.tile to support scatter load (experimental) #811
Conversation
docs/rfcs/XeTile.md
Outdated
@@ -208,6 +207,22 @@ With the data being presented as 4D vector, all the vector based XeTile operatio | |||
``` | |||
The tile_pack and tile_unpack operation is similar to pack and unpack operation of tensor dialect. The source vector must be a 2D dimension vector, and no permutation is allowed for the result 4D vector, so effectively the blocking effect is identical to tensor pack/unpack operation with inner_dims_pos = [0,1] inner_dims_pos = [0, 1]. | |||
|
|||
## support for load_gather and store_scatter (experimental) | |||
`load_gather` (aka. load) load data with each element's address being explictly specified. The tile is created with a base address and offset for each element to be load. The result tile has a `scatter` attribute to different it from the regular tile. |
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.
load ->loads
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
docs/rfcs/XeTile.md
Outdated
%tile0 = XeTile.init_tile %base_addr, %tile_offsets: | ||
i64, vector<1x256xi32> into tile<1x256xbf16, #scatter> | ||
``` | ||
`load_gather` (aka. load) load data with prepared tile and mask. Attribute `padding` specifies the padding value for the out-of-boundary access. The default value is zero. |
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.
load->loads
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
docs/rfcs/XeTile.md
Outdated
@@ -208,6 +207,22 @@ With the data being presented as 4D vector, all the vector based XeTile operatio | |||
``` | |||
The tile_pack and tile_unpack operation is similar to pack and unpack operation of tensor dialect. The source vector must be a 2D dimension vector, and no permutation is allowed for the result 4D vector, so effectively the blocking effect is identical to tensor pack/unpack operation with inner_dims_pos = [0,1] inner_dims_pos = [0, 1]. | |||
|
|||
## support for load_gather and store_scatter (experimental) | |||
`load_gather` (aka. load) loads data with each element's address being explictly specified. The tile is created with a base address and offset for each element to be load. The result tile has a `scatter` attribute to different it from the regular tile. |
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.
different - > distinguish?
"to be load" - > "to be loaded"
docs/rfcs/XeTile.md
Outdated
## support for load_gather and store_scatter (experimental) | ||
`load_gather` (aka. load) loads data with each element's address being explictly specified. The tile is created with a base address and offset for each element to be load. The result tile has a `scatter` attribute to different it from the regular tile. | ||
```mlir | ||
%tile0 = XeTile.init_tile %base_addr, %tile_offsets: |
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.
XeTile->xetile here and below since it is a name for dialect 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.
@chencha3 pls take a look, do you think this is enough for now? |
change XeTile. to xetile. in the code example
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
let's merge after conflicts resolved |
Please review these guidelines to help with the review process: