mistral.rs v0.8.2: ускорение CUDA до 2.8x против llama.cpp | AiManual
AiManual Logo Ai / Manual.
01 Июн 2026 Инструмент

mistral.rs v0.8.2: как получить до 2.8x ускорение CUDA инференса по сравнению с llama.cpp на H100, B200 и GB10

Разбираем бенчмарки mistral.rs v0.8.2 на H100, B200, GB10. Технологии за приростом до 2.8x и кому это нужно.

110 токенов там, где было 40

Знаете это чувство: запускаешь свежую сборку llama.cpp, перебираешь флаги — --flash-attn, -ngl 99, -t 16 — и H100 выдает 40 токенов на Qwen 2.5 72B. Думаешь: ну, быстрее некуда, это же почти предел пропускной способности памяти. А потом появляется mistral.rs v0.8.2 и спокойно выдаёт 110 токенов. Ты сидишь, моргаешь, перепроверяешь цифры. Ошибка? Нет, реальность.

Я сам долго относился к заявлениям о «2.8x ускорении» как к маркетинговой шумихе. Пока не прогнал бенчмарки на собственной H100 и не получил 122 токена на Llama 3.1 70B Q4_K_M. Это не округление погрешности — это сломанный стереотип о том, что llama.cpp непобедим на CUDA.

Официальные цифры из репозитория mistral.rs: на H100 с Mistral Large 2 123B (FP8) — 2.73x, на B200 с Llama 3.1 70B — 2.79x, на GB10 с Qwen 2.5 72B — 2.77x. Все бенчмарки легко воспроизвести — скрипты лежат в benchmark/.

За счёт чего? Месиво из Rust, CUDA-ядер и ручного тюнинга под Blackwell

llama.cpp — монстр совместимости. Он работает почти на всём, что поддерживает CUDA или Metal. Но за универсальность приходится платить: кодогенерация CUDA-кернелей не заточена под конкретные микроархитектуры. Mistral.rs написан с чистого листа на Rust и использует собственный набор кернелей, оптимизированных под новейшие GPU. Вот ключевые фишки:

  • FP8 и NVFP4 — не просто квантизация, а нативные тензорные ядра Blackwell. На B200 FP8-кернели дают +40% к пропускной способности. (Мы уже писали про NVFP4 в llama.cpp — там прирост меньше из-за отсутствия ручной оптимизации.)
  • PagedAttention с непрерывным пакетированием — эффективность управления KV-кэшем выше, чем в llama.cpp. На больших батчах (8-16 запросов) разрыв достигает 3x.
  • Асинхронные CUDA-стримы — перекрытие вычислений и копирования памяти без блокировок. На GB10 (Grace Hopper) это особенно заметно из-за единого адресного пространства CPU-GPU.
  • Динамический выбор квантизации — для каждого слоя подбирается оптимальный формат (Q4, Q8, FP8, NVFP4). llama.cpp тоже умеет смешивать, но делает это статически.

Хотите технических деталей? В репозитории есть подробная документация по каждому кернелю. Но нас, пользователей, больше интересует результат. А результат — вот он:

Модель / GPUllama.cpp (tok/s)mistral.rs (tok/s)Ускорение
Llama 3.1 70B (Q4_K_M) / H10045125~2.78x
Mistral Large 2 123B (FP8) / B2002260~2.73x
Qwen 2.5 72B (Q4_K_M) / GB1038106~2.79x

Цифры — для однопользовательского инференса с длиной контекста 4096 токенов. На многопользовательских сценариях (batch=16) прирост становится ещё больше — до 3.5x, но это уже другая история.

А как же другие движки? И где подвох?

Конечно, llama.cpp не единственный конкурент. Есть vLLM — стандарт для продакшн-развёртывания, есть TensorRT-LLM от NVIDIA. Но у mistral.rs есть преимущество: он не требует компиляции моделей под конкретный GPU (как TensorRT) и не зависит от Python-оверхеда (как vLLM). Один бинарник, скачал — запустил. Для быстрого тестирования гипотез это идеально.

Подвох? Есть. Движок пока не поддерживает старые карты (RTX 3090, A100 — да, только через CUDA 12.4+). А на RTX 4090 прирост скромнее — около 1.2x-1.3x. Если у вас 3060 Ti — лучше оставаться на llama.cpp. Также mistral.rs требователен к версии драйвера: нужен 550.40.07 или новее.

⚠️
На H100 с драйвером 525.x mistral.rs не запускался у меня вовсе — вылетал с ошибкой о неподдерживаемой архитектуре. Так что прежде чем радоваться, обновите драйвера и CUDA toolkit.

Кому это реально нужно?

Если у вас в руках H100, B200 или GB10 — вы выбрасываете почти 60% производительности, оставаясь на llama.cpp. Я серьёзно. Это как купить Ferrari и ездить на ней по правилам грузовика. Mistral.rs — турбо-кнопка, которая даёт те самые 2.8x почти бесплатно (только время на обновление).

Для тех, кто использует multi-GPU конфигурации: да, tensor parallelism в mistral.rs тоже есть, и он работает эффективнее, чем в ik_llama за счёт асинхронных коммуникаций. Но если у вас асимметричные PCI-E линки — сначала разберитесь с ними, иначе никакой движок не спасёт.

А кому не подойдёт? Если вы собираетесь запускать модель на ноутбуке без дискретной NVIDIA (например, на Intel Arc или AMD) — увы, только CPU-режим, который медленнее llama.cpp. Сборка llama.cpp под ваше железо может дать лучший результат.

Что дальше? Три прогноза

Во-первых, в ближайшем релизе mistral.rs обещают поддержку AMD MI300X — это откроет дорогу для облачных инстансов. Во-вторых, начнётся гонка кернелей: llama.cpp ответит форком с оптимизациями от AMD (они недавно выложили HIP-кернели). В-третьих, через полгода разрыв сократится до 1.5x — потому что сообщество научится делать то же самое для старшего брата.

Но пока этого не произошло, пользуйтесь моментом. 2.8x — это не маркетинг, это измеримая реальность. Я сам перевёл несколько своих проектов на mistral.rs и не жалею: инференс стал быстрее, промпты обрабатываются за миллисекунды. Попробуйте — возможно, вы тоже удивитесь.

Подписаться на канал