Yan Chunwei
|
4464646efb
|
[Triton-MLIR][BACKEND] Fix masked load store op vector size (#785)
Correct the Load/Store Op's vector size with the mask's alignment
correctly considered.
Some cases:
```mlir
// num_warp = 2
// block_size = 128
func @vecadd_mask_align_16(%a_ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %b_ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32},
%out_ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n_elements: i32 {tt.divisibility = 16 : i32}) {
// mask = make_range(128) < n_element
}
```
This should get the vec=2 `ld`/`st` instructions.
While the following example
```mlir
// num_warp = 2
// block_size = 128
func @vecadd_mask_align_16(%a_ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %b_ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32},
%out_ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n_elements: i32) {
// mask = make_range(128) < n_element
}
```
it should get the vec=1 `ld`/`st` instructions.
|
2022-10-18 11:43:50 +08:00 |
|
Shintaro Iwasaki
|
43be75ad42
|
[FRONTEND] Add scalar type support for some ops (#661)
This PR adds basic support for scalar-type inputs to some ops (cast and pointer arithmetics) for Triton-MLIR. Also renames getelementptr -> addptr
|
2022-09-15 16:12:52 -07:00 |
|
Shintaro Iwasaki
|
0ebef11c77
|
[TritonIR] Make mask operand optional (#74)
|
2022-08-22 22:00:17 -07:00 |
|
Shintaro Iwasaki
|
9aa00249a6
|
[TritonIR] make other optional and remove isOtherUnspecified (#67)
[Triton] make other optional and remove isOtherUnspecified
|
2022-08-18 18:19:55 -07:00 |
|
Shintaro Iwasaki
|
d69ce77b19
|
[FRONTEND] add an attr for masked load without explicit other (#55)
|
2022-08-18 09:51:37 -07:00 |
|
Philippe Tillet
|
78ebbe24c7
|
[FRONTEND] Added ExpandDimsOp primitive (#36)
|
2022-08-04 18:41:06 -07:00 |
|
Philippe Tillet
|
d1593e6ca8
|
[TritonGPU] Improved documentation and semantics of layout encodings (#30)
|
2022-07-31 13:59:44 -07:00 |
|
Philippe Tillet
|
a633d2b403
|
[Analysis] Added Axis Info Analysis (#8)
|
2022-07-19 13:38:48 -07:00 |
|