AMD ROCm: как заставить INT8 работать быстрее FP8 в Krea2 через точечный Triton
Пользователь на AMD RX 9070 XT разогнал INT8-инференс модели Krea2 Turbo в 6–7 раз и на 17% обошёл FP8, выборочно включив Triton только для ConvRot операций вместо глобальной активации, которая крашит систему. Весь трюк — в обходе нестабильного ROCm-стека через локальный патч.
Показывает, как обойти нестабильность драйверов ROCm для AMD без потери производительности — важно для тех, кто работает с AI на не-NVIDIA железе и не хочет жертвовать скоростью ради стабильности.
Проблема
На AMD-видеокартах с драйверами ROCm запуск модели Krea2 Turbo в режиме INT8 ConvRot стабильно работал, но в 6–7 раз медленнее FP8: 65–80 секунд против 13. Глобальное включение библиотеки Triton (которая ускоряет вычисления) приводило к крашам из-за ошибок доступа к GPU-памяти.
Решение
Автор нашёл компромисс: выборочно активировал Triton только для критической операции int8_linear внутри ConvRot, оставив остальные пути на безопасном фолбеке. Патч перехватывает вызовы и направляет их в comfy_kitchen.backends.triton.quantization.int8_linear, минуя глобальные флаги.
Результаты
- INT8 ConvRot после патча: 10,5 с (против 65–80 с до)
- Сравнение с FP8: 10,5 с против 12,7 с — прирост 17–18%
- Первый прогон (warmup) занял 30 с, но последующие стабильно ~10,5 с
Детали
- Железо: AMD RX 9070 XT (gfx1201), 16 GB VRAM
- ПО: Arch Linux, ROCm 7.2, PyTorch 2.12.1+rocm7.2, ComfyUI 0.28.0
- Воркфлоу: портрет 1 MP, 8 шагов Euler, CFG=1
- Важно: без глобального
--enable-triton-backend— только локальный патч
Вывод
Локальный Triton для одной операции оказался стабильным там, где глобальный крашится. Автор открыл issue на GitHub с кодом и логами, и просит сообщество на AMD-картах (особенно gfx11xx/gfx12xx) проверить воспроизводимость.
Кавеаты: тест на одной конфигурации, использовалась помощь AI для подготовки отчёта.
Ключевые выводы
- INT8 ConvRot на AMD ROCm можно разогнать в 6–7 раз точечным включением Triton вместо глобального
- Выборочная активация Triton для одной операции оказалась стабильной, тогда как глобальная — крашит систему
- INT8 с патчем обогнал FP8 на 17–18% на RX 9070 XT
- Проблема ROCm-стабильности Triton частично решается хирургическим подходом к бэкендам
- Автор призывает сообщество gfx11xx/gfx12xx проверить метод на других AMD-картах
Автор: Анна Мельникова · Источник: reddit.com
**Классический случай «а давайте не включать всё разом».** Глобальный Triton на ROCm — как русская рулетка: может выстрелить, а может и вылететь с GPU fault. Автор нашёл золотую середину: включил ускорение только там, где оно реально критично (ConvRot INT8), и получил прирост почти на 20% к FP8 без крашей.
Но есть нюанс: это **один человек, одна карта, один воркфлоу**. Issue на GitHub открыт, логи приложены, но пока неясно, насколько метод универсален. Если у вас AMD gfx11xx/12xx и вы готовы пропатчить ComfyUI — попробуйте. Только сначала сделайте бэкап, потому что ROCm+Triton — это всё ещё дикий запад.
Комментарии