pratiknarola-t
988190680d
metal : few-row MMA mat-mul for the remaining src0 types ( #30065 )
...
The generic few-row MMA kernel works for any type with a 16-weight
dequantizer, so it now also takes BF16, Q1_0, Q2_0, MXFP4, Q2_K, Q3_K,
TQ2_0 and the IQ types. Each type starts at the row count where it beats
the current kernels on an M3 Ultra: 5 rows for TQ2_0, 4 for BF16, 3
for MXFP4, Q2_0, Q2_K and IQ4_NL, and 2 for the others.
test-backend-ops perf -o MUL_MAT, m=4096, k=14336, M3 Ultra, time of this
change over master (mean of two interleaved runs each): 0.23 to 0.98 from
the threshold to 8 rows, 0.24 to 0.33 at 9 to 16 rows, and 0.99 to 1.01 at
1 and 512 rows.
2026-10-07 16:49:37 +03:00
..
2026-10-06 18:42:24 +02:00
2026-09-20 06:51:40 -05:00
2026-09-13 18:50:46 +02:00
2026-09-11 12:41:54 +03:00
2026-10-05 11:36:25 +03:00
2026-09-29 07:24:03 +02:00
2026-04-02 22:53:58 +02:00
2026-10-02 11:08:08 +03:00
2026-08-27 13:53:42 +03:00
2026-07-30 19:34:04 +03:00
2026-10-07 16:49:37 +03:00
2026-10-07 13:34:18 +03:00
2025-12-10 12:32:23 -08:00
2026-10-05 01:35:49 +02:00
2025-07-03 07:48:32 +03:00
2026-08-23 18:38:51 +02:00
2026-08-23 18:38:51 +02:00
2026-09-20 06:51:40 -05:00
2026-08-23 18:38:51 +02:00
2026-10-06 18:42:24 +02:00
2026-06-09 12:01:37 +03:00
2024-07-12 10:46:02 +03:00
2026-07-14 13:15:41 +03:00
2026-09-30 18:08:43 +02:00
2025-04-24 16:00:10 +03:00
2026-04-02 22:53:58 +02:00
2026-09-29 22:46:20 +02:00
2026-09-12 16:14:50 -05:00
2025-12-22 11:00:37 +01:00
2026-08-05 07:39:10 -05:00
2026-09-30 15:33:26 +02:00
2026-09-19 14:11:13 +02:00
2026-09-12 16:14:50 -05:00
2026-10-06 18:42:24 +02:00
2026-03-21 18:43:35 +01:00
2026-04-29 10:58:43 +03:00
2025-12-10 15:28:59 +01:00
2026-10-05 08:29:13 +03:00
2026-07-30 19:34:04 +03:00
2026-09-30 20:45:39 +02:00
2026-09-02 21:20:10 +02:00
2026-09-25 18:52:44 +02:00
2025-08-26 22:14:38 +02:00
2026-03-06 21:01:00 +01:00
2026-09-13 18:50:46 +02:00
2026-10-02 17:37:35 +03:00
2025-09-25 08:06:06 +03:00
2026-08-12 14:15:03 +02:00
2026-07-25 11:58:09 +02:00
2026-10-07 10:44:10 +03:00
2025-11-11 13:33:24 +02:00
2026-09-25 10:35:09 +03:00
2026-08-30 20:26:16 +03:00
2026-07-30 19:34:04 +03:00
2026-09-08 12:59:53 +02:00
2026-10-05 11:36:25 +03:00
2026-10-05 11:36:25 +03:00
2026-09-30 18:08:43 +02:00
2026-09-26 08:38:57 +03:00
2025-12-22 11:00:37 +01:00
2026-04-09 12:36:29 +02:00
2026-02-26 12:14:09 +01:00
2025-12-22 11:00:37 +01:00
2025-12-22 11:00:37 +01:00
2026-04-09 12:36:29 +02:00
2025-09-27 02:03:33 +08:00
2026-08-18 15:15:22 +02:00
2026-08-16 12:45:33 +02:00