DeepGEMM: мощная библиотека ядер для LLM теперь на Ascend
DeepSeek обновила DeepGEMM до единой библиотеки tensor core ядер для LLM: Mega MoE, FP8/FP4, 1550 TFLOPS на H800 и порт для Huawei Ascend.
Что произошло
DeepGEMM — это единая высокопроизводительная библиотека tensor core ядер от DeepSeek, объединяющая ключевые вычислительные примитивы современных LLM: GEMM в форматах FP8, FP4 и BF16, а также фьюзинг MoE. За полтора года открытого развития библиотека прошла путь от узкоспециализированного FP8-инструмента до полноценного вычислительного стека — и теперь 30 сентября 2026 года вышел порт DeepGEMM-Ascend с поддержкой устройств Ascend 950.
История обновлений
Проект развивается стремительно. Ниже — ключевые вехи:
timeline
title Хронология обновлений DeepGEMM
2025-02 : Первый публичный релиз (FP8 GEMM)
2025-05 : Ядра для backward-pass (dense и MoE)
2025-07 : Поддержка SM90 и SM100, рефакторинг JIT
2025-09 : MQA scoring для lightning indexer DeepSeek V3.2
2026-04 : Mega MoE, FP8×FP4 GEMM, FP4 Indexer, PDL
2026-09 : Sparse Indexer, Mega Gate, Mega mHC, DeepJIT
2026-09-30 : Релиз DeepGEMM-Ascend для Huawei Ascend 950
Ключевые возможности
Производительность
Несмотря на компактный дизайн, DeepGEMM достигает до 1550 TFLOPS на H800 и поддерживает архитектуры SM90 (Hopper) и SM100 (Blackwell). Для сравнения:
| Метрика | Значение |
|---|---|
| Пиковая производительность FP8 на H800 | 1550 TFLOPS |
| Объём ядра (core kernel) | ~300 строк CUDA |
| JIT-ускорение компиляции (NVRTC) | до 10× |
| Поддерживаемые архитектуры | SM90 (Hopper), SM100 (Blackwell) |
| Форматы точности | FP8, FP4, BF16 |
| Раскладки памяти SM100 | NT, TN, NN, TT |
«Производительность DeepGEMM сопоставима или превосходит результаты экспертно-настроенных библиотек для матриц различных размеров.» — документация DeepSeek
DeepJIT — компиляция без установки
Отличительная черта библиотеки — философия чистого дизайна: минимум зависимостей и работа через Just-In-Time компиляцию. Все ядра компилируются прямо во время выполнения через DeepJIT — никакой компиляции CUDA при установке не требуется.
# Установка через pip
./install.sh
# Использование в Python-проекте
import deep_gemm
Mega MoE — слияние и перекрытие операций
Mega MoE — это фьюзинг мегаядра, объединяющий expert-parallel dispatch, два линейных слоя в точности FP8×FP4 или FP8×FP8, активацию SwiGLU и операцию combine — в единое ядро, перекрывая связь через NVLink с вычислениями на tensor core.
# Выделение симметричного буфера памяти (требует PyTorch >= 2.9)
buffer = deep_gemm.get_symm_buffer_for_mega_moe(
group, num_experts, num_max_tokens_per_rank,
num_topk, hidden, intermediate_hidden,
mma_type='fp8xfp4',
)
# Запуск объединённого ядра
y = torch.empty((num_tokens, hidden), dtype=torch.bfloat16, device='cuda')
deep_gemm.fp8_fp4_mega_moe(y, transformed_l1, transformed_l2, buffer)
tests/test_mega_moe.py репозитория.Сентябрьское обновление 2026: Sparse Indexer и Mega mHC
В сентябре 2026 года вышло обновление с Sparse Indexer, Mega Gate, Mega mHC (multi-HyperConnection) и дополнительными оптимизациями движка компиляции DeepJIT и конвейера ядер MoE.
Обновление 30 сентября добавило локально-осведомлённый Mega MoE: опциональную локализацию весов и планирование с учётом доменов через helpers для локализованного выделения памяти и определения SM-локальности.
DeepGEMM-Ascend: выход за пределы NVIDIA
30 сентября 2026 года DeepSeek открыл исходный код полного программного стека для обучения своих моделей, адаптированного для чипов Huawei Ascend.
DeepGEMM-Ascend — это порт DeepGEMM на платформу Huawei Ascend. Он полностью совместим по API с оригинальным DeepGEMM и поддерживает BF16, FP8, FP4 GEMM, MQA logits и MegaMoE.
Тип используемого железа — NVIDIA GPU или Huawei NPU — определяется автоматически во время выполнения, а Python API остаётся единым.
| Компонент | Платформа NVIDIA | Платформа Ascend |
|---|---|---|
| DeepGEMM | SM90, SM100 | Ascend 950 |
| Форматы | FP8, FP4, BF16 | FP8, FP4, BF16 |
| MegaMoE | ✅ | ✅ |
| MQA logits | ✅ | ✅ |
| API | Python (deep_gemm) | Тот же Python API |
Контекст и значение для отрасли
Выпуск инструментов для Ascend атакует ключевое преимущество NVIDIA — экосистему CUDA. Если разработчики смогут эффективно работать на Ascend без зависимости от CUDA, это существенно изменит расстановку сил на рынке AI-ускорителей в Китае.
DeepSeek ещё в июне 2026 года успешно провёл пост-обучение модели DeepSeek-V4-Pro на чипах Huawei Ascend 910C, что усилило потребность в зрелом программном стеке для этой платформы.
Для сообщества разработчиков DeepGEMM важен и с образовательной точки зрения: библиотека заимствует ряд концепций из CUTLASS и CuTe, но избегает тяжёлой зависимости от их шаблонов, делая оптимизацию GPU-ядер доступной для изучения.
Требования для NVIDIA: GPU SM90 или SM100, Python 3.8+, CUDA Toolkit 12.9+, PyTorch 2.3+, CUTLASS 4.0+
Требования для Ascend: Huawei Ascend 950, CANN 9.20, torch_npu, Python 3.10+
git clone --recursive git@github.com:deepseek-ai/DeepGEMM.git
cd DeepGEMM && ./install.sh