Еженедельный отчёт FlagOS (2026-11-02 ~ 2026-11-06)
Отчётный период: с 2 ноября 2026 года (понедельник) по 6 ноября (пятница), всего 5 рабочих дней.
Источники материалов: 5 выпусков ежедневного отчёта о динамике FlagOS (11-02 / 11-03 / 11-04 / 11-05 / 11-06, пропусков в периоде нет). Выпуск 11-02 является утренним отчётом понедельника, окно мониторинга отсчитывается от контрольной точки предыдущего выпуска 10-30 06:00 и составляет 72 часа, охватывая выходные 10-31 и 11-01; четыре выпуска с 11-03 по 11-06 имеют 24-часовые окна, стыкующиеся друг с другом, последнее окно — с 11-05 06:00 по 11-06 06:00. Таким образом, фактический интервал отчёта — с 10-30 по 11-05, часть с 10-30 по 11-01 помечена исходными датами.
Пояснение к составлению: материал организован по шести измерениям: главные новости недели, версии и релизы, совместная разработка компонентов и кода, адаптация членов и производителей, экосистема и сообщество, обзор тенденций. По сумме пяти ежедневных отчётов в рамках их окон — 1117 коммитов, 715 влитых; если брать только четыре полных 24-часовых окна (11-03 — 11-06), то 861 коммит и 600 влитых. Число репозиториев с пушами по отдельным выпускам составило 17, 16, 24, 26, 21, общее число организационных репозиториев — 61. Версии и теги независимо перепроверены по тегам и Release-объектам репозиториев компонентов как атомарным источникам; за период новых объектов Release нет.
1. Главные новости недели
-
Образный слой 2.3.0 за неделю разросся с четырёх слоёв до шести: все 23 base и 23 runtime помечены 2.3.0, а в списке релиза по-прежнему только график (10-31 ~ 11-05): новое покрытие включает base и runtime для Hygon DTK 26.10, runtime AMD ROCm 7.2.4 и сборочную линейку FlagTree amd, base для Ascend CANN 9.2.1 (только 910B, python 3.12, torch 2.13, triton_ascend 3.6.0, с намеренно пустыми FlagTree и FlagCX), NVIDIA cuda13.3 (torch 2.13.0+cu130, triton 3.7.1, при этом cuda12.8 переведён в enabled false и заморожен). В каталоге release/2.3 репозитория community только графики на китайском и английском, release-2.3.yaml по-прежнему отдаёт 404; атомарная проверка Release в 31 репозитории и Tag в 8 репозиториях за всю неделю не выявила ни одного нового добавления. Согласно графику, 11-13 — дедлайн влития FEP, 11-30 — заморозка функций и создание rc0, 12-07 — создание rc1, 12-14 — создание rc2, 12-25 — закрытие, 12-30 — GA.
-
vLLM 0.28.0 за один день был одновременно закрыт четырьмя бэкендами, а на следующий день repack разложен по индексам 11 производителей (11-03 ~ 11-04): Tsingmicro TXDA реализует только eager и намеренно отказывается от графического режима (#642, +3067 строк, −146 строк, 29 файлов); MetaX C550 при отсутствии соответствующей ветки в upstream делает «пустую» адаптацию «0.28-empty» (#554, +2838 строк, −70 строк, 36 файлов); Moore Threads MUSA за один раз приносит нативный MCCL и сегментированный нативный граф (#575, +7804 строк, −233 строки, 46 файлов); Ascend делает специализированный граф декодирования FULL_DECODE_ONLY (#646, +3342 строки, −340 строк, 39 файлов). В сумме четыре коммита дают +17051 строку, −789 строк, 150 файлов. Выпуск build-infra #1635 от 11-04 вписывает vLLM 0.28.0+flagos в индексы 11 производителей (AMD, Ascend, Cambricon, Enflame, Hygon, Iluvatar CoreX, Kunlunxin, MetaX, NVIDIA, Xiwang, Tsingmicro), для aarch64 предоставляются cp311 и cp312, для x86_64 — cp310 и cp312.
-
Cambricon MLU входит в Torch-FL как нативная платформа; на следующий день добавлены прямой и обратный проходы fused attention, а число откатов на CPU на шаге обучения Qwen3 сведено с 190 до нуля (11-04 ~ 11-05): #720, +4870 строк, −64 строки, 40 файлов, вписывает cambricon в flagos_platforms.json, добавляет слой среды выполнения libcnrt, шим torch.mlu, backends_cambricon.conf, конфигурацию CI и платформенный контракт; всё это работает на стоковом torch 2.10.0+cpu, без torch_mlu, без FlagTree, без CUDA runtime, и прошло сквозную проверку на восьмикарточной MLU590-M9. На следующий день #748 и #749 подключают прямой и обратный проходы fused attention CNNL обратно к покрытию SDPA и оборачивают их в C++ autograd Function; #757 проводит ревизию откатов на полном шаге обучения причинной языковой модели Qwen3: из 190 вызовов cpu_fallback 188 приходятся на aten::mul.out и 2 — на aten::embedding_dense_backward; после перевода исполнения на MLU через CNNL этот шаг сообщает о нуле откатов. В тот же день #724 снимает CI lane для cambricon с обоснованием, что его нечем обслуживать — нет runner.
-
Damо Academy XuanTie за один день пакетно включила 13 специализированных операторов и одновременно подняла модель затрат ZW810E до 1.1.0 (11-02): FlagGems с 16:03 по 16:46 за 43 минуты принял 13 коммитов, все помечены производственной линией KernelGen XuanTie, охватывающие полиномы Чебышёва, igamma, трёхмерную свёртку и транспонированную свёртку, квантованную LSTM, обратное слияние RMSNorm, матричные нормы, обратный трёхмерный адаптивный пулинг, апсемплинг Ланцоша и другие длиннохвостовые позиции, что составило 23,6% от 55 принятых коммитов FlagGems за день. FlagTree #1236 поднял пакет моделей затрат MM/MV для ZW810E до 1.1.0, включающий 8 вариантов BF16 mm и 2 модели mul, а также позволил контракту тюнинга принимать упорядоченный список configs. 11-05 FlagAttention #127 дополнительно открыл заявку на оптимизацию Wall Attention для PPU-ZW810E.
-
Квантовый стек превратил «аппаратную приёмку + учёт ресурсов» в воспроизводимые доказательства: нативный provider Ascend 910C прошёл 167 пунктов, за неделю линия синтеза продвинулась до UP-06 (10-31 ~ 11-05): FlagQuantum #958 перевёл 910C с экспериментального split-FP32 на путь операторов нативного provider, в тексте PR зафиксировано 167 passed in 115.41s (142 схемы, случаи шума, TEBD и QEC, плюс 25 нативных кинетических случаев, включая два воспроизведения плана холодного процесса), регрессия на стороне CPU — 1332 passed; #970 добавил fail-closed нативный регрессионный lane на предустановленном ARM64 runner. Линия синтеза за неделю продвинулась с UP-01 (передний план Python qfunc), AO-00/01/02 (арифметическая база, нормализация, защищённая арифметика), PF-00/01 (задержка компиляции и учёт RSS) до UP-04/05/06 (приготовление ограниченного однородного состояния, скалярное когерентное управление, вентиль U и массивный Hadamard). Интеграционный коммит отказоустойчивой компиляции #1084 от 11-05 уже открыт как черновик: 276 файлов, добавлено 31011 строк.
-
FlagGems свёл кросс-бэкендовую оценку к «единой линейке» и на той же неделе завершил версионирование ключей бэкендов (11-03 / 11-05): 11-03 в 16:41 и 16:42 в течение двух минут принято 23 коммита, из которых 21 отправлен одним автором, переводящий чтение эталонных значений H800 для четырёх категорий операторов — внимание и пулинг, редукции и линейная алгебра, поточечные, разреженные и тензорные раскладки — из разрозненных reader в единый JSON; ранее источники эталонных значений, единицы и соглашения об округлении были разбросаны по коду, и кросс-бэкендовые оценки не имели общей базы. #8446 от 11-05 заменил семь голых имён производителей в backends.yaml на версионные ключи, согласованные с pyproject.toml (hygon-dtk2604, iluvatar-corex450, kunlunxin-xre5371, spacemit-xxx, sunrise-tangrt120, thead-ppu210, tsingmicro-tsm260610), исправив проблему, когда
uv pip install ".[tsingmicro]"молча не находил extra, из-за чего не устанавливались ни torch, ни FlagTree. -
Управление сообществом: семь FEP ушли на ревью в течение часа, мультибэкендовые возможности 2.3 оформлены как приёмочные пункты (11-05): с 08:29 по 09:31 всего семь однофайловых FEP, статус у всех — Provisional Draft, отправитель один. Список: FEP-0163 FlagMega v0.1, FEP-0164 распределённое слияние и автотюнинг TLE, FEP-0165 TLE Raw с пятью бэкендами, FEP-0166 оптимизация FLIR для Ascend и GPGPU, FEP-0167 двадцать пар оператор—устройство, FEP-0168 мультиплатформенность FlagTree и совместимость с Triton API, FEP-0170 FlagPrism v0.2. Наиболее содержательный FEP-0163 даёт отображение пяти целей на приёмочные доказательства, включая пропускную способность декодирования GLM5.3 Flash на четырёхкарточном H800 выше vLLM более чем на 5%, при этом явно указано, что CoreX 5.0, матрица релиза и воспроизведение checkpoint ещё не завершены. Во всех семи текстах указано «GPU или приёмка модели не запускались», что разделяет заявление об объёме и заявление о завершении.
-
Промышленная сторона: кейсы FlagOS 2.2 начинают давать измеримую выгоду, повествование о периферии восполнено на той же неделе (11-05): две статьи в колонке CSDN. Оператор многоканального остатка mHC модели China Telecom Xing4.0-29B-A4B на Ascend 910C снизил замедление кластера с 25% до 12%, адаптация уже включена в MindFormers; после переписывания 12 длинносеквентных операторов для агентных сценариев задержка первого токена снизилась на 19,87%; SoftStone (iSoftStone) сжал 17,79 мс на токен для GLM-5.2 на четырёх 910C до 16,13 мс — ниже порога допуска. Сводные показатели 2.2: девять основных библиотек операторов — 1454 оператора, FlagTree охватывает 20 бэкендов производителей, общая производительность 10 чипов выросла на 27,6%, Day0-адаптация 12 чипов, 107 участников сообщества, 460 тысяч загрузок за квартал (в 4,76 раза больше прошлого квартала). На специальной сессии по периферии приведена статистика адаптации 21 производителя и 35 чипов; на чистом ARM CPU MiniCPM и Qwen показали прирост 21%–25%.
2. Обновления версий и релизов
2.3.0: для всех шести слоёв образов добавлен changelog, в релизном манифесте по-прежнему только расписание
| Слой образа | Время внедрения | Ключевое содержимое |
|---|---|---|
| base и runtime: hygon-dtk26.10 | 31.10 ~ 04.11 | В базовый образ установлен Open MPI с поддержкой ROCm, в runtime добавлена сборка flagcx 0.14.1 под Hygon DTK 26.10, python 3.12 с замыканием torch для DTK 26.10; после обновления вендорного triton до 3.7.0+dtk2610 активен только драйвер hcu, исправлена проблема отката serve к V1 model runner |
| runtime: amd-rocm7.2.4 | 31.10 ~ 02.11 | Зафиксирован flagcx, добавлен amdsmi, удалены недействительные переменные окружения видимости устройств, замыкание torch выровнено по vLLM 0.32; дополнительно создана сборочная линия упаковки FlagTree amd для трассировки и сверки A/B |
| base: ascend-cann9.2.1 | 03.11 ~ 04.11 | Только 910B, python 3.12, torch 2.13, triton_ascend 3.6.0; из-за отсутствия привязки версии CANN 9.2.x FlagTree и FlagCX намеренно оставлены пустыми; при первой сборке отсутствовали метки OCI provenance, 04.11 метки добавлены и образ переотправлен |
| base и runtime: nvidia-cuda13.3 | 05.11 | torch 2.13.0+cu130, torchvision 0.28.0+cu130, triton 3.7.1; torchaudio 2.11.0 и FlagTree 0.7.0 развязаны с torch; cuda12.8 заморожен, так как torch 2.13 больше не выпускает wheel cu128 |
-
Покрытие: по состоянию на 05.11 в changelog всех 23 образов base и 23 образов runtime внесена версия 2.3.0, охватывающая 23 линейки инструментов 12 вендоров, включая AMD ROCm 7.2.4, Ascend CANN 8.5.0 и 9.0.0 (включая вариант 910C) и 9.2.1, Cambricon neuware 4.4.3 и 4.7.2, Enflame tops 1.9.10 и 1.10.6, Hygon DTK 26.04 и 26.10, Iluvatar CoreX corex 4.4.0 и 4.5.0, Kunlunxin XRE 5.37.1, MetaX MACA 3.7.2.1 и 3.8.1.3, Moore Threads MUSA 4.3.6 и 5.2.0, NVIDIA CUDA 12.8 и 13.3, Xiwang 1.2.0, Tsingmicro tsm260610.
-
Почему в base для Ascend используется python 3.12: в тексте PR указаны два жёстких ограничения — wheel-пакеты torch 2.13, torch-npu 2.13, torchvision 0.28, torchaudio 2.11 на flagos-pypi-ascend доступны только для cp312; set_env.sh из CANN добавляет собственное дерево python в PYTHONPATH, поэтому интерпретатор base должен полностью совпадать с venv runtime, иначе при импорте возникнет конфликт версий. Дополнительно numpy зафиксирован на версии 1.26.4.
-
Почему base намеренно поставляется без FlagTree: для 9.2.1 нет ни соответствующей привязки версии flagtree, ни соответствующего wheel flagcx, поэтому в этом слое flagtree, flagcx и зависимости оставлены пустыми, а порядок сборки изменён на: base, runtime без FlagTree, FlagTree builder, FlagTree wheel, обновление runtime; при отсутствии flagtree компилятор откатывается к triton.
-
Механизм вывода из эксплуатации: заморозка cuda12.8 — это не удаление: в configs.yaml добавлено поле enabled со значением false, спецификации, образы и документация полностью сохранены, образ остаётся на плоском теге последней сборки; скрипт backend_enabled.py становится единственным парсером, его совместно используют generate_matrix.py, два отчёта о состоянии и реестры flagcx и vllm-plugin, благодаря чему замороженное состояние не попадает ни в одну матрицу сборки.
-
Состояние релиза: в каталоге release/2.3 сообщества community сейчас есть только график выпуска, файл манифеста по плану будет сгенерирован при заморозке функций 30.11. Согласно графику 2.3, приём FEP завершается 13.11, заморозка функций 30.11 с выпуском rc0, rc1 — 07.12, rc2 — 14.12, финальная заморозка 25.12, GA 30.12. То, что образы опережают манифест, соответствует запланированному темпу, 13.11 — это жёсткая граница объёма данной версии.
Теги и релизный манифест на этой неделе: ноль новых, FlagCX v0.14.1 по-прежнему только с тегом
-
Нулевой прирост: в пяти ежедневных отчётах проведена ежедневная проверка 31 репозитория по атомарным источникам Release и 8 репозиториев по атомарным источникам Tag — за всю неделю не появилось ни одного нового объекта Release. Единственное обновление с временной меткой — тег FlagCX v0.14.1 (обновлён 11-01 00:10), при этом последней официальной версией в GitHub Releases остаётся v0.14.0, выпущенная 2026-09-28, в описании которой указано соответствие FlagOS 2.2.
-
Линии версий компонентов не сдвинулись: официальная линия FlagGems по-прежнему 5.4.0, у 5.5.0.dev0 с момента открытия линии 10-12 новых тегов нет; FlagQuantum использует v0.3.1 как базовую версию квантового стека; FlagScale, FlagBLAS, FlagDNN, FlagFFT, FlagTensor, FlagAttention, vllm-plugin-FL, sglang-plugin-FL и другие остаются на той же партии от 09-28.
-
Оценка: это типичный промежуток между выпуском 2.2 и GA версии 2.3 12-30 — внешние версии молчат, линии артефактов и сборки активны. По сравнению с прошлой неделей единственное изменение — охват зеркального слоя расширился с четырёх уровней до шести, при этом два шага — теги и манифесты — по-прежнему отсутствуют.
Плагин vLLM: четыре бэкенда 0.28 закрыты в один день, repack развёрнут на 11 индексов
-
Четыре стратегии реализации: для одной и той же upstream-версии четыре бэкенда выбирают путь по собственным условиям. Tsingmicro удалил реализацию захвата и разбиения графа TXDA, на этапе конфигурации напрямую отклоняет конфигурацию графа и компиляции с подсказкой –enforce-eager, аргументируя это тем, что сегментированный исходный граф при TP8 уже прошёл проверку на двух моделях, но корректность Dense TP1 так и не решена; MetaX оставил все изменения внутри vllm_fl и CI-скриптов, используя в качестве шлюза определение по имени вендора или времени выполнения, рецензенты явно отклонили вариант с записью .pth-хука запуска в site-packages; Moore Threads привнёс сразу нативные MCCL, компиляцию FX/eager и сегментированный нативный граф, обработка графа собрана в единый graph.py; Ascend реализует только граф декодирования FULL_DECODE_ONLY, prefill, визуальное кодирование и сэмплирование остаются вне графа.
-
Механизм repack: build-infra в этом раунде официально запустил механизм «шаг выпуска пишет каталог, человек пишет только текст», заменив прежнее ручное изменение поля pypi_index; одно исправление граничного случая разделяет vendor по первому дефису, чтобы избежать обрезки имени платформы, когда строка версии содержит одновременно сегмент + платформы и сегмент -. В тот же день для FlagGems-vllm добавлена ежедневная линия wheel, контейнеры сборки и загрузки передают прокси, контейнеру verify для Ascend добавлено 1 GB /dev/shm.
-
Параллельная линия 0.32: одновременно с закрытием 0.28 в очереди рецензирования продвигаются пять адаптаций 0.32 — Enflame S60 (#675), Iluvatar CoreX (#674), AMD ROCm gfx1100 (#659), MetaX C550 (#693), унификация исполнения FL и адаптация Enflame (#667). Параллельная работа поддерживаемой и целевой линий стала нормой, вендорам приходится поддерживать два набора сред валидации.
-
Механизм синхронизации: forward-sync из 0.4.0-dev в 0.5.0-dev на этой неделе включил четыре коммита (#676, #678, #688, #689), способ сменился с слияния всей ветки на воспроизведение по рецензионным инкрементам с сохранением исходных коммитов, конфликты публикуются в виде черновика PR; 11-05 ещё одна прямая синхронизация выполнена через #698.
Управление сообществом: семь FEP и заявление об объёме 2.3
-
Список и назначение: FEP-0163 FlagMega v0.1 нацелен на компиляцию моделей, интеграцию с vLLM и многокарточное декодирование; FEP-0164 — на распределённое слияние и автотюнинг TLE; FEP-0165 позволяет TLE Raw охватить пять бэкендов ускорителей; FEP-0166 — оптимизация FLIR для Ascend и GPGPU; FEP-0167 сосредоточен на компиляторной оптимизации двадцати пар оператор—устройство; FEP-0168 — многоплатформенная поддержка FlagTree и совместимость с Triton API; FEP-0170 — многобэкендная отладка и профилирование FlagPrism v0.2.
-
Общая формулировка: во всех семи текстах указано «приёмка на GPU или моделях не проводилась», заявление об объёме отделено от заявления о завершении; в репозитории community в окне мониторинга было отправлено ещё четыре ветки codex/fep23-*, что показывает: черновики FEP и подготовка веток — один конвейер. Эта партия заявок появилась за восемь дней до дедлайна включения FEP, ровно в окне дополнения объёма.
3. Совместная разработка компонентов и кода
FlagGems: пять партий за неделю, переход от покрытия к сопоставимости и бэкенд-специфичным реализациям
-
Масштаб: в окне пяти ежедневных отчётов включено соответственно 55, 76, 35, 33, 33 коммита, всего 232 — это репозиторий с наибольшим объёмом включений во всей организации. 76 коммитов 11-03 — пик недели, 42,9% от 177 включений всей организации за день.
-
Партия XuanTie: 13 коммитов 11-02 сосредоточены на длиннохвостых позициях, включая полиномы Чебышёва, igamma, трёхмерную свёртку и транспонированную свёртку, квантованный LSTM, обратное слияние RMSNorm, матричные нормы, обратный трёхмерный адаптивный пулинг и апсемплинг Lanczos. Эти операторы ранее имели низкую отдачу от универсальной реализации Triton, после специализации могут сразу войти в диспетчеризацию по умолчанию; на данный момент записей об интеграции с путём инференса FlagGems-vllm нет.
-
Контракты и тюнинг Kunlunxin: 11-02 #8038 исправил тихую ошибку — быстрый путь скалярных out-of-place перегрузок серии foreach сравнивал только число элементов, но не форму; списки с разными формами, но одинаковым числом элементов наследовали форму первого тензора. Исправление определяет допуск по полной форме; ещё два коммита перевели шестнадцать скалярных выходов на единую базовую адресацию, а списочные выходы объединили в плоский буфер. На той же стороне #8034 перед отправкой JIT сначала вычисляет сетку автотюнинга, #7976 перешёл к взятию слота из program_id(0); на стороне производительности более десяти коммитов покрывают поэлементный быстрый путь, обратную фузию pool3d, разложение Чебышёва, блочный Jacobi и единую формулу linspace. #8123 отозвал оптимизацию поэлементных BF16, #8245 переделал её другим решением — отзыв и замена показывают, что этот путь всё ещё в стадии проб и ошибок.
-
Iluvatar CoreX и NVIDIA: 11-03 с 16:04 по 16:10 за шесть минут влито 10 специализированных операторов BI-V150 (специальные полиномы, обратные upsampling и padding, квантованное max-pooling, матричное умножение smm, not_equal, обратный pooling index); на стороне NVIDIA 12 коммитов продолжают дополнять разрежённые тензоры, семейство cudnn, представления и формы, квантование и внутренние операторы авто дифференцирования. 11-04 Iluvatar CoreX влил ещё 12 коммитов, кроме того #8396 откатил два предыдущих обновления, не работающих на BI-V150.
-
Enflame: 11-04 все 5 коммитов — исправления device guard (CUDA-only guard, жёстко заданный im2col, kl_div и arctanh, ограничение целочисленных индексов в upsample_nearest3d_backward, явный сбой при несовпадении –override). Новые 41 коммит GCU300, открытые 11-05, начали массово приземляться в тот же день 11-05, 25 коммитов закрыты разом; подходы включают сужение 64-битного lane offset до 32 бит, перенос геометрии launch в предвычисление на стороне host, замену внешних символов _nv* локальными реализациями, перевод поэлементного dynamic-понижения на специализированное ядро.
-
Hygon и MetaX: 11-04 #7388 добавил для Hygon прямой проход FP32 flash attention; #7318 добавил для MetaX канальное bmm_w8a8 INT8 с fused-масштабированием; 11-04 также 9 специализированных открытых коммитов Hygon по FP32 (rsqrt, floor, nonzero, полномерная редукция, masked_fill, nan_to_num, neg, masked_select, aminmax), все ограничены непрерывным FP32.
-
Ascend и Moore Threads: 11-05 #8110 добавил канальный INT8 BMM (+519 строк, −3 строки); #7581 исправил переполнение UB в прямом и обратном проходе Flash Attention, а также добавил varlen прямой проход и dense D=256; Moore Threads #7246 переписал mm на MP31 (один файл, +2472 строки, −146 строк), #6706 добавил для bmm и bmm.out реализацию TLE/SQMMA с учётом формы (9 файлов, +2369 строк).
-
Версионирование ключей бэкендов: #8446 изменяет 12 файлов, +39 строк, −38 строк, заменяя семь «голых» имён производителей на версионные ключи. Ценность не в унификации имён, а в том, что при установке неверной версии происходит сбой, а не тихий пропуск — при старом написании
uv pip install ".[tsingmicro]"не совпадал ни с одним extra, ни torch, ни flagtree не устанавливались, и проверка FlagTree в setup.sh сразу выбрасывала ModuleNotFoundError. -
Tsingmicro и SiliconFlow: 11-05 #8287 обновил бэкенд tsingmicro до 1103, 190 файлов, +23195 строк, −914 строк — крупнейшая за неделю синхронизация бэкенда одним коммитом; 11-03 #6501 разом добавил три оператора embedding bag (поддержка SUM/MEAN/MAX, взвешивание, исключение padding, пустые пакеты и завершающие смещения), +7494 строки, −222 строки, 24 файла.
FlagTree: улучшения превращены в runtime-переключатели, Hygon пробил TLE-Raw
-
Runtime-переключатели: 11-04 влит #1565, +123 строки, −27 строк, 15 файлов; каждое улучшение FlagTree унифицировано в «четвёрку» — макрос времени компиляции, runtime-knob (FLAGTREE_<NAME>, по умолчанию включён, входит в CACHE_INVALIDATING_ENV_VARS), блок guard, согласованный с окружающим кодом, и #else/#endif с указанием имени макроса. Раньше, как только улучшение компилятора попадало в продакшн, регрессию можно было остановить только откатом всей версии; после введения переключателей можно отключить только это одно улучшение.
-
Стек коммитов: 11-04 с 13:02 по 13:15 за четырнадцать минут открыто 38 коммитов подряд: [TLE][NVIDIA] 12, [TLE][AMD] 4, [TLE][Iluvatar] 7, [FlagCX] 5, [Iluvatar][Native] 5; кроме того #1563 оформил в документацию граф зависимостей и ворота проверки функциональных PR, явно указав, какие должны вливаться по порядку, а какие можно проверять независимо.
-
Hygon TLE-Raw: 11-05 #1508 добавляет путь tle.raw для HCU, 53 файла, +5106 строк и −17 строк; одновременно поддерживаются режимы eager и deferred, два типа исходного кода — HIP и MLIR (компилируется в LLVM IR и затем встраивается в Triton IR), а также подключена потоковая коллективная связь DUSHMEM; прилагаются три руководства: ring shift, allgather GEMM, GEMM allreduce. В примере HIP-путь сортировки показывает 1,29× относительно torch.
-
Корректность и наблюдаемость: 11-02 #1460 исправляет понижение конвейеризованного cp.async в TritonGPU и повторное использование буферов операндов WGMMA (относящееся к классу ошибок, дающих неверный расчёт, а не сбой), #1451 выравнивает выбор warp для WGMMA с вышестоящим MMAv3; 11-05 #1530 разбирает диагностику ptxas по использованию регистров, переполнению, стеку и разделяемой памяти и записывает её в метаданные компилятора TLE, на стороне репозитория сводно проходят все 154 теста TLE MLIR и 11 новых C++ юнит-тестов.
-
Прочее: 11-02 #1236 модель стоимости XuanTie ZW810E 1.1.0; 11-04 #1524 добавляет для AMD native API тригонометрической совместимости и независимого округления умножения, #1370 переводит упаковку DEB/RPM в режим verify-only; 11-05 #1572 заставляет Moore Threads сохранять явную blocked-раскладку при преобразовании dot, #1576 усиливает SoC-уровневое распределение в TLE для Enflame.
FlagQuantum: три линии приёмки доведены до UP-04/05/06, интеграционный PR по отказоустойчивой компиляции сформирован
-
Масштаб: по пяти периодам слито соответственно 35, 21, 28, 29 и 5 коммитов, всего 118; доля объёма коммитов одного репозитория снизилась с 58% в трёхдневном окне до 43–47%, доля не квантовой стороны вернулась выше половины.
-
910C и CI: 11-02 #958 и #970 выводят Ascend 910C на нативный provider и создают fail-closed регрессионный lane; границы зависимостей прописаны явно: Torch-FL берётся из ветки feat/ascend-complex-lowering, коммит 3aebd0c, FlagCX — из v0.14.1, коммит 6fe3631, с патчем; тем самым воспроизводимость привязывается к коммитам исходников, а не к бинарным пакетам.
-
Линия синтеза: 21 коммит за 11-02 распределён по трём линиям — UP (семантика), AO (арифметика), PF (производительность): UP-01 позволяет функциям, декорированным @synth.qfunc, напрямую писать распределение, гейты и выход; AO-00/01/02 последовательно создают арифметический базис и независимый oracle, защищённое устранение общих подвыражений и нормализацию битовых фактов, защищённые возведение в квадрат, константы и терминальный XOR; PF-00/01 задают базовые значения задержки компиляции и RSS операционной системы, переиспользуют уже проверенные поля плана.
-
Фронтенд и алгоритмы: 11-04 UP-04 добавляет ограниченную подготовку равномерного состояния, скалярное когерентное управление, ограниченные предикаты и проверяемые фазовые помощники; UP-05 нормализует диспетчеризацию входных точек фронтенда и выносит арифметическое понижение в общий путь; UP-06 поддерживает U-гейт и массивный Hadamard для Qmod и нативного qfunc. На алгоритмической стороне добавлены гейтовое понижение разреженного химического SELECT, исполняемый THC SELECT, понижение THC-вращения через QROM и фазовый градиент.
-
Модель ошибок детекторов: 11-04 #1052–#1069 последовательно добавляют чётность взаимоисключающих сбоев, объединение повторных сбоев, круговой обмен по нескольким chunk, проекцию разреженных chunk и пошаговое декодирование, в паре с эталонной картой покрытия FTQC W1-B из #1072 — эта линия дополняет путь данных декодирования квантовых кодов коррекции ошибок, а не демонстрацию алгоритма.
-
Отказоустойчивая компиляция и CI: 11-05 в ветке feat/ftqc-native-integration около 20 коммитов посегментно переносят фазовый градиент QVR, масштабируемое сложение, сопряжение измерения и фазу веса Хэмминга; основной интеграционный PR #1084 уже открыт как черновик, 276 файлов, +31011 строк и −92 строки. В тот же день все 27 коммитов посвящены качественным гейтам CI — развязка ёмкости и хостируемой очереди, ограничение допуска образов, отклонение обязательным merge-гейтом отменённых зависимостей, ограниченные повторы загрузки артефактов, перенос основного набора в квалифицированную офлайн-среду.
FlagCX: унифицированная упаковка bitcode для Hygon, CI для Ascend 910C и абстракция traits
-
Hygon: 11-02 #667 — структурное изменение линии UIL: добавлена сборка bitcode для Hygon и унифицирован способ упаковки Device IR. Ранее каждый бэкенд упаковывал IR по-своему, и подключение Hygon требовало отдельного сопровождения набора артефактов; после унификации стоимость упаковки при добавлении нового бэкенда снижается.
-
Тесты и семантика: 11-02 #687 принудительно выводит покрытие SymMem по типам адаптеров в CI, чтобы конвейер не оставался зелёным, если какой-то адаптер не прогнал тесты симметричной памяти; #688 и #689 заставляют DU stream guard выбираться по поколению torch и переносят тот же фикс обратно в 0.14.0-rc2.
-
CI для Ascend: 11-04 #669 добавляет конвейер для Ascend 910C и унифицирует организацию юнит-тестов (+1559 строк и −664 строки, 41 файл), прогоняет покрытие Torch Python на четырёх платформах и убирает дублирующиеся тесты производительности CUDA; #686 предложен со стороны FlagQuantum и обрабатывает отслеживание завершения устройств Ascend и удержание тензоров в живых.
-
Абстрактный слой: 11-05 #693 добавляет traits CoopOps и Clock с реализацией для NVIDIA, вынося запрос возможностей устройства в trait; #691 делает повторяемым разбор ресурсов Window; #694 добавляет в DefaultBackend общий диспетчер провайдера Net.
Torch-FL: расширение с двух сторон (Apple MPS и Cambricon MLU), BPU доведён до рабочего состояния
-
Масштаб: в пяти периодах объединено 13, 5, 2, 29 и 12 коммитов соответственно. Все 29 коммитов от 11-04 принадлежат одному автору, но направления разошлись на два конца.
-
Apple Silicon: с одной стороны, backend MPS доведён до «способности обучаться» — добавлены addmm (оператор, к которому реально сводится nn.Linear с bias), обратное распространение свёрток, семейства сравнения и редукции, тригонометрическое и экспоненциальное семейства, cumprod, tril, причём обратное распространение свёрток побитово совпадает с эталонной реализацией.
-
Путь по умолчанию NVIDIA: 11-02 #700 исправляет проблему, когда конфигурация NVIDIA по умолчанию направляла 1485 операторов в boxing kernel, — это самый масштабный по влиянию коммит недели; #684 меняет полубайтовый сдвиг FP4 на тензорные операции, чтобы попасть в уже маршрутизированные перегрузки; #687 сужает day-0 FlagGems override до операторов, оправданных его собственным описанием.
-
Horizon BPU: 11-04 #721 выясняет, что eager-путь на самом деле выполнял каждый оператор на CPU — лестница корзин операторов никогда не превышала 512 lane, артефакт с двумя входами отправлялся с дескриптором одного тензора, что давало тихо неверные значения, а hbdk4 под box64 не мог импортировать numpy. После исправления Run выставлен через C ABI, что позволяет eager-пути обходить aten dispatcher: на RDK S600 relu с 262144 lane ускорился с 0,176 мс до 0,073 мс, а один conv block — с 23,2 мс до 11,1 мс. #726 добавляет DeviceChain, позволяя нескольким BPU-артефактам выполняться на устройстве последовательно без возврата промежуточных активаций на хост: сериализованный elementwise ускорился с 0,417 мс до 0,104 мс, четыре независимых диспетчеризации — с 1,667 мс до 0,673 мс.
-
Iluvatar и Kunlunxin: 11-02 #698 фиксирует FlagTree в CI Iluvatar на версии 0.7.0 (фактической рабочей версии этого чипа), #697 направляет baddbmm в вендорский GEMM; 11-05 #745 снимает ограничение числа операторов Iluvatar, позволяя mul.Tensor попадать в FlagGems; 11-05 #756 не даёт 3,2 ГБ wheel FlagTree для Kunlunxin попасть в кэш pip.
-
Запрос возможностей: 11-05 #708 добавляет два интерфейса запроса — доступности fused-операторов и возможностей устройства, — чтобы верхнеуровневый код больше не определял через tensor.is_cuda, может ли устройство выполнять fused-операторы: на тензорах flagos это поле всегда False, что заставляло код вроде flex attention тихо откатываться на eager-путь.
Обучение и библиотека операторов: Biren SUPA впервые попадает в стек, синхронизация DSv4 продвигается по подсистемам
-
Biren: 11-04 TransformerEngine-FL #143 добавляет вендорский backend Biren SUPA, +3608 строк, 7 файлов — впервые Biren появляется в обучающих компонентах FlagOS в виде отдельного backend. В тексте PR написано только «Add BIREN SUPA vendor», без записей о проверке на оборудовании, — это каркас, идущий впереди.
-
FlagTensor и Megatron: 11-04 FlagTensor #14 регистрирует backend MThreads/MUSA и добавляет специализированные переписывания для семи трансцендентных функций ACOS, ACOSH, ASIN, ASINH, ATAN, ATANH, TAN, обходя путь libdevice, не поддерживаемый MUSA Triton JIT (+300 строк, −5 строк, 14 файлов), версия выровнена на 0.3.0. На стороне Megatron «синхронизация DeepSeek-V4 с upstream» продвигается по подсистемам: #202 — первый коммит, сохраняющий чувствительные к точности параметры и обрабатывающий частичные проекции компрессора и индексатора (+3356 строк, −775 строк, 26 файлов); #214 — второй коммит по теме перекрытия mHC и экспертного параллелизма.
-
FlagTrain: 11-02 восемь коммитов сосредоточены на линии NVIDIA в KMCompiler (weighted_squared_relu, прямой и обратный проход fused_h_aggregate, bias_swiglu, прямой и обратный проход scaled_masked_softmax, fused_proj_rms_compute_h); 11-05 #56 добавляет fused h_post bda в прямом и обратном направлении, замерено ускорение nvidia в 1,190 и 1,702 раза, PPU — в 6,714 и 3,568 раза, MC550 — в 6,057 и 2,590 раза, Iluvatar — в 7,087 и 3,500 раза; #57 подключает scaled_masked_softmax одновременно к Ascend, MetaX, Moore Threads и Iluvatar.
-
FlagBLAS и FlagSparse: 11-02 FlagBLAS #157 добавляет для MUSA бэкенд L1 BLAS и эталон muBLAS, охватывая пятнадцать групп операторов от AMAX до SWAP; 11-05 #159 оптимизирует Ascend cgemm и оценивает сохранённый базовый уровень H100 (на рассмотрении). 11-03 FlagSparse #115 влит из внешнего репозитория NCIC-AlphaSparse (завершение MUSA q4), 11-05 #117 вливает ещё 62 файла, добавляя 4809 строк и удаляя 280 строк.
-
Сторона инференса: 11-04 FlagGems-sglang #279 вливает 6 операторов модельного уровня вместе с переопределениями vendor для каждой платформы, добавляя 13061 строку и удаляя 79 строк, 85 файлов, при этом rms_norm математически и по ABI совпадает с существующим one_pass_rms_norm, поэтому включён в виде переопределений _mthreads, _thead, _hygon, а не как новый оператор; 11-05 #294 унифицирует явный выбор устройства через GEMS_VENDOR, DNN_VENDOR сохранён, но выдаёт FutureWarning. FlagGems-vllm 11-05 #1048 реализует fused_indexer_weight_scale на Ascend с помощью TLE, два этапа конвейера, разбиение на блоки по 4096 элементов, форма взята из реального вызова GLM-5.3-Flash.
-
Зрение: созданный только 10-14 репозиторий FlagCV на этой неделе — 8 коммитов, 4 влития, #5 добавляет независимый эталонный адаптер OpenCV CUDA add, #6 приводит оценку add к контракту pytest FlagGems-sglang, #7 унифицирует выбор устройства через GEMS_VENDOR.
Сопутствующая инфраструктура: упаковка переведена в verify-only, тесты и CI вынесены в цепочку ревью
-
Упаковка: 11-04 15 влитий охватывают семь репозиториев (FlagBLAS, FlagSparse, FlagTree, FlagFFT, FlagDNN, FlagTensor, libtriton_jit, flagtree-cpu), ключевое действие — унификация рабочих процессов DEB/RPM в режим verify-only, то есть только проверка возможности сборки без повторной публикации артефактов. Попутно исправлены конфликты файлов в FlagFFT и libtriton_jit, зависимость nlohmann_json в контейнерах RPM, конфигурация сборки NVIDIA в FlagDNN при отсутствии импортируемого torch и другие проблемы.
-
optest: 11-02 пять коммитов вокруг тестовой инфраструктуры (управление зависимостями vendor FlagTrain через uv, быстрый отказ при нехватке разделяемой памяти, повтор пакетного индекса, разделяемая память S60, изоляция параллелизма по библиотекам и бэкендам); 11-03 семь коммитов добавляют сводку тестов в Feishu и настраиваемый тайм-аут; 11-04 #38 исследует список операторов FlagGems по вендорам (какие операторы реально зарегистрированы на каждом бэкенде, без догадок), #35 добавляет скрипт базового уровня NVIDIA, #36 исправляет «сбор маркеров тестов при фактическом выполнении тестов».
-
CI и документация: FlagTree #1457 и #1513 записывают результаты CI FlagGems в многострочную таблицу Feishu, #1568 при сбое CI отмечает ответственных в Feishu; docs #575 — бот открывает задачу синхронизации списка моделей ModelScope; OpenCourse #5–#7 обновляют все экспериментальные материалы до основной ветки; FlagQAI #30 ужесточает песочницу macOS (локальные задания Python, headless-сессии, нативный shell, цели поиска и подпроцессы по отдельности вводятся в границы).
4. Участники и адаптация вендоров
Hygon: вся цепочка поставки DTK 26.10 и две линии FP32
-
Образы и зависимости: на этой неделе Hygon был наиболее сосредоточен, 21 влитие build-infra покрывает уровни base и runtime версии 2.3.0, плюс выпуск колеса flagcx с суффиксом +dtk2610, удаление недействительного HIP_VISIBLE_DEVICES, дополнение amdsmi. Цена DTK 26.10 почти целиком в разрешении зависимостей и упаковке, а не в самом ядре.
-
Связь и обучение: Fl CX #667 — унифицированная упаковка bitcode и Device IR для Hygon, это первый раз, когда Hygon на стороне библиотеки связи получает форму артефакта сборки, согласованную с другими бэкендами; FlagScale #1299 на рассмотрении, добавляет выборку состояния оборудования Hygon DCU, #1255–#1257 три коммита добавляют диагностику трёх категорий: отсутствие входа на стороне CPU в NCCL, несоответствие коллективных коммуникаций и P2P, внутренние зависания, — нацелено на «можно ли локализовать проблему при обучении на десяти тысячах карт».
-
Прямой проход FP32: #7388 добавляет явный путь FP32 для реализации _flash_attention_forward на Hygon, сохраняя при этом пяти-выходную схему ATen и существующее поведение FP16/BF16. Область поддержки описана очень узко: фиксированная длина, непрерывный 4D BSHD, квадратный MHA с одинаковой формой Q/K/V, head dim 64 или 128, dropout 0, без window/alibi/seqused/varlen, неподдерживаемые комбинации сразу выдают ошибку. В реализации QK и PV используют скалярное произведение IEEE FP32, максимум онлайн softmax инициализируется -inf, длинные последовательности идут через exp2/log2.
-
Компилятор и производительность обучения: FlagTree #1508 добавляет поддержку TLE-Raw для HCU; build-infra #1654 для сборки HCU в flagtree разворачивает одновременно два дерева LLVM, что указывает на то, что версия LLVM ещё не сошлась к единому дереву; TransformerEngine-FL #153 добавляет для Qwen3.5-35B опциональный путь экспертного GEMM с BF16 (opt-in, без изменения поведения по умолчанию); FlagAttention #117 и #123 соответственно добавляют оптимизацию GLA и бэкенд AttnRes.
Ascend: помимо квантовой линии 910C, параллельное продвижение по четырём слоям — runtime, режим выполнения, операторы и CI
-
Кванты и коммуникации: нативный провайдер 910C и регрессионная линия ARM64 — крупнейшая единичная позиция недели (см. главное); сопутствующий FlagCX #686 обрабатывает отслеживание завершения устройств Ascend и поддержание жизни тензоров, что является предварительным условием квантового стека на коммуникационном уровне.
-
Runtime: базовый слой CANN 9.2.1 содержит только 910B; ограничения python 3.12 и torch 2.13 происходят из требования согласованности версий wheel и встроенного в CANN дерева python; этот слой намеренно оставлен без FlagTree и FlagCX, после добавления метки OCI provenance 11-04 выполнен повторный push.
-
Режим выполнения: нативный граф FULL_DECODE_ONLY в vLLM 0.28 покрывает Qwen3.6-27B и Qwen3.6-35B-A3B, декодирование идёт через torch.npu.NPUGraph, prefill, визуальное кодирование и сэмплирование остаются вне графа.
-
Операторы и CI: FlagGems #8110 добавляет канальный INT8 BMM (+519 строк, -3 строки), #6060 добавляет бэкенд Ascend для mm_w8a8_int8 и mm_w8a8_int8_out (поддержка предквантованного INT8, скаляра FP32 или scale по строкам и столбцам, опционального bias, вывод BF16/FP16/FP32, без поддержки асимметричной нулевой точки); #7581 исправляет переполнение UB в Flash Attention и добавляет varlen forward и D=256; FlagCX #669 создаёт CI-конвейер 910C; FlagTree #1413 исправляет переполнение UB в lightning-indexer XCS и точность swiglu.
XuanTie Alibaba DAMO: три линии — пакет операторов, модель стоимости и внимание PPU
-
Слой операторов: 13 специализированных операторов от 11-02 влиты за 43 минуты, охватывают специальные функции, трёхмерную свёртку, квантованный LSTM, матричные нормы и обратное распространение пулинга; в среднем 3,3 минуты на один, что показывает, что ревью уже способно параллельно по бэкендам разбирать пакетные заявки на операторы.
-
Слой компиляции: пакет моделей стоимости MM/MV для ZW810E версии 1.1.0 включён в каталог моделей FlagTune, содержит 8 вариантов BF16 mm и 2 модели mul — это первая полная модель стоимости автоматической настройки на XuanTie.
-
Инференс и коммуникации: FlagGems-vllm #1038 добавляет для chunk_kda два бэкенда — Iluvatar и XuanTie; sglang-plugin-FL #166 делает слитое кольцевое ядро RS+add+RMSNorm+AG опцией pure TP prefill (на рассмотрении), на PPU 810E переиспользует кольцо 28-канального графа pccl; FlagAttention #127 открывает новый Wall Attention для PPU-ZW810E; FlagGems #8446 закрепляет ключ бэкенда как thead-ppu210.
Kunlunxin: пакетные патчи производительности и контракт формы для одного тихого бага
-
Ритм: 10-30 — десять за день, 11-02 — четырнадцать, 11-03 — одиннадцать, 11-04 — пять новых. Команда продвигается пакетами, а не в ритме upstream, в реализации по возможности использует прямые указатели и одноэлементную выдачу, для bf16 отдельно задаёт ширину блока.
-
Корректность: #8038 исправляет тихий баг в быстром пути foreach, возникавший из-за сравнения только числа элементов без сравнения формы — список тензоров с разными формами, но одинаковым числом элементов, полностью наследовал форму первого тензора, вывод не выдавал ни ошибки, ни выхода за границы. Такой дефект опаснее десятикратного замедления: его не обнаружит бенчмарк, его встретит только нижестоящая модель в виде аномалии точности.
-
Производительность: #8255 ускоряет argmin с помощью SIMD-загрузки из vendor-файла min.o и параллелизма по сегментированным широким строкам, #8028 четыре оператора достигают порога Gems Speedup выше 0,8 (upsample_nearest2d 1,202, unique_consecutive 1,053, fake_quantize_per_tensor_affine 0,827, foreach_clamp_max_scalar 0,967), #8250 заставляет inner реально участвовать в компиляции на XPU и заново настраивает tile, #8262 оптимизирует lcm с помощью развёрнутого алгоритма Евклида.
-
Исправления и стек инференса: новые заявки сосредоточены на fallback sum_dim, серии fake_quantize, переполнении pipeline event в lstm/gru, деградации tt.gather в linalg_matmul и linalg_lu_solve, аварийном завершении процесса в avg_pool1d; sglang-plugin-FL #155 поднимает бэкенд Kunlunxin до SGLang 0.5.18 (на рассмотрении), строка каталога wheel vLLM 0.28.0 добавлена через #1637.
MetaX: адаптация 0.28, отладчик и новая структура внимания
-
Плагин вывода: адаптация C550 0.28 при отсутствии соответствующей ветки в upstream обеспечивается самодостаточностью плагина (#554); в форме установки явно отклонён стартовый хук site-packages, а также удалены 15 исторических хуков zz_fl_*.pth; адаптация C550 0.32 #693 открыта в тот же день, две линии идут параллельно.
-
Отладка и внимание: FlagPrism #18 добавляет адаптер рантайма MACA, модуль сборки, привязки Python и тесты — это первый случай, когда FlagPrism подключил MetaX к цепочке отладки; FlagAttention #119 и #122 соответственно добавляют prefill/decode для Parallax и внимание Hy3 для BF16/INT8, что относится к внедрению новых структур моделей на разных чипах, а не к оптимизации существующих операторов.
-
Операторы и отраслевая сторона: FlagGems #7318 добавляет канальный bmm_w8a8, #8414 добавляет layernorm (на рассмотрении), Torch-FL #702 исправляет причину пропуска в кейсе SDPA (ранее приписывалось fp32, фактическая причина иная) — это исправление достоверности тестов. На отраслевой стороне квартальный отчёт раскрыл выпуск MXMACA 3.9.0, код поддержки сборки включён в LMCache; на стороне моделей заявлена Day 0 адаптация GLM, Qwen, Hunyuan.
Moore Threads: Conv1D вывел все 26 эталонных примеров за черту 0.8x
-
Полный кейс: #6754 добавляет покрытие бэкенда conv1d для MTT S5000, поднимая официальный бенчмарк conv1d_padding с 18/26 соответствующих примеров до 26/26 примеров не ниже 0.80x относительно torch; ранее все примеры FP32 K3/K5 padding показывали лишь 0.41–0.53x. Одновременно реализованы три уровня изменений: изменена маршрутизация с удалением избыточного padding и выделения bias, добавлено специализированное ядро Triton-MUSA Conv1D с трёхмерным разбиением сетки по M=N×Lout, предварительная упаковка весов в сочетании с SQMMA с компенсацией точности.
-
Вывод и операторы: MUSA 0.28 за один раз приносит нативный MCCL, компиляцию FX/eager и сегментированный нативный граф; рабочий базис — четыре S5000, BF16, TP=4, TorchMUSA 2.9.0 и MUSA SDK 4.3.5; на стороне компиляции RMSNorm, SiLU, rotary идут через явную границу операторов MUSA, эталонный RMSNorm сохраняет контракт накопления FP32 на целевом устройстве.
-
Компоненты обучения: FlagTensor #14 регистрирует бэкенд MUSA и добавляет специализированные переписывания для семи трансцендентных функций; FlagBLAS #157 добавляет L1 BLAS для MUSA; FlagAttention #121 добавляет внимание Moba и исправляет import; FlagGems #8097 оптимизирует умножение вытянутых матриц FP8 (транспонированное скалярное произведение плюс тайл GEMV).
Enflame: 41 новый, 25 закрытых, переписывание вместо перевода
-
Масштаб: 11-04 из 66 новых в FlagGems 41 предназначен для GCU300; 11-05 за день 25 были сразу слиты, все с префиксами KernelGen и Enflame.
-
Четыре типа изменений: во-первых, разбор внешних символов — _nv_nearbyintf, __nv_y0f/y1f, __nv_j0f, normcdfinv и другие поочерёдно заменяются локальными реализациями; во-вторых, смена алгоритмического пути — special_chebyshev_polynomial_t переведён на специализированное ядро, linalg_householder_product использует однопроходное отражённое сканирование, linalg_inv_ex — одноядерный Gauss-Jordan, compute_linear_combination заменяет внешнее произведение на tl.dot; в-третьих, удаление неподходящих compile-time особенностей — автоподбор renorm приводит к немедленному прерыванию компилятора этого бэкенда, поэтому весь блок отброшен, fake_quantize переведён на округление magic-add; в-четвёртых, исправление геометрии запуска — launch geometry для special_i1e и special_bessel_k0 исправлена построчно.
-
Защита устройств: 11-04 дополнительно 5 изменений целиком являются исправлениями CUDA-only guard, включая жёстко закодированный guard im2col, клампинг целочисленных индексов в kl_div и arctanh, upsample_nearest3d_backward, явный сбой при несовпадении –override и имени оператора.
-
Прочее: адаптация S60 для vLLM 0.32 #675 на рассмотрении; FlagTree #1494 временно отключает тест 03-topk для остановки потерь; FlagTree в тот же период удаляет CI/CD workflow enflame3.5-guc400 — это смена списка CI вместе с поколением оборудования и не должна трактоваться как прекращение продуктовой линейки; FlagAttention #118 добавляет оператор parallax.
Iluvatar CoreX: десять изменений за десять минут для BI-V150 и нативный путь компилятора
-
Линия операторов: 11-03 с 16:04 по 16:10 за шесть минут слито 10 изменений, 11-04 слито ещё 12 (два из них — откат предшествующих обновлений, недействительных на BI-V150). Покрыты потеря тригонометрического отступа, псевдообратная матрица, умножение-сложение матриц, обращение тензоров, редукция по индексам, обратная гамма, трёхмерная сеточная выборка, трёхмерная транспонированная свёртка и её обратный проход, линейная комбинация и потеря CTC.
-
Сторона компилятора: Все 12 новых PR в FlagTree относятся к [Iluvatar][Native] и [TLE][Iluvatar] — число потоков выводится из целевого warp size, ширина векторного доступа выбирается по размеру элемента, явная опция компиляции load-vectorization, явная раскладка через границы управляющего потока, SME transport, домены физических grid barrier. Направление — заменить «универсальные предположения Triton» на «генерацию под спецификацию целевой машины».
-
Инференс и обучение: sglang-plugin-FL #139 добавляет пустую адаптацию для SGLang 0.5.18; Torch-FL #745 снимает верхний предел числа операторов, #753 и #762 подключают семейство add через ixblas axpy (на рассмотрении); FlagScale #1322 и Megatron-LM-FL #213 дополняют конвейер Iluvatar.
Tsingmicro: TXDA делает только eager — один инженерный компромисс
-
Компромисс: Сегментированный нативный граф из #642 уже реализован и прошёл полный контроль качества на двух моделях при TP8 (снимки R10 и R6d), но корректность Dense TP1 так и не была решена. Автор не стал выбирать «режим графа, доступный лишь при частичной параллельности», а удалил реализацию захвата и разбиения графа, на этапе конфигурации отклоняет графовые и компиляционные конфигурации и напрямую направляет пользователя к –enforce-eager. MLA, разреженное внимание, спекулятивное декодирование и контекстная параллельность отклоняются по конкретным путям, которые не поддерживаются.
-
Среда проверки: 8 карт TX8110 64G, vLLM в образе — 0.28.0+empty — собран из upstream-тега коммита 2cf0a69 способом, при котором целевое устройство пусто, без расширения vllm._C, все kernel берутся из плагина или FlagGems. Это превращает вопрос «действительно ли плагин самодостаточен» в жёсткое ограничение.
-
Прочие действия за неделю: FlagGems #8287 обновляет бэкенд tsingmicro до 1103 (190 файлов, +23195 строк, −914 строк); Torch-FL #704 включает tsingmicro в проверку согласованности conf и набора регистрации — ранее эта платформа была исключена из шести платформ; ключ бэкенда зафиксирован как tsingmicro-tsm260610.
Cambricon: от «работает» к «нулевым откатам»
-
Форма подключения: MLU входит в Torch-FL как vendor-native платформа, добавляет слой рантайма libcnrt и шим torch.mlu, работает на stock torch 2.10.0+cpu, сквозное тестирование на восьми картах MLU590-M9; в тот же день снят CI lane, а принцип «сначала подключить бэкенд, потом добавить CI» записан в сообщении коммита, вместо того чтобы оставлять вечно красный конвейер.
-
Fused attention: SDPA ранее на Cambricon разлагался на три листовых оператора, поскольку cambricon был исключён из составного покрытия, и при каждом внимании матрица оценок B×H×S×S записывалась в HBM и считывалась обратно. При batch 2, 4 головах и последовательности 4096 эта матрица составляет около 256 MB; #748 и #749 возвращают fused прямой и обратный проход CNNL в покрытие и оборачивают их в C++ autograd Function.
-
Обнуление откатов: Из 190 откатов 188 приходились на aten::mul.out — это показывает, что подобные доводки опираются на сплошной обзор, а не на догадки; после двух правок, выполненных через CNNL на MLU, полный шаг обучения Qwen3 показывает нулевой откат операторов на CPU. Оба слоя образов neuware 4.4.3 и 4.7.2 для Cambricon входят в покрытие 2.3.0.
Horizon Robotics и Biren: один дополняет базовое семейство операторов, другой останавливается на каркасе
-
Horizon Robotics: 11-02 три коммита переводят conv, batch norm и pooling с eager-пути на BPU, а avg_pool реализуется через эквивалентную depthwise-свёртку; 11-04 после исправления трёх серьёзных сбоев задержка relu и conv block снизилась до 0,073 мс и 11,1 мс соответственно, DeviceChain сжимает четыре диспетчеризации с 1,667 мс до 0,673 мс. 11-05 новых коммитов нет — период затишья после предыдущего раунда.
-
Biren: TransformerEngine-FL #143 входит в компоненты обучения с бэкендом SUPA, добавляет 3608 строк в 7 файлах, но не сопровождается записью аппаратной проверки. У новой микросхемы есть два пути в FlagOS — от компонентов обучения или от линейки операторов; Biren идёт по первому и останавливается на каркасе, глубина проверки не того же уровня, что у Tsingmicro и MetaX.
5. Экосистема и сообщество
Отраслевые кейсы FlagOS 2.2 впервые дают измеримую выгоду
-
China Telecom: Xingchen Xing4.0-29B-A4B (общее число параметров 29B, активных 4B) прошёл полный цикл обучения на кластере Ascend 910C, в день выпуска завершена выверка точности и проверка развёртывания на 10 моделях отечественных чипов. Ключевая проблема — многоканальный residual-оператор mHC: официальная реализация для N-карт сама по себе даёт около 10% замедления, первоначальная версия для Ascend теряла 50%, собственная разработка команды долго застревала на 25%; после регистрации специально оптимизированного оператора FlagGems в цепочку обучения MindSpore + CANN + Ascend NPU замедление кластера снизилось с 25% до 12%, и эта адаптация уже открыта и включена в MindFormers.
-
Цепной эффект: в сценариях Agent средний prompt составляет 70K, максимальный — 200K; после переписывания 12 операторов длинных последовательностей на базе FlagOS задержка первого токена снизилась на 19,87%, а скорость декодирования выросла более чем на двадцать процентов; в цепочке предобработки голоса горячей линии агрегированное переписывание операторов класса Spectrum обеспечило ускорение в 10 раз на трёх чипах — Huawei, Moore Threads и Iluvatar CoreX.
-
iSoftStone: платформа интеллектуальных вычислений Tianyuan ведёт расчёты по токенам; GLM-5.2 на четырёх Ascend 910C генерирует один токен за 17,79 мс, тогда как опубликованный порог доступа к API со стороны модели составляет 16,13 мс; после подключения FlagOS была включена PD-дисагрегация (Prefill и Decode размещены на двух серверах каждый) и выполнена двусторонняя оптимизация, позволившая уложить задержку в порог доступа.
-
Сводные показатели 2.2: девять библиотек операторов в сумме насчитывают 1454 оператора; FlagTree в одном репозитории охватывает бэкенды чипов 20 производителей; общий прирост производительности на 10 моделях чипов и тысячах операторов составил 27,6%; новые модели адаптируются к 12 моделям чипов в Day0; 107 членов сообщества; квартальный объём загрузок — 460 тыс., что в 4,76 раза больше предыдущего квартала. Вывод статьи: «зрелость отечественной инфраструктуры AI определяется не числом поддерживаемых моделей чипов, а тем, способна ли она в день выпуска новой модели, изменив только конфигурацию, выдать поставляемую пропускную способность».
Нарратив устройств: ARM CPU и 35 моделей чипов
-
Методика измерений: без GPU и NPU, на чистом ARM CPU MiniCPM и Qwen достигают сотен токенов/с; измерения выполнены на базе SME2 и I8MM, прирост производительности 21%–25%; многочиповая адаптация FlagOS реализует принцип «одна оптимизация — повторное использование на множестве устройств», охватывая 21 производителя чипов и 35 моделей чипов.
-
Различие методик: 21 производитель и 35 моделей здесь — статистика адаптации на стороне устройств и оборудования, это не та же плоскость, что 107 членов сообщества и 12 чипов Day0, объявленных на конференции 2.2, и при цитировании их не следует смешивать. Выделение устройств в отдельный блок означает расширение нарратива от «многочиповости облачной стороны обучения и инференса» к «многочиповости стороны устройств», что согласуется с направлением Torch-FL, добавившего путь Apple Silicon MPS.
Учжэньский саммит и динамика организаций-членов
-
Саммит: Всемирная конференция интернета 2026 года в Учжэне прошла с 02.11 по 05.11 под темой «Открытый исходный код и открытость, совместное созидание и совместное использование», было проведено 27 параллельных форумов; сопутствующий «Экосинус открытого исходного кода в тематическом павильоне» открылся 01.11 в Учжэньском музее интернет-технологий и впервые централизованно представил крупные достижения открытого исходного кода и открытости в области искусственного интеллекта. В публичных сообщениях окна мониторинга FlagOS или его компоненты не фигурировали; данный пункт приводится только как фиксация внешнего контекста, без атрибуции.
-
Организации-члены: MetaX и Moore Threads на саммите одновременно получили «Премию за выдающийся вклад»; сообщения о выходе Enflame на STAR Market Шанхайской фондовой биржи появились 03.11, однако проверка 06.11 подтвердила, что фактическая дата листинга — 11 сентября (688801), то есть это ретроспективный материал, а не новое событие окна, поэтому он не учитывается как новый факт недели. Действия трёх компаний на стороне FlagOS различались: MetaX и Moore Threads в тот день влили адаптацию 0.28, Enflame внесла четыре исправления корректности в FlagGems GCU300; прогресс на уровне капитала и наград не изменил ритм технических вложений.
-
Параллельная экосистема: на форуме «Инновации интеллектуальных вычислительных систем и открытая экосистема» конференции GAI+C, состоявшейся 31.10, были представлены три совместных результата — «Jiuyuan × Phytium», «Jiuyuan × TileLang» и «Jiuyuan × пакет обучения и инференса мультимодальных больших моделей SenseTime», а также дан старт осеннему конкурсу искусственного интеллекта Qiyuan 2026. Академик Китайской инженерной академии Чжэн Вэйминь в программном докладе прямо указал на проблемы отечественных вычислительных мощностей — «карты есть, но их трудно использовать, адаптация в стиле дымоходов» — и предложил опираться на единый программный стек для кросс-платформенной работы по принципу «один код, без изменений», что изоморфно технической позиции FlagOS, хотя относится к другой экосистемной линии. 04.11 сообщество Zhiyuan опубликовало «Первую в мире 〈Рамку управления рисками передовых моделей с открытыми весами〉», что представляет собой внешний вывод на уровне управления моделями с открытыми весами и дополняет нарратив открытого стека FlagOS.
Проверка каналов: компонентные новости по-прежнему без попаданий, нарратив опирается на официальные каналы
-
Google News: ежедневная проверка 24 групп запросов на китайском и английском; по FlagOS, FlagGems, FlagScale, FlagTree, FlagPerf, FlagCX, KernelGen, flagos-ai и англоязычным комбинациям, связанным с BAAI, за всю неделю не было ни одного компонентного попадания; попадания сосредоточены на организациях-членах и отраслевых терминах, содержание — отчёты за третий квартал, котировки акций, финансирование, мероприятия и научно-популярные материалы, и по правилам вся партия исключена.
-
Колонка CSDN: за всю неделю только две новые статьи 05.11 (11:23 и 14:10), остальные записи — старые материалы с августа по октябрь, последняя остановилась на 29.10 об адаптации Day0 MiniCPM-OCR и Jev; три материала в верхней части страницы — GLM-5.3-Flash, Qwen3.8-Flash-Next и LightX2V — являются старыми статьями от 28.08, 27.08 и 27.08 соответственно.
-
HN и сообщество Zhiyuan: восемь групп запросов HN Algolia за всю неделю не дали прямых попаданий, есть лишь общие совпадения по FlagOS и BAAI; страница поиска сообщества Zhiyuan рендерится на клиенте, при обходе удалось подтвердить лишь отсутствие записей о FlagOS на главной странице, канал продолжает фиксироваться как «новых видимых записей нет».
-
Вывод: на стороне GitHub за неделю — пуши в 21–26 репозиториев, 94–177 слияний, что контрастирует с нулевыми компонентными попаданиями в новостях. Внешний нарратив FlagOS по-прежнему в высокой степени зависит от колонки CSDN, сообщества Zhiyuan и конференций; освещение компонентного прогресса сторонними медиа пока не сформировалось.
6. Наблюдение трендов
-
Зеркала идут впереди — это плановый ритм, жёсткая граница — 11-13: все 23 base и 23 runtime помечены 2.3.0, а файлы манифеста будут сгенерированы только к заморозке функций 11-30; согласно графику, приём FEP — до 11-13, rc0 — 11-30, rc1 — 12-07, rc2 — 12-14, закрытие — 12-25, GA — 12-30. То, что зеркала опережают манифест, — не рассинхронизация; реально стоит следить за тем, успеют ли принять семь новых FEP до 11-13 и будет ли линия cuda13.3 ещё менять версию torch.
-
Мультичиповая адаптация переходит от «копирования шаблонов» к «расчёту по бэкендам»: один и тот же vLLM 0.28.0, четыре бэкенда дают четыре стратегии — Tsingmicro сознательно отказывается от графического режима в пользу границы корректности, MetaX при отсутствии ветки в upstream делает самодостаточный плагин, Moore Threads собирает граф в один файл и приносит нативный MCCL, Ascend делает только граф декодирования. У адаптации больше нет единого шаблона; каждая сторона выбирает исходя из своих возможностей верификации и потребностей нижележащих моделей, а скрытая стоимость — одновременное сопровождение двух окружений 0.28 и 0.32.
-
Сопоставимость оценок становится новой инфраструктурой: FlagGems за две минуты 23 коммитами сводит эталонные чтения H800 для четырёх классов операторов к единому JSON, optest по производителям выясняет фактически зарегистрированный список операторов и дополняет базовую линию NVIDIA, FlagTree и FlagCX выталкивают результаты в многотабличную таблицу Feishu и доводят покрытие до четырёх платформ. Эта линия не производит количество операторов, но определяет, заслуживают ли доверия межбэкендовые оценки; на этой неделе 26 коммитов пришлись на CI и сторону оценок — 14,7% от суточных вливаний.
-
Узкое место стабильно на стороне ревью, а не на стороне производства: ежедневный отчёт 11-04 фиксирует, что по всей организации на ревью находится 1602 коммита, соотношение влитых к находящимся на ревью — примерно 1 к 9; в окне 11-05 — 11-06 обновлённых на ревью по-прежнему 288 и 255, причём на репозитории FlagGems и FlagTree приходится шесть десятых. В тот же период в телах многих PR присутствуют поля инструментов, моделей и ручного ревью от AI agent, что говорит о том, что сторона написания кода уже усилена agent’ами, а узкое место производительности сместилось к ревью и среде верификации.
-
Оба пути подключения новых чипов уже пройдены, разрыв — в глубине верификации: Biren входит в TransformerEngine-FL через бэкенд SUPA — сначала каркас, без записей аппаратной верификации; Cambricon входит в Torch-FL через нативную платформу и проходит реальные замеры на восьмикарточном MLU590-M9, на следующий день обнуляя шаг обучения; Iluvatar CoreX за день десятью специализированными операторами идёт по операторской линии. Скорость подключения уже не порог, водораздел — способность предъявить записи аппаратных шлюзов.
-
Путь инженеризации квантового стека уже ясен: 167 пунктов аппаратной приёмки 910C, ресурсный учёт x*256, сниженный с 28 выделенных кубитов и 4 GiB буфера состояний до 19 и 8 MiB, fail-closed полоса регрессии — три вещи образуют три проверяемых доказательства: «семантика, ресурсы, аппаратура». На этой неделе 27 коммитов не содержат ни одного по самому квантовому алгоритму, все они служат тому, чтобы тесты были достоверны, а runner воспроизводим, что говорит о консенсусе: на этом этапе сначала платят по счетам инфраструктуры.
-
Слабое место операционной стороны — по-прежнему внешний нарратив: отраслевые кейсы 2.2 уже могут давать твёрдые цифры вроде с 25% до 12%, 19,87%, 10 раз, но новости на уровне компонентов несколько окон подряд дают ноль попаданий, охват сторонними медиа ещё не сложился. Для FlagOS разрыв между техническими результатами и внешней видимостью может влиять на скорость расширения экосистемы сильнее, чем функциональный пробел любого из бэкендов.
Приложение: материалы и проверка
Список материалов
| Дата | Ежедневный отчёт | Окно мониторинга | Характер |
|---|---|---|---|
| 11-02 (понедельник) | Ежедневная динамика сообщества FlagOS | 10-30 06:00 ~ 11-02 06:00, 72 часа | Покрывает выходные 10-31 и 11-01, продолжает точку отсечения предыдущего выпуска |
| 11-03 (вторник) | Ежедневная динамика сообщества FlagOS | 11-02 06:00 ~ 11-03 06:00, 24 часа | Стыкуется конец с началом |
| 11-04 (среда) | Ежедневная динамика сообщества FlagOS | 11-03 06:00 ~ 11-04 06:00, 24 часа | Стыкуется конец с началом |
| 11-05 (четверг) | Ежедневная динамика сообщества FlagOS | 11-04 06:00 ~ 11-05 06:00, 24 часа | Стыкуется конец с началом |
| 11-06 (пятница) | Ежедневная динамика сообщества FlagOS | 11-05 06:00 ~ 11-06 06:00, 24 часа | Последняя смена последнего периода |
Пояснения к проверке
-
Сторона GitHub: все пять выпусков ежедневного отчёта проводят полную проверку пушей по 61 репозиторию org flagos-ai и перекрёстно заверяют тремя независимыми запросами — поиском по коммитам, поиском по слитым PR, поиском по PR на ревью; Release и Tag ежедневно сверяются по атомарному источнику Release 31 репозитория и атомарному источнику Tag 8 репозиториев, за всю неделю — ноль новых. Принадлежность веток и коммиты в ветку по умолчанию дополнительно проверяются атомарно, чтобы не записать ветку PR или развёртывание gh-pages как динамику ветки по умолчанию.
-
Версии и даты: имена слоёв, номера версий и даты 2.3.0 взяты из тела PR и записей changelog build-infra; график 2.3 взят из таблицы дат выпуска репозитория community; статус адаптации vLLM 0.28.0 и 0.32 определяется по состоянию слияния и ревью соответствующих PR, находящиеся на ревью пункты не записаны как слитые.
-
Действия вендоров: записи участников приводятся по фактическим коммитам и PR в репозиториях flagos-ai; отраслевые цифры взяты из публичных сообщений с указанием характера источника; финансовые отчёты, награды и IPO явно помечены как динамика со стороны компаний и не засчитываются в прогресс проекта. Дата IPO Enflame в выпуске от 11-06 по результатам перепроверки исправлена на 11 сентября; в настоящем отчёте используется исправленная формулировка.
-
Пояснение о методике: выпуск от 11-02 охватывает 72-часовое окно и не может напрямую суммироваться и сравниваться с 24-часовыми окнами остальных четырёх выпусков; в настоящем отчёте при приведении общего объёма указываются два набора цифр — пятидневная сумма и сумма четырёх полных 24-часовых окон. 21 вендор на стороне устройств, 35 чипов и 107 участников конференции 2.2 с 12 чипами Day0 относятся к разным статистическим измерениям и при цитировании не смешивались.
-
Непокрытые пункты: в течение периода пропущенных выпусков ежедневного отчёта не было; файл release-2.3.yaml в репозитории сообщества ещё не создан, поэтому контрольный список релизов проверить невозможно; страница поиска сообщества Zhiyuan/BAAI рендерится на стороне клиента, проверить можно только главную страницу, поэтому выводы на уровне количества записей сделать нельзя.