Ruben Ortlam
f6b533d898
Vulkan Flash Attention Coopmat1 Refactor ( #19075 )
...
* vulkan: use coopmat for flash attention p*v matrix multiplication
* fix P loading issue
* fix barrier position
* remove reduction that is no longer needed
* move max thread reduction into loop
* remove osh padding
* add bounds checks and padding
* remove unused code
* fix shmem sizes, loop duration and accesses
* don't overwrite Qf, add new shared psh buffer instead
* add missing bounds checks
* use subgroup reductions
* optimize
* move bounds check, reduce barriers
* support other Bc values and other subgroup sizes
* remove D_split
* replace Of register array with shared memory Ofsh array
* parallelize HSV across the rowgroups
* go back to Of in registers, not shmem
* vectorize sfsh
* don't store entire K tile in shmem
* fixes
* load large k tiles to shmem on Nvidia
* adapt shared memory host check function to shader changes
* remove Bc 32 case
* remove unused variable
* fix missing mask reduction tmspsh barrier
* fix mask bounds check
* fix rowmax f16 under/overflow to inf
* fix flash_attn_cm2 BLOCK_SIZE preprocessor directives
2026-01-28 18:52:45 +01:00
..
2025-10-04 11:42:56 +02:00
2025-11-15 12:00:29 +01: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-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
2025-06-27 22:35:30 -05: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-05 21:46:39 +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-11-19 16:50:43 +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-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
2025-10-29 14:39:03 +01:00
2026-01-07 11:13:17 +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
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
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
2025-12-13 10:07:49 +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
2026-01-28 18:52:45 +01:00
2026-01-28 18:52:45 +01:00
2026-01-28 18:52:45 +01:00
2026-01-21 17:43:43 +01:00
2026-01-21 17:43:43 +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-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-11-29 09:37:22 +01: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
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-12-21 10:32:58 +01:00
2025-10-04 11:42:56 +02:00
2025-10-04 11:42:56 +02:00
2025-11-17 14:37:49 -06:00
2024-12-03 20:29:54 +01:00
2026-01-21 16:22:02 +01:00
2025-11-29 09:37:22 +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
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-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-02 20:19:04 +01:00
2026-01-12 12:32:13 +01:00
2026-01-12 12:32:13 +01:00
2026-01-07 11:13:17 +01:00
2025-12-26 16:12:58 -06:00
2026-01-12 12:32:13 +01:00
2026-01-14 09:41:23 +01:00
2025-10-31 08:14:49 +01:00
2026-01-12 12:32:13 +01:00
2025-10-04 11:42:56 +02:00
2025-11-01 06:52:14 +01: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
2025-12-05 22:08:56 +01:00
2025-10-04 11:42:56 +02:00
2025-12-22 11:03:13 -06:00
2025-11-08 08:52:15 +01:00
2025-12-26 16:53:46 +01:00
2025-12-26 16:53:46 +01:00
2025-12-26 16:53:46 +01:00
2025-12-26 16:53:46 +01:00
2025-12-26 16:53:46 +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-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-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
2025-10-17 14:23:47 +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
2025-11-28 10:07:29 +01:00
2025-11-19 17:29:45 +01:00
2026-01-02 20:19:04 +01:00
2025-12-26 17:00:57 +01:00
2025-10-04 11:42:56 +02:00
2026-01-07 11:13:17 +01: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