flashinfer-ai/flashinfer

FlashInfer: Библиотека ядер для обслуживания LLM

Инференс⭐ 6 464Pythonпоследний релиз: v0.6.18.post1
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

FlashInfer — библиотека оптимизированных GPU-ядер для ускорения инференса LLM, обеспечивающая высокую производительность на различных архитектурах NVIDIA.

Зачем нужен

Инструмент решает задачу снижения задержек и увеличения пропускной способности при обслуживании больших языковых моделей. Он полезен тем, что автоматически выбирает оптимальные бэкенды (FlashAttention, cuDNN, TensorRT-LLM) и поддерживает сложные сценарии, такие как смешанное батчирование и квантование, что критично для production-развертывания.

Что можно реализовать

  • Ускорение фазы декодирования (decode) и префиллинга (prefill) в LLM-сервисах
  • Обслуживание моделей с динамическим батчингом через Paged и Ragged KV-Cache
  • Запуск моделей с архитектурой MoE (Mixture of Experts), включая специфичные маршрутизации DeepSeek-V3
  • Использование квантования FP8 и FP4 для экономии памяти и ускорения вычислений на новых GPU
  • Интеграция с vLLM или другими фреймворками через torch.compile и CUDAGraph для low-latency serving

Ключевые возможности

  • Поддержка широкого спектра GPU: от Turing (SM 7.5) до Blackwell (SM 12.0)
  • Нативная поддержка MLA (Multi-Latent Attention) для моделей DeepSeek
  • Оптимизированные ядра для GEMM с поддержкой BF16, FP8 и NVFP4/MXFP4
  • Sorting-free sampling для эффективного выбора токенов без сортировки
  • Автоматический выбор лучшего бэкенда под конкретное железо и нагрузку

👤 Кому подойдёт: ML-инженеры, разработчики LLM-сервисов и исследователи, занимающиеся оптимизацией инференса на GPU NVIDIA

Релизы

v0.6.18.post1patch
🕐 16 дн назад · релиз на GitHub ↗

Выпуск v0.6.18.post1 — корректирующая версия для FlashInfer без новых функций.

  • Релиз v0.6.18.post1 является корректирующей версией, следующей за v0.6.18.
v0.6.18minor
🕐 23 дн назад · релиз на GitHub ↗

Релиз v0.6.18: оптимизации для B200/SM100, поддержка NVFP4/MxInt4 в MoE, фиксы FA2 и улучшенная документация.

  • Added: Добавлены оптимизированные бэкенды recurrent prefill/decode для B200 и поддержка SM100 family.
  • Added: В unified MoE API добавлена поддержка MxInt4, NVFP4 и BF16 routing, а также LoRA delta для nvfp4/mxfp4.
  • Fixed: Исправлен баг в FA2 kernels: пропущен LogitsTransform за пределами split-KV chunk.
  • Added: Добавлен fused Kimi K3 decode kernel и оптимизированный B200 recurrent prefill backend.
  • Fixed: Исправлена работа quantizer для NVFP4 (64-bit row addressing) и сохранены веса routing для DeepSeek.
v0.6.18rc10patch
🕐 24 дн назад · релиз на GitHub ↗

Исправления для архитектуры Blackwell (SM107/Rubin), оптимизация сборки MoE и отключение низколатентных GEMM.

  • Fixed: Исправлены проблемы совместимости и CI-падения для архитектуры Blackwell (SM107/Rubin).
  • Fixed: Отключены низколатентные GEMM cubins для SM107 на архитектуре Blackwell.
  • Fixed: Восстановлено время JIT-сборки MoE за счёт фильтрации манифеста ядра trtllm-gen по архитектуре.
v0.6.17minor
🕐 1 мес назад · релиз на GitHub ↗

Релиз v0.6.17: поддержка FP4/FP8 MoE, оптимизация для SM100/SM120, интеграция MegaMoE и улучшение MLA.

  • Added: Добавлена поддержка упакованного pre-routed FP4 и унифицированных API для MXFP4 W4A8/W4A16 в MoE.
  • Added: Реализована интеграция фреймворка MegaMoE с поддержкой CUDA Graph, fused quant+stage и кэширования.
  • Added: Оптимизирована производительность GDN на SM100 и добавлена поддержка fused MoE (SwiGLU) для SM120.
  • Added: Расширена поддержка MLA: добавлена упаковка low-head и переменное Q для decode, а также sparse MLA decode.
  • Fixed: Исправлены ошибки в маршрутизации MoE, порядке загрузки PDL и тестировании GEMM для MXFP8.
