xiaoleis-nv
d03f35f9b6
[MLIR][NVVM] Fix the datatype error for nvvm.mma.sync when the operand is bf16 ( #122664 )
...
The PR fixes the datatype error for `nvvm.mma.sync` when the operand is
`bf16`. This operation originally requires the A/B type to be `f16x2`
for the `bf16` MMA. However, it violates the NVVM intrinsic
[[here](372044ee09/llvm/include/llvm/IR/IntrinsicsNVVM.td (L119) )],
where the A/B operand type should be `i32`. This is a bug, and there are
no tests in MLIR that cover this datatype.
```
// mma bf16 -> s32 @ m16n8k16/m16n8k8
!eq(gft,"m16n8k16🅰️ bf16") : !listsplat(llvm_i32_ty, 4),
!eq(gft,"m16n8k16🅱️ bf16") : !listsplat(llvm_i32_ty, 2),
!eq(gft,"m16n8k8🅰️ bf16") : !listsplat(llvm_i32_ty, 2),
!eq(gft,"m16n8k8🅱️ bf16") : [llvm_i32_ty],
```
This PR addresses this bug and adds tests to guarantee correctness.
Co-authored-by: Xiaolei Shi <xiaoleis@nvidia.com>
2025-01-13 15:03:05 +05:30
..
2025-01-08 13:40:05 +01:00
2024-12-13 19:42:24 +05:30
2023-11-03 21:21:45 +01:00
2024-02-06 14:12:40 -08:00
2024-01-09 09:05:31 +00:00
2024-01-31 09:13:18 +00:00
2024-06-19 13:33:23 +01:00
2025-01-08 13:40:05 +01:00
2024-10-14 08:44:24 -06:00
2024-03-21 09:07:57 +01:00
2024-11-15 13:48:01 +01:00
2024-11-08 13:56:44 +01:00
2024-07-09 09:34:43 +01:00
2023-12-05 11:52:13 +01:00
2024-11-22 07:58:45 -08:00
2024-08-12 11:56:19 -06:00
2024-10-31 10:09:26 +00:00
2024-11-13 16:11:40 +08:00
2024-10-16 20:49:02 +08:00
2024-08-15 10:02:41 +02:00
2024-08-22 10:08:04 +01:00
2024-08-06 11:52:55 +01:00
2024-11-27 12:31:51 -06:00
2024-01-08 07:42:33 +01:00
2024-11-11 14:01:50 +01:00
2024-11-11 17:11:44 +01:00
2024-12-13 19:42:24 +05:30
2025-01-13 15:03:05 +05:30
2024-10-01 16:18:36 +01:00
2024-12-12 14:39:58 +01:00
2024-10-01 16:18:36 +01:00
2024-10-01 16:18:36 +01:00
2024-10-01 16:18:36 +01:00
2024-11-16 12:28:37 +01:00
2024-10-01 16:18:36 +01:00
2024-10-01 16:18:36 +01:00
2024-12-12 14:39:58 +01:00
2024-04-09 15:50:15 -05:00
2024-10-01 16:18:36 +01:00
2024-10-01 16:18:36 +01:00
2024-10-01 16:18:36 +01:00
2024-11-14 15:47:37 +01:00
2024-11-16 12:26:29 +01:00
2024-11-16 12:26:29 +01:00
2024-10-15 14:39:16 +02:00
2024-10-01 16:18:36 +01:00
2024-10-15 11:28:39 +01:00
2024-10-01 16:18:36 +01:00
2024-11-16 12:26:29 +01:00
2024-10-01 16:18:36 +01:00
2024-10-01 16:18:36 +01:00
2024-10-01 16:18:36 +01:00
2024-10-01 16:18:36 +01:00
2024-02-02 13:16:36 +00:00
2024-10-01 16:18:36 +01:00
2024-04-05 09:25:28 -04:00
2025-01-03 18:01:01 +01:00
2024-10-15 11:28:39 +01:00
2024-10-15 11:28:39 +01:00
2024-10-23 10:48:54 +02:00
2024-05-13 08:54:23 -05:00
2023-10-05 17:38:41 -07:00
2024-12-09 15:14:48 -08:00
2024-10-15 11:28:39 +01:00
2024-10-16 14:43:57 +01:00
2024-11-05 07:52:45 -08:00
2024-12-26 15:02:09 +05:30
2024-10-15 11:28:39 +01:00
2024-05-03 08:59:01 +02:00
2024-10-01 16:18:36 +01:00
2025-01-09 16:11:18 +01:00
2025-01-09 16:11:18 +01:00
2025-01-09 16:11:18 +01:00
2025-01-09 16:11:18 +01:00
2024-08-22 14:11:51 +01:00
2024-03-20 11:19:38 +00:00
2025-01-09 16:11:18 +01:00
2025-01-09 16:11:18 +01:00
2024-10-29 17:05:12 +00:00
2025-01-03 16:22:38 +05:30
2025-01-12 07:46:58 +01:00
2024-12-12 14:39:58 +01:00
2024-12-12 14:39:58 +01:00
2024-12-12 14:39:58 +01:00
2024-12-12 14:39:58 +01:00
2024-10-01 16:18:36 +01:00
2024-02-05 12:22:56 +00:00
2025-01-12 07:46:58 +01:00
2024-12-09 14:32:04 +01:00
2024-12-09 14:32:04 +01:00
2024-12-05 05:23:49 +01:00
2024-11-19 17:36:30 -06:00
2024-01-17 14:55:02 +00:00
2023-09-18 17:49:36 +02:00
2023-12-05 11:29:31 +00:00
2023-12-19 14:18:16 +01:00
2024-07-16 16:48:24 +01:00
2024-02-07 15:23:28 -05:00
2024-02-07 15:23:28 -05:00
2023-09-25 14:32:18 +01:00