Ядра attention на домашней RTX 5080.
Attention — самый дорогой шаг в моделях для видео и картинок. Вот как быстро на одной обычной видеокарте работают ядра, которые люди реально ставят, и чем они платят за скорость в точности.
Тестовая машина
| Видеокарта | NVIDIA GeForce RTX 5080, 16 ГБ (Blackwell, sm_120) |
|---|---|
| Драйвер / CUDA | 617.14 / CUDA 13.2 |
| PyTorch | 2.14.0+cu132 |
| SageAttention | 2.2.0 · SageAttention3 1.0.0 (собран из исходников под Windows, sm_120a) |
| ComfyUI | 0.42.0 |
| ОС | Windows 11 |
| Дата замера | 29 октября 2026 |
1 · Только ядро
Один вызов attention того размера, что использует Wan 2.2 14B для видео 81 кадр 832×480: 1 × 40 голов × 32 760 токенов × 128, bf16.
Один прогрев, затем среднее из пяти; на видеокарте только простаивающий ComfyUI и достаточно свободной памяти (см. примечание ниже).
| Ядро | Время | Ускорение | Ошибка к FP32 |
|---|---|---|---|
| PyTorch SDPA | 511 мс | 1,0× | 0 % |
| SageAttention 2 INT8 QK · FP8 PV | 76 мс | 6,7× | 3,9 % |
| SageAttention 3 FP4 с поблочным масштабом | 56 мс | 9,2× | 19 % |
- Ошибка — относительное отличие результата от эталона в FP32, измеренное на случайных данных, то есть в худшем случае для ядер пониженной точности. На реальных активациях модели обычно лучше; честная проверка — тест с видео ниже.
- Само FP4-ядро SageAttention 3 заняло 42 мс (≈ 520 TOPS); оставшиеся ~14 мс — его предварительная подготовка данных.
- SDPA в этой сборке PyTorch не использовал быстрый flash-путь, поэтому на других конфигурациях он может быть быстрее.
- Когда ComfyUI держал ~9 ГБ, первый прогон переполнил видеопамять, и SageAttention 3 показался в 15 раз медленнее: Windows тихо выгрузила часть данных в оперативную память. Мерить нужно только с запасом памяти.
2 · Настоящее видео
Wan 2.2 image-to-video 14B (NVFP4, lightx2v 4 шага), 81 кадр 1104×752, RIFE ×2. Та же картинка, промпт и seed — меняется только ядро attention.
| Ядро | Всё видео | Что увидели |
|---|---|---|
| SageAttention 2 | 146 с | в последних кадрах на объекте появилась лишняя деталь |
| SageAttention 3 | 151 с | чисто |
- При всего 4 шагах attention — малая часть общего времени, поэтому ядро, которое на 27 % быстрее, почти не сдвигает время всего видео: разница в пределах разброса между прогонами.
- Один seed — это случай, а не вывод: артефакт ничего не говорит о SageAttention 2 в целом. Дальше — больше seed и больше шагов.
Повторить у себя Скоро
Скрипт замера будет опубликован на GitHub, чтобы любой мог прогнать тот же тест на своей карте и сравнить.
Планы · Rigsy Kernel В планах
Собственное ядро attention, написанное под одну эту карту, — без компромиссов универсальных библиотек:
- позиционное кодирование RoPE (с масштабированием NTK / YaRN) прямо внутри ядра, а не отдельным проходом;
- смешанная точность по слоям и шагам денойзинга — FP4/FP8 там, где это не видно, FP16 там, где видно;
- размеры тайлов и запуск, подогнанные под 84 SM и 64 МБ L2-кэша RTX 5080;
- сначала проверки точности, потом скорость — и каждый результат публикуется на этой странице, и удачи, и неудачи.
Статус: исследование. Сроков не обещаем.