Matt Corallo
19620004f5
vulkan: Block-load Q3_K/Q6_K block data and subtract on 32b ints ( #23056 )
...
Q2_K/Q3_K/Q6_K do much better when using MMVQ on Intel BMG even
though they're only 2-byte aligned, and Q3_K still wins on
NVIDIA as well.
mesa isn't all that great at coalescing back-to-back loads from
alternating arrays, so we force it instead. Further, we can do
subtraction directly on a full int32_t rather than an i8vec4
with bit twiddling because the high bit is always free to start.
On Intel BMG on mesa, the switch to MMVQ provides an immediate
~57% perf increase in tg128 for unsloth/Qwen3.5-9B-GGUF:Q3_K and
~78% perf increase in tg128 for unsloth/Qwen3.5-9B-GGUF:Q6_K.
The futher switch to block loads leads to a ~24% perf increase in
tg128 for unsloth/Qwen3.5-9B-GGUF:Q3_K and a ~48% perf increase in
tg128 for unsloth/Qwen3.5-9B-GGUF:Q6_K.
Finally, Xe2 wins on MMVQ even for small k, so we take the NVIDIA
override for K quants on Xe2 as well.
2026-06-01 11:46:48 +02:00
..
2026-05-27 17:18:28 +02:00
2025-11-15 12:00:29 +01:00
2026-02-14 06:36:38 +01:00
2025-11-19 17:29:45 +01:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-11-19 17:29:45 +01:00
2025-10-04 11:42:56 +02:00
2025-11-19 17:25:50 +01:00
2025-11-19 17:25:50 +01:00
2025-11-19 17:29:45 +01:00
2025-10-04 11:42:56 +02:00
2026-05-27 17:18:28 +02:00
2025-10-04 11:42:56 +02:00
2026-05-17 11:31:20 +02:00
2025-10-04 11:42:56 +02:00
2026-05-26 15:48:05 +02:00
2025-10-04 11:42:56 +02:00
2026-04-14 11:34:23 +02:00
2026-04-14 15:17:45 +02:00
2025-11-19 16:50:43 +01:00
2026-05-17 11:31:20 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-12-26 16:12:58 -06:00
2026-01-02 15:32:30 -06:00
2026-01-02 15:32:30 -06:00
2026-01-02 15:32:30 -06:00
2025-10-04 11:42:56 +02:00
2026-05-27 17:18:28 +02:00
2026-05-27 17:19:23 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-29 14:39:03 +01:00
2026-04-14 11:34:23 +02:00
2026-04-10 08:35:27 +02:00
2025-10-29 14:39:03 +01:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-29 14:39:03 +01:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-29 14:39:03 +01:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2026-04-14 15:17:45 +02:00
2025-10-04 11:42:56 +02:00
2026-03-08 12:38:17 +01:00
2026-04-14 15:17:45 +02:00
2025-11-19 17:29:45 +01:00
2026-05-30 10:39:31 +02:00
2026-05-30 10:39:31 +02:00
2026-05-30 10:39:31 +02:00
2026-05-30 10:39:31 +02:00
2026-03-12 06:35:49 +01:00
2026-05-11 12:49:03 +02:00
2026-01-21 17:43:43 +01:00
2026-05-11 12:49:03 +02:00
2025-11-19 17:29:45 +01:00
2026-05-28 13:18:43 +02:00
2026-05-16 20:06:23 +08:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2026-04-14 15:17:45 +02:00
2025-12-21 10:17:58 +01:00
2025-11-29 09:37:22 +01:00
2025-10-04 11:42:56 +02:00
2025-12-13 10:12:53 +01:00
2026-04-14 15:17:45 +02:00
2026-03-28 08:44:56 +01:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2026-04-14 15:17:45 +02:00
2026-05-20 17:15:13 +02:00
2026-03-12 06:39:41 +01:00
2025-10-04 11:42:56 +02:00
2026-04-14 15:17:45 +02:00
2024-12-03 20:29:54 +01:00
2026-02-18 10:47:10 +01:00
2026-04-09 07:31:51 +02:00
2026-01-12 12:32:13 +01:00
2026-01-12 12:32:13 +01:00
2026-01-12 12:32:13 +01:00
2026-01-12 12:32:13 +01:00
2026-01-12 12:32:13 +01:00
2026-01-12 12:32:13 +01:00
2026-01-12 12:32:13 +01:00
2025-11-15 19:54:23 +01:00
2025-11-15 19:54:23 +01:00
2026-04-09 07:31:51 +02:00
2026-01-12 12:32:13 +01:00
2026-04-09 07:31:51 +02:00
2026-04-09 07:31:51 +02:00
2026-01-12 12:32:13 +01:00
2026-05-27 17:19:23 +02:00
2026-06-01 11:46:48 +02:00
2026-01-12 12:32:13 +01:00
2026-05-27 17:18:28 +02:00
2026-04-28 17:31:04 +02:00
2026-02-24 07:43:12 +01:00
2026-04-09 07:31:51 +02:00
2026-04-09 07:31:51 +02:00
2026-05-11 12:49:03 +02:00
2026-02-19 14:59:16 +01:00
2025-10-04 11:42:56 +02:00
2026-04-14 15:17:45 +02:00
2025-11-15 12:00:29 +01:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-12-06 15:07:02 +01:00
2025-10-04 11:42:56 +02:00
2026-01-05 11:30:14 +01:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2026-02-05 08:38:59 +01:00
2025-10-04 11:42:56 +02:00
2026-05-17 11:30:16 +02:00
2026-04-14 15:17:45 +02:00
2026-02-05 08:38:59 +01:00
2026-02-05 08:38:59 +01:00
2026-02-05 08:38:59 +01:00
2026-05-17 11:30:16 +02:00
2026-02-05 08:38:59 +01:00
2025-11-19 17:29:45 +01:00
2025-10-04 11:42:56 +02:00
2026-03-09 07:24:16 +01:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2026-05-21 19:39:42 +02:00
2025-10-04 11:42:56 +02:00
2025-12-13 10:04:29 +01:00
2025-12-13 10:04:29 +01:00
2025-12-13 10:04:29 +01:00
2025-12-13 10:04:29 +01:00
2025-10-04 11:42:56 +02:00
2025-11-19 17:29:45 +01:00
2025-12-06 08:56:45 +01:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2026-05-17 10:25:50 +02:00
2026-01-08 15:16:54 +01:00
2025-11-19 17:29:45 +01:00
2025-10-04 11:42:56 +02:00
2025-11-26 07:08:10 +01:00
2025-11-26 07:08:10 +01:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-12-02 19:22:04 +01:00
2026-01-05 11:51:39 +01:00
2025-12-05 22:03:19 +01:00
2026-04-14 15:17:45 +02:00
2025-11-19 17:29:45 +01:00
2026-05-27 17:19:23 +02:00
2025-12-26 17:00:57 +01:00
2025-10-04 11:42:56 +02:00
2026-05-30 10:39:31 +02:00
2024-12-16 22:00:46 +01:00
2025-03-18 07:27:50 +08:00
2025-12-21 10:17:58 +01:00