DeepSeek опубликовала версию библиотеки ядер DeepGEMM для Ascend для разработчиков, работающих с NPU Huawei серии 950. В README репозитория датой первого выпуска указано 30 сентября 2026 года; версия Python-пакета — 0.1.0. Библиотека дает командам открытую основу для умножения матриц и связанных с моделями операций на этом оборудовании. Опубликованные на данный момент показатели получены в собственных тестах DeepSeek.
Выпуск важен для инженеров, оценивающих программный стек Ascend: он открывает исходный код ядер и знакомые точки входа DeepGEMM, а также описывает сборку расширения. Производительность целых моделей и эксплуатационные расходы по-прежнему нужно проверять на целевой системе с предполагаемыми нагрузками.
Что входит в выпуск
DeepGEMM — библиотека матричных операций, часто используемых в моделях ИИ. В README для Ascend перечислены ядра GEMM для BF16, FP8 и FP4, групповые операции для моделей со смесью экспертов, логиты MQA, объединенная операция MegaMoE и ядро mHC prenorm. Экспорт Python-пакета показывает функции плотного и группового GEMM, функции MQA, средства преобразования раскладки коэффициентов масштабирования и параметры управления JIT-компиляцией и использованием AI core. Репозиторий распространяется по лицензии MIT.
По утверждению DeepSeek, порт для Ascend полностью совместим по API с основной версией DeepGEMM. То же deep_gemm имя пакета и большая часть публичного интерфейса могут упростить перенос кода. Однако README указывает на существенное отличие в расположении данных: Ascend упаковывает каждую пару коэффициентов масштабирования UE8M0 вдоль оси K в значение int16 и хранит упакованные значения в порядке MN-major. В пакете есть функции преобразования коэффициентов масштабирования в требуемую раскладку. Приложения с квантованными входными данными по-прежнему должны предоставлять подходящие данные и проверять собственные результаты. Совместимость заявляют сопровождающие проекта; BIG CHANGE не проводила тест переноса.
Что нужно разработчику для проверки
В документации указаны требования: NPU Ascend, CANN 9.20 с инструментами bisheng и ld.lld, torch_npu, Python 3.10 или новее, а также компилятор и стандартная библиотека с поддержкой C++20 <format>. Сопровождающие проекта сообщают, что разработка и проверка проходили на устройствах серии Ascend 950. tilelang указан как зависимость пакета для ядра HC prenorm; tree-sitter и tree-sitter-cpp нужны для создания заглушек типов при сборке из исходного кода. В README не указана torch_npu версия и не подтверждена проверка на других устройствах Ascend.
README рекомендует клонировать репозиторий вместе с подмодулями, собрать расширение C++ с помощью develop.sh или установить его из выгруженного исходного кода командой pip install . --no-build-isolation. Файл конфигурации сборки импортирует torch и torch_npu, находит инструментарий Ascend через ASCEND_HOME_PATH или ASCEND_TOOLKIT_HOME и связывает библиотеки Ascend и Torch NPU. Поэтому для оценки ядер необходимы соответствующее оборудование и цепочка инструментов. В репозитории есть тесты операций. BIG CHANGE изучила документацию и код, но не запускала сборку или ядра.
О чем говорят результаты тестов
DeepSeek сообщает об измерениях на Ascend 950DT с CANN 9.20 при использовании bench_msprof и холодном кэше L2. Для плотного умножения матриц BF16 с параметрами M=4096, N=7168 и K=16384 в таблице производительности указаны 2 229,9 микросекунды, 431 TFLOPS и 99,8% от предела оборудования, приведенного в таблице. Для той же формы при FP8×FP8 сообщается о 1 117,6 микросекунды и 861 TFLOPS. Это измерения ядер для указанных типов данных и размеров матриц, а не производительности модели. В таблице также приведены результаты для группового GEMM, MQA, MegaMoE и prenorm с отдельными конфигурациями; значения MegaMoE усреднены для восьми рангов, параллелизма экспертов 8, top-k маршрутизации 6 и одного общего эксперта.
В тестовом коде результаты GEMM сравниваются с созданными эталонными значениями; для поддерживаемых плотных случаев используется перекрестная проверка ACLNN. Для некоторых размеров и сценариев это дополнительное сравнение ACLNN явно пропускается. Опубликованные код и тесты позволяют проверить заявления, но BIG CHANGE независимо не воспроизводила показатели из README. В выпуске нет сопоставимого теста с другим стеком ускорителей, сравнения расходов или результата для сервиса с полным циклом обработки.
Главное изменение
DeepSeek опубликовала код ядер DeepGEMM для Ascend 950.
Разработчики могут изучить и собрать знакомые операции GEMM и связанные с моделями операции для этого оборудования. В выпуске указаны CANN 9.20 и особая для Ascend раскладка коэффициентов масштабирования.
Команды с Ascend 950 получили код ядер, который можно оценить на формах собственных моделей. DeepSeek сообщает о результатах, близких к пределу, в одном тесте на Ascend 950DT; BIG CHANGE не запускала эти ядра.
Производительность целых приложений, поддержка других устройств Ascend и эксплуатационные расходы еще предстоит установить.
Источники и дополнительная информация
- Репозиторий DeepGEMM Ascend и README: запись о выпуске от 30 сентября, требования, заявления об интерфейсе и таблицы тестов, подготовленные проектом. README — первичный источник от сопровождающих проекта, а не независимая проверка.
- Экспорт пакета и конфигурация сборки: версия, публичные функции Python, объявленные зависимости и связи сборки из исходного кода в первом коммите.
- Набор тестов GEMM: как репозиторий проверяет результаты и запускает профилировщик, включая условия пропуска сравнения ACLNN. Эти файлы независимо не воспроизводят опубликованные показатели.