v0.6.16.post3patch
🕐 1 мес назад · релиз на GitHub ↗

В версии 0.6.16.post3 отменён бэкенд MoE для SM90 CUTLASS, ранее добавленный в #3738.

  • Fixed: Откат изменений #3738, связанных с бэкендом MoE для архитектуры SM90 на базе CUTLASS.
  • Fixed: Удаление зависимых изменений #4025 и #4080, внесённых в ветку release-v0.6.16.
v0.6.16.post2patch
🕐 1 мес назад · релиз на GitHub ↗

Выпущен релиз FlashInfer v0.6.16.post2 с исправлением совместимости ABI для зависимости tvm-ffi.

  • Fixed: Исправлена проблема совместимости ABI в зависимости tvm-ffi (обновлено до версии v0.1.13-post2).
  • Релиз рекомендуется к установке для обеспечения стабильной работы.
v0.6.16.post1patch
🕐 1 мес назад · релиз на GitHub ↗

Выпуск FlashInfer 0.6.16.post1 содержит хотфикс TVM-FFI v0.1.13-post0 для исправления проблем с ABI-совместимостью.

  • Fixed: Применён хотфикс TVM-FFI v0.1.13-post0, устраняющий проблемы с ABI-совместимостью.
v0.6.17rc1minor
🕐 1 мес назад · релиз на GitHub ↗

Релиз v0.6.17rc1: поддержка FP8/FP4 MoE, оптимизации для SM100/SM120/SM121, интеграция MegaMoE и улучшение MLA.

  • Added: Добавлена поддержка пер-тензорного FP8 fused-MoE, унифицированного FP4 режима и API для MXFP4 W4A8/W4A16 в TRT-LLM.
  • Added: Реализована интеграция фреймворка MegaMoE с поддержкой CUDA Graph, а также fused MoE (SwiGLU) для SM120.
  • Added: Улучшена производительность GDN на SM100, добавлена поддержка WY decode на SM121 и оптимизация роутинга для high-expert нагрузок.
  • Added: Расширены возможности MLA: поддержка packed low-head и variable-Q decode, а также sparse MLA decode в trtllm-gen.
  • Fixed: Исправлены ошибки в нормализации (cast float2 to e4m3), роутинге MoE, тестах GEMM и стабильности тестов XQA.
v0.6.14majorbreaking
🕐 2 мес назад · релиз на GitHub ↗

Поддержка Blackwell RTX PRO/DGX Spark, переписанные GDN-ядра для Qwen3.5/3.6 и готовность к продакшену в vLLM.

  • Breaking: Изменены инструкции установки: теперь требуются отдельные пакеты flashinfer-cubin и flashinfer-jit-cache с указанием index-url.
  • Added: Добавлена поддержка Blackwell RTX PRO и DGX Spark: оптимизированы Gemma 4 (W4A16, head_dim=512), FMHAv2 и MoE.
  • Added: Ядра GDN (Qwen3.5/3.6) переписаны на CuTe-DSL, что устранило проблемы с JIT-компиляцией и ускорило префил на 20–25%.
  • Added: GDN-ядра стали production-ready в vLLM: устранены проблемы с batch-size и добавлена поддержка spec-decode через MTP.
  • Added: Реализована разреженная MLA для DeepSeek-V4/V3.2 на Blackwell и нативный FP8 KV-cache для Hopper, экономящий пропускную способность HBM.
v0.6.13minor
🕐 2 мес назад · релиз на GitHub ↗

Релиз v0.6.13: поддержка Blackwell (NVFP4, GQA), оптимизация MoE, ускорение FP8 и исправления автонастройки.

  • Added: Интеграция cute-dsl для Blackwell: GQA decode, NVFP4 квантование (включая 4over6 FP16 scoring) и оптимизация SM100.
  • Added: Новые ядра MoE: BGMV для multi-LoRA, активация SWIGLUSTEP и запись routing_replay_out из кастомных ядра маршрутизации.
  • Added: Ускорение prefill для FP8 KV-cache (FA2) за счет переупаковки K/V в BF16 в разделяемой памяти.
  • Added: Добавлены ядра KDA decode с per-K gating, поддержка LSE буферов в TRTLLM API и MNNVL Allreduce quant fusion.
  • Fixed: Исправлены race condition в SSU (mamba), ошибки адресной арифметики для больших тензоров и молчаливая порча scale-факторов nvfp4.
  • Fixed: Устранены проблемы с автонастройкой: различение кэша по параметрам, bypass для быстрого warmup и фикс silent no-op для cuBLAS/cuDNN bmm_fp8.