Окно мониторинга: 2026-10-10 07:00 ~ 2026-10-12 07:00 (пекинское время, 48 часов; утренний отчёт понедельника, окно отсчитывается от точки отсечения предыдущего ежедневного отчёта (10-10, компенсационный отчёт за перенесённый выходной), охватывает полные субботу и воскресенье, а также раннее утро понедельника).

Источники: GitHub (полная проверка всех пушей в 29 репозиториях организации tile-ai; в окне были пуши в 8 репозиториев: tilelang, TileOPs, TileFoundry, TileOPs-nightly, tilelang-hygon, tilelang-mlir-ascend, tilelang.github.io, TileOPs.github.io; в организации за окно смержено 34, открыто 42; в основном репозитории 9 смерженных и 9 новых, в TileOPs 21 смерженный, в TileFoundry 2, поэтапная проверка репозиториев адаптации под Ascend / Hygon / MLIR, 3 новых снимка ночного конвейера, 2 сборки сайта документации), проверка репозиториев сообщества (tilelang-debugger, TileLang-Awesome, обучающий и бенчмарк-репозиторий PTO-ISA), множественные запросы Google News RSS на китайском и английском (через прокси), Hacker News, arXiv, проверка сайта документации и страницы релизов.


Индекс выпуска

  • Главное за сегодня: фронтальное продвижение за выходные — 21 смерженный коммит в TileOPs (финализирован рефакторинг базового класса Op, пакет ускорения декодирования MLA), выход SM121 в основном репозитории, сквозное прохождение разреженного декодирования в TIR в TileFoundry (10-10 ~ 10-12)
    1. Прогресс ключевых проектов
      • 1.1 Основной репозиторий: SM121 (DGX Spark) включает блочно-масштабируемые MMA; исправление выборов барьеров CuTeDSL и идентичности параметров (10-10 ~ 10-11)
      • 1.2 Основной репозиторий: завершение белого списка dtype для GEMM — неподдерживаемые комбинации отклоняются до CUDA codegen (10-12)
      • 1.3 Основной репозиторий: шаг цикла For, индекс вывода JIT, popcount, битовая редукция и тестовая инфраструктура — пять коммитов закрыты (10-10 ~ 10-11)
      • 1.4 Новое в основном репозитории: два коммита по Host IR JIT и параллельная компиляция, частичная волновая редукция и другие — девять коммитов (10-10 ~ 10-11)
      • 1.5 TileFoundry: сквозное разреженное декодирование в TIR (#223) и исправление области видимости mesh (#220) (10-10 ~ 10-12)
    1. Мультибэкендовая адаптация (Ascend / MetaX / Hygon / Moore Threads)
      • 2.1 Ascend: миграция Sparse MLA открывает два коммита SeeSaw и Pipelined; концентрированное обновление пакета миграции длительных задач (10-10 ~ 10-11)
      • 2.2 Ascend: четыре исправления кэша подряд — ключи специализации JIT, ключи autotune, разделение кэша NPU и симулятора (10-10)
      • 2.3 Ascend: смержен полный отчёт производительности пути MLIR — 7 операторов, 112 примеров, все пройдены; поддержка профилирования NPU на рассмотрении (10-10)
      • 2.4 Ascend: кластер коммитов на рассмотрении в основном репозитории по PTO / CANN — vendor помощника редукции, требования к документации и выбор целей примеров (10-10 ~ 10-11)
      • 2.5 Hygon: обновление конвейера регистров; MetaX / Moore Threads без активности (проверка 10-10)
    1. Экосистема и потребители
      • 3.1 TileOPs: 21 смерженный коммит — одномоментный рефакторинг базового класса Op финализирован (уровень -5200 строк) (10-10 ~ 10-11)
      • 3.2 TileOPs: пакет производительности MLA / KDA / NSA — декодирование SM89 ускорено примерно до 4,6x, битовая сортировка top-k и унификация дескрипторов WGMMA (10-10 ~ 10-11)
      • 3.3 TileOPs: пять коммитов attention sinks и новый masked FP8 GEMM (10-10)
      • 3.4 TileOPs: пакет исправлений DSA / постраничного GQA — гонка в разделяемой памяти и исключение устаревших строк (10-10)
      • 3.5 Ночной конвейер: три новых снимка — корректность 1032 пункта, бенчмарки 1947 пунктов (52 набора), ноль сбоев (10-10 ~ 10-12)
      • 3.6 Документация и потребители: руководство по базовому классу Op опубликовано вместе с рефакторингом; две сборки основного сайта документации; TileKernels / FlashQLA без активности (10-10 ~ 10-11)
    1. Сообщество, руководства и мероприятия
      • 4.1 tilelang-debugger: запущен офлайн HTML-отчёт отладки, проверка на двух версиях 0.1.12 / 0.1.15 (10-10)
      • 4.2 PTO-ISA: восемь коммитов продвижения SuperNPUBench — специализированные mega-moe и tail_ocp_fp8 (10-10 ~ 10-11)
      • 4.3 Сообщество: создан новый репозиторий TileLang-Awesome (10-11)
      • 4.4 Медиа и академическая сфера: опубликована китайская статья с глубоким разбором; продолжение зарубежных дайджестов; на HN и arXiv без нового (10-10 ~ 10-11)
    1. Наблюдения за трендами
      • 5.1 Полные выходные: 34 смерженных коммита выполнены в субботу, воскресенье и ранним утром понедельника
      • 5.2 Завершение рефакторинга и тишина версий: окно релиза на горизонте
      • 5.3 Расширение охвата аппаратного обеспечения на той же неделе: включение SM121, пакетная политика производительности SM89
  • Приложение: материалы и пояснения по проверке
  • Полный список источников

Главное за сегодня: фронтальное продвижение за выходные — 21 смерженный коммит TileOPs закрыт, выход SM121 в основном репозитории, сквозная разреженная цепочка TileFoundry (10-10 ~ 10-12)

Дата: 2026-10-10 ~ 2026-10-12 Источники: Список PR TileOPs/ Рефакторинг базового класса Op (#2520)/ Блочное масштабирование MMA для SM121 (#3430)/ Сквозная поддержка разреженного декодирования в TIR (#223)/ Ночной снимок (fc2a2a91)

За 48-часовое окно мониторинга организация слила 34 коммита (основной репозиторий 9, TileOPs 21, TileFoundry 2, путь MLIR 1, документация 1) и открыла 42 новых; 8 репозиториев имели пуши, ритм охватывал всю субботу, воскресенье и раннее утро понедельника — распределение слияний: 23 в субботу, 9 в воскресенье, 2 ранним утром в понедельник; объём слияний за выходные заметно выше, чем в предыдущем окне (пятница) — 21.

  • TileOPs: 21 слияние за одни выходные: масштабный рефакторинг базового класса Op «одна должность — одна система» (#2520, 363 файла, чистое сокращение около 1865 строк) был завершён перед релизом; три линии производительности MLA, KDA, NSA одновременно закрыты, добавлены пять новых коммитов attention sinks и вновь открытые коммиты masked FP8 GEMM (подробности в главе 3).
  • 9 коммитов основного репозитория — преимущественно расширение платформ и исправления: включено блочное масштабирование MMA для SM121 (GB10 / DGX Spark) (#3430), завершён белый список dtype для GEMM (#3245, слито ранним утром 10-12), исправления выборов барьеров CuTeDSL и идентичности параметров NVRTC / CuTeDSL (#3400 / #3414), пакет исправлений шага цикла For и индексации вывода JIT (подробности в главе 1).
  • TileFoundry довёл разреженное декодирование до TIR: #223 (84 файла, +4424/-1543) исправляет потерю работы циклов в декодировании DSA, завышенное выставление счетов за поиск и ошибки поэтапного обновления, реализует асинхронный сбор в стиле индексов, Bitcast и Where (подробности в 1.5).
  • Ночной конвейер выдал три снимка подряд (последняя точка слияния #2525): 1032 проверки корректности, 1947 бенчмарков (52 набора), ноль сбоев и ноль ошибок; на 2 пункта больше каждого по сравнению с предыдущим снимком, три снимка за два дня без перерывов.
  • Медиа-сторона: на китайском языке появилась одна глубокая аналитическая статья с TileLang в качестве ядра повествования (Zhiwei, 10-10 новость на Fengwen / 10-11 Zhihu), зарубежные агрегаторы продолжают волну публикаций (подробности в 4.4).

1. Основные достижения проекта

1.1 Основной репозиторий: блочное масштабирование MMA для SM121 (DGX Spark); исправления выборов барьеров CuTeDSL и идентичности параметров (10-10 ~ 10-11)

Дата: 2026-10-10, 2026-10-11 Источники: Блочное масштабирование MMA для SM121 (#3430)/ Выборы барьеров CuTeDSL (#3400)/ Идентичность параметров NVRTC / CuTeDSL (#3414)

  • SM121 включён (#3430, 11.10 00:32, коммит): SM121 (GB10, DGX Spark) фактически поддерживает warp-блочное масштабирование MMA уровня SM120, но tl::sm120_mma_sync_blockscaled проверяет только CUTLASS_ARCH_MMA_SM120A_ENABLED (определён только при __CUDA_ARCH__ == 1200), что приводит к тому, что все блочно-масштабированные MMA при sm_121a компилируются в BPT.TRAP вместо OMMA.SF; данный коммит изменён на приём целей SM120 / SM121 одновременно по arch и семейству, тесты NVF4 используют гейтинг по семейству SM12x, таблица архитектур CuTeDSL TMA пропускает sm_121 / sm_121a. Автор проверил на DGX Spark (драйвер 580.178.04, CUDA 13.0).

  • Выборы барьера (#3400, 10.10 10:47, коммит): Ранее sync_grid() выбирал все потоки с tid.x == 0, при 2D / 3D блоках потоков несколько потоков повторно публиковали достижение одного и того же блока, и барьер мог сработать преждевременно; теперь выбирается только физический поток (0, 0, 0), счётчик / протокол поколений и кооперативный запуск не изменены. Регрессия покрывает 1D / 2D / 3D сетки и повторное использование (RTX 5090, CuTeDSL 4.7.0).

  • Идентичность параметров (#3414, 10.10 13:58, коммит): NVRTC и оболочка хоста CuTeDSL ранее генерировали сигнатуры по исходным именам Var и сопоставляли параметры по печатным именам, что приводило к перекрёстным помехам при совпадении имён (stream, device_id и т. п.) и переименовании на стороне устройства; теперь имена параметров оболочки назначаются по идентичности Var с сохранением позиционного ABI, CuTeDSL позволяет повторно вызывать одно и то же ядро с различными скалярными привязками, и одноимённые символы shape / stride становятся различимыми.

1.2 Основной репозиторий: завершение белого списка dtype для GEMM — неподдерживаемые комбинации отклоняются до CUDA codegen (12.10)

Дата: 2026-10-12 Источник: Белый список dtype для GEMM (#3245)

  • Некоторые комбинации dtype операндов T.gemm (например, bf16 x bf16 в fp16) ранее принимались на фронтенде и падали только внутри nvcc с непрозрачным static_assert (баг #3004); данный коммит добавляет явный белый список dtype для пути Ampere / Ada mma.sync, принудительно применяемый как на фронтенде (tileop/gemm), так и при выборе инструкций C++, неподдерживаемые комбинации отклоняются до CUDA codegen с понятным сообщением.
  • Приложен 1 негативный кейс и 3 позитивных регрессионных теста; поведение поддерживаемых комбинаций и не-Ampere целей не изменено. Данный коммит вошёл 12.10 в 01:21 и является самым свежим на момент закрытия окна.

1.3 Основной репозиторий: шаг цикла For, индексы выходов JIT, popcount, битовые редукции и тестовая инфраструктура — пять коммитов (10.10 ~ 11.10)

Дата: 2026-10-10, 2026-10-11 Источник: Шаг цикла For (#3427) / Индексы выходов JIT (#3318) / popcount (#3300) / Битовые редукции (#3332) / Тестовая инфраструктура (#3313)

  • For шаг (#3427, влито 10-10 12:54): Анализ конфликтов переноса цикла ранее всегда рассматривал шаг как 1 (что противоречило комментарию «по умолчанию 1, если не указано»), из-за чего определение допустимых пар итераций искажалось при неединичных / знаковых шагах; теперь диапазон пар итераций сужается по явному шагу, кодогенерация CUDA и HIP сохраняет шаг и делегирует генерацию CodeGenC, учитывая лексическую область видимости переменных развёрнутого цикла.
  • Индекс вывода JIT (#3318, 10-10 12:02): out_idx=[-1] при многократном использовании между ядрами с разным числом параметров загрязнялся нормализацией (ядро с двумя параметрами нормализовало [-1] в [1], а ядро с четырьмя параметрами затем ошибочно занимало входной слот); теперь список вызывающей стороны копируется до нормализации, скалярные индексы, равные числу параметров, отклоняются с указанием допустимого диапазона.
  • popcount (#3300, 10-10 12:02): Дополнено понижение до CUDA для знаковых и узких 8 / 16-битных целых — сначала преобразование к беззнаковому с исходной шириной, затем расширение (int8(-1) считает 8 бит, а не 32), для 64-битных используется __popcll, охвачены регрессии для 8 типов dtype; исправляет #2984, на H100 (CUDA 13.0) все 16 тестов проходят.
  • Битовые редукции (#3332, 10-11 14:13): reduce_bitand / bitor / bitxor ранее проверяли только целевой буфер и пропускали вещественные источники ([1.0, 2.0, 4.5, 8.9] молча усекалось до 1 2 4 8 = 15 без предупреждения); теперь источник и цель единообразно отклоняются по правилам для целых / булевых (refs #3301).
  • Инфраструктура тестирования (#3313, 10-11 18:25): Добавлены общие помощники проверки IR (сбор узлов, точный подсчёт вызовов операторов, сбор внешних вызовов по символам), тесты issue и transform переведены с локального обхода кода на помощники; в тест lower_ldgstg добавлены структурные утверждения, выбранные тесты transform зафиксированы на цели sm_90 с пропуском по доступности.

1.4 Новые PR в основном репозитории: два по Host IR JIT и параллельная компиляция, частично-волновые редукции и ещё девять (10-10 ~ 10-11)

Дата: 2026-10-10, 2026-10-11 Источники: Унификация Host IR (#3473)/ Прямое подключение Host IR JIT (#3481)/ Параллельная компиляция JIT (#3476)/ Частично-волновые редукции (#3478)

  • Линия Host IR (#3473, #3481): Сначала унифицированы два пути исполнения CUDA и CuTeDSL в Host IR (#3473), затем попытка прямого подключения Host IR JIT с нативным кэшем (#3481, экспериментально, направление MIR) — перестройка хост-части JIT становится новой основной линией основного репозитория.
  • Пропускная способность компиляции (#3476): autotuner параллельно компилирует независимые конфигурации JIT, сокращая настенное время настройки при большом пространстве конфигураций.
  • Новые PR категории исправлений: частично-волновые скалярные редукции (#3478), группировка приведения типов хост-выражений (#3477), развёртка эпилога конвейера с известным только в рантайме числом итераций (#3472), опциональность целевой платформы в примере для Ascend (#3474); два WIP (#3482 атомарное накопление разреженных обратных градиентов, #3483 устаревшие эксперты маршрутизации MoE) открыты поздно вечером 10-11.
  • Очередь: в основном репозитории открыто 170 PR (в прошлом выпуске 177, снижение на 7).

1.5 TileFoundry: разреженное декодирование сквозь TIR; исправление области видимости mesh (10-10 ~ 10-12)

Дата: 2026-10-10, 2026-10-12 Источники: Разреженное декодирование сквозь TIR (#223)/ Область видимости mesh (#220)/ Атрибуты парсера (#221)

  • #223 (объединён 10-12 00:52, 84 файла, +4424/-1543): продолжение работы над оставшимися проблемами декодирования DSA из #218 — исправление потерянного объёма циклических вычислений, завышенного учёта поиска (lookup) и ошибок поэтапного обновления; реализация индексного асинхронного сбора, понижение Bitcast и Where; ограничения размещения изменены на единый аксессор (возвращающий Storage), захваченные обновления записываются напрямую в tile (16B разделяемой памяти), значения, переносимые при инициализации параметров, получают отдельное хранилище и предварительное копирование для сохранения входных данных; 16 групп FixtureCase охватывают вызовы CLI и проверки вывода; синхронно обновлён сгенерированный обучающий отчёт.
  • #220 (объединён 10-10 11:59): исправлены #214 (сбой сравнения пространства ISL, когда начальная точка окна — уже загруженный скаляр) и #215 (после внешней инициализации mesh повторное связывание внутри цикла молча возвращало старое значение); вызов HIR за пределами области видимости mesh теперь вызывает ошибку, типизированное распространение mesh по точкам вызова включается в ключ кэша вывода.
  • #221, новый (на рассмотрении): парсер поддерживает атрибуты операторов и лексический синтаксический сахар компоновки.

2. Мультибэкендная адаптация (Ascend / MetaX / Hygon / Moore Threads)

2.1 Ascend: миграция Sparse MLA дала две ветки — SeeSaw и Pipelined; длительные миграции массово обновлены (10-10 ~ 10-11)

Дата: 2026-10-10, 2026-10-11 Источники: Sparse MLA SeeSaw (#1869) / Sparse MLA Pipelined (#1870) / NSA Decode (#1701) / WY Fast (#1827)

  • Два новых PR по прямому проходу Sparse MLA (#1869 / #1870): одновременно открыты две версии оператора прямого прохода Sparse MLA — SeeSaw (двухпотребительский «коромысло») и Pipelined (конвейерная) — линия портирования оператора разреженного внимания DeepSeek на Ascend продолжает углубляться, обе реализации существуют параллельно для сравнения.
  • Массовое обновление длительных миграций (10-10): NSA Decode (#1701, открыт 08-27), NSA Bwd (#1730), WY Fast прямой и обратный проходы (#1827 / #1828), Chunk O Forward (#1866) — более половины долгоиграющих PR «сначала миграция, потом шлифовка» продвинулись.
  • Документация и тесты: #1657 (строки документации и примеры для T.tile.relu и др.), #1867 (выравнивание проверок точности примеров) обновлены в тот же период; в репозитории адаптации Ascend открыто 230 PR (в прошлом выпуске — 225).

2.2 Ascend: четыре исправления кэша подряд — ключ JIT-специализации, ключ autotune, разделение кэшей NPU и симулятора (10-10)

Дата: 2026-10-10 Источники: Параметры тюнинга в ключ JIT (#1871) / Выравнивание ключа autotune (#1872) / Разделение кэшей (#1873) / Развязка перезаписи хранилища (#1874)

  • Четыре PR открыты в один день: #1871 включает параметры тюнинга в ключ кэша JIT-специализации; #1872 приводит ключ кэша autotune в соответствие с эффективными параметрами профилирования; #1873 разделяет кэши NPU Ascend и симулятора; #1874 устраняет зависимость перезаписи хранилища от доступности хост-NPU.
  • Все они нацелены на класс проблем «перемешивания кэшей одного конвейера между реальным устройством и симулятором, а также между различными конфигурациями тюнинга» — семантика кэша на стороне Ascend ужесточается (коммиты сопровождаются автоматическими метками).

2.3 Ascend: объединён полный отчёт о производительности пути MLIR — все 112 примеров для 7 операторов прошли; поддержка профилирования NPU на рассмотрении (10-10)

Дата: 2026-10-10 Источники: Полный отчёт (#197) / Поддержка профилирования NPU (#198)

  • #197 (включён 10-10 14:34): обновлён полный отчёт о производительности TileOPs — охвачено 7 операторов, 112 тестов корректности, все пройдены (CANN 8.5.0, Ascend 910B2C, профилирование msprof); очищены старые отчёты, добавлены пояснения о гонке записи в специфичных сценариях T.arange + T.vbrc и обходное решение через одномерный arange + reshape.
  • #198 на рассмотрении: опциональная поддержка профилирования Ascend NPU — подключён профилировщик torch_npu (Level1, AiCMetrics.PipeUtilization), на временной шкале помечаются tilelang::<kernel> и tilelang.launch::<kernel>, раскрывающие уровни вызова, приложен зонд запуска CANN; при отключении сохраняется исходное поведение запуска.

2.4 Ascend: пакет патчей PTO / CANN в основном репозитории на рассмотрении — vendor помощника редукции, требования к документации и выбор цели примера (10-10 ~ 10-11)

Дата: 2026-10-10, 2026-10-11 Источники: PTO помощник редукции vendor (#3469) / Документация CANN 9.2.0 (#3460) / Выбор цели примера (#3474)

  • Линия PTO: #3469 из-за удаления в апстримном PTOAS всего модуля помощника полной редукции возвращает SIMT-помощник полной редукции в каталог PTO основного репозитория и дополняет тестами — патч ремонта пути PTO основного репозитория, затронутого изменением апстримного интерфейса; #3316 (перевод исполнения PTO на PTO codegen) продолжает находиться на рассмотрении.
  • CANN / инструментальная цепочка: #3460 (патч документации о требовании CANN 9.2.0 для бэкенда Ascend 950), #3461 (обёртка bisheng следует переключателю очистки временных файлов), #3468 (преобразование пути двойного копирования L0C fp32 в f16/bf16), #3466 (понижение скалярного sqrt).
  • Остальное: #3474 (опциональная цель примера, открыт 10-10), #3324 (очередь задач torch_npu), #3326 (одноэтапная компиляция aibin без ld.lld), #3437 (редукция SimdVF dim=1), #3455 (многобуферное заполнение SimdVF), #3321 (профилирование связи хостового оператора с устройственным ядром).

2.5 Hygon: обновление регистрового конвейера; MetaX / Moore Threads молчат (проверка 10-10)

Дата: 2026-10-10 Источники: Регистровый конвейер (#18) / Репозиторий MetaX / Репозиторий Moore Threads

  • Hygon #18 (обновлён 10-10): в tilelang-hygon добавлен регистровый конвейер (взаимодействует с существующим конвейером разделяемой памяти, вставляет инструкции фиксации и барьеров по уровням конвейера), при числе warp больше 4 включается warp-diverge; по описанию автора example_gemm уже достиг уровня rocblas; 48 файлов, +4055/-318, на рассмотрении.
  • У MetaX (последний push 09-24) и Moore Threads (09-30) в окне мониторинга новой активности не было.

3. Экосистема и стороны внедрения

3.1 TileOPs: 21 коммит включён — единоразовый рефакторинг базового класса Op утверждён окончательно (уровень -5200 строк) (10-10 ~ 10-11)

Дата: 2026-10-10, 2026-10-11 Источники: Рефакторинг базового класса Op (#2520) / Руководство по базовому классу Op (TileOPs.github.io #69)

  • #2520 (включён 10-11 06:36, заявлен как финализация «перед релизом», 363 файла, +3362/-5227): десять коммитов упорядочены по принципу «сначала поведение, потом механическое переименование» — операторы с границей компиляции и без неё единообразно исполняются через _run_call, при сбое откат определяется тем, была ли цель выбрана данным вызовом; если вызов подоператора не относится ни к какой фазе delegate_for, составной вызов целиком терпит неудачу и больше не отбрасывается молча; _validate_dtypes удалён, select_kernel_key / select_implementation объединены в key_for; граница компиляции теперь выводится из manifest (проверяется соответствие compile_op_names и набора тестов холодной компиляции), default_kernel_map удалён; конструкторные параметры Gelu / Div и др. переведены в спецификацию вызова.
  • На следующий день сайт документации догоняет руководством «Руководство по базовому классу Op» (#69, 10-11), синхронизируясь с рефакторингом кода.

3.2 TileOPs: пакет производительности MLA / KDA / NSA — декодирование на SM89 ускоряется до примерно 4,6× (10-10 ~ 10-11)

Дата: 2026-10-10, 2026-10-11 Источники: декодирование MLA SM89 (#2511) / расширение разбиения при тюнинге MLA (#2524) / отсев кандидатов MLA (#2525) / дескрипторы WGMMA (#2523)

  • Декодирование MLA (#2511, влито 10-10 22:31): на SM89 выбор разбиения KV 2/4/8/16 в зависимости от батча и числа головных блоков (цель 128 CTA, верхний предел 16), переиспользование существующего ядра сканирования и FP32-слияния разбиений — для одиночного запроса bf16 4k задержка по умолчанию с 0,158 до 0,034 мс (примерно 4,6×), 32k с 1,170 до 0,162 мс (примерно 7,2×).
  • Плоскость тюнинга MLA (#2524 / #2525): кандидаты разбиения при тюнинге расширены до 1/2/4/8/16 (кандидатов с 24 до 40, на практике есть строка с 2,00x относительно FlashInfer); кандидаты, у которых запросный тайл со временным KV превышает бюджет общей памяти, отсеиваются (при D=512 из 40 остаётся 20), холодный тюнинг с первой настройкой сокращён с 348,6 с до 151,6 с, неудачные кандидаты обнулены.
  • Дескрипторы WGMMA (#2523 / #2504): дескрипторы ядер декодирования MLA и DSA-«качелей» теперь конструируются широковещательной рассылкой из lane 0 (ожидание R2UR у HGMMA обнулено, без переполнения) — 26 строк бенчмарка MLA быстрее на 0,7% до 4,1%; попутно исправлено зависание частичного RoPE-декодирования bs1 на SM90 при нехватке последнего блока разбиения.
  • Префилл KDA (#2510): на SM89 для одной последовательности 4096 до 64k token, до 8 голов значений сценарий разбивается по тайлам значений из 16 столбцов — задержки 4k / 32k / 64k снижены соответственно на 22,9% / 19,8% / 18,5%.
  • NSA top-k (#2514): каждый сжатый блок отдаётся одному CTA (запросные головы заполняют 64-строчный тайл WGMMA), внутрирегистровая битовая сортирующая сеть сортирует целую строку (заменяя чётно-нечётный транспозиционный сортировщик), важность разрешается в пользу меньшего номера блока.
  • Постраничный GQA (#2512): ядро SM90 с warp-специализацией и TMA (один производительный warp TMA + две потребительские warpgroup с перекрытием QK и PV), постоянный CTA по одному на SM; устаревшие строки V в тайле, отрезанном на конце кэша, сначала обнуляются, затем читаются; при упакованной раскладке в среднем при наличии хотя бы одного 128-строчного тайла на запрос приоритет отдаётся диспетчеризации, на H200 время перехваченных четырёх строк снижается до 0,44–0,88 от исходного.

3.3 TileOPs: пять подряд по attention sinks и новое открытие masked FP8 GEMM (10-10)

Дата: 2026-10-10 Источники: плотный GQA sinks (#2515) / постраничный GQA RoPE / окно / sinks (#2516) / упакованный varlen sinks (#2517) / постраничный GQA sinks (#2518) / постраничный сбор KV (#2519)

  • Серия attention sinks от superAngGao из пяти пул-реквестов, открытых в один день: плотный GQA (#2515), постраничный GQA с RoPE / окном / sinks (#2516), упакованный varlen (#2517), постраничный (#2518) и постраничный сбор KV (#2519) — поддержка «тонущих token» внимания распространяется на все формы GQA.
  • Также открыт masked FP8 групповой GEMM (#2521, направление MoE); одномерное ядро постраничного GQA для Hopper (#2499, по описанию автора на H200 быстрее FlashInfer в 17/17 сопоставимых случаях) всё ещё на рассмотрении.

3.4 TileOPs: пакет исправлений DSA / постраничного GQA — гонка общей памяти и исключение устаревших строк (10-10)

Дата: 2026-10-10 Источники: гонка в DSA SM90 (#2503) / устаревшие строки постраничного GQA (#2480) / пакет пересборки кэша (#2501)

  • #2503: исправлены три гонки в старом ядре декодирования DSA для SM90 — совместное использование маски is_kv_valid (ключи за пределами причинной границы могли считаться активными), отсутствие упорядочивания обычных записей у cp.async.mbarrier.arrive, гонка построчных сумм между потребителями; попутно исправлен дефект построения хвостового буфера в DSADecodeBasicKernel.
  • #2480: устаревшие строки на конце кэша в выводе постраничного GQA (при наличии NaN в K / V нулевой вес не отсекался) — в зависимости от пути выполняется ограничение или обнуление; добавлены два регрессионных теста с NaN-запросами (страницы 64 / 256).
  • Пакет мелких задач: #2501 / #2513 (пересборка кэша ядер при изменениях заголовков csrc и конфигураций тюнинга), #2522 (учёт времени, затрачиваемого на нетюнингованные конфигурации при каждом поиске автотюнинга), #2502 (стиль пространств имён csrc), #2498 (блочный префилл KDA выведен из SM90), #2506 — #2509 (тестовая группа SM89 и завершение тестов сэмплинга).

3.5 Ночной конвейер: три новых снимка — 1032 проверки корректности, 1947 бенчмарков (52 набора) без сбоев (10-10 ~ 10-12)

Дата: 2026-10-10 ~ 2026-10-12 Источники: ночной снимок (fc2a2a91) / метаданные запуска снимков

  • Три снимка в окне: точки слияния c3146365 (10-11 04:16) → fe5995e0 (10-11 11:46) → 70cfdf84, то есть #2525 (10-12 03:40, запуск 38161982847).
  • Последний снимок: 1032 проверки корректности без сбоев и ошибок (1 пропуск — случай автотюнинга, неприменимый к SM89 на H200), 1947 бенчмарков (52 набора) без сбоев и ошибок (1 пропуск — неподдерживаемая конфигурация KDA); по сравнению с предыдущим снимком прибавилось по 2 пункта в каждой категории.
  • Окружение: H200, CUDA 13.2, драйвер 595.71.05, torch 2.13.0+cu132, TileLang 0.1.12 (tileops 0.0.1.dev1286+g70cfdf848).

3.6 Документация и потребители: руководство по базовому классу Op вышло вместе с рефакторингом; две сборки основного сайта документации (10-10 ~ 10-11)

Дата: 2026-10-10, 2026-10-11 Источники: сборка основного сайта документации (9afde05a) / документация по бенчмаркам TileRT (#58) / TileKernels / FlashQLA

  • Две автоматические сборки основного сайта документации (44ac4d7f, 9afde05a, 10-10 и 10-11); сайт документации TileOPs обновляется вслед за рефакторингом (см. 3.1).
  • Потребители и релизы: в TileKernels и FlashQLA не было пушей в окне (оба остаются на состоянии 09-30); последний тег основного репозитория по-прежнему v0.1.15 (09-30), новых релизов в окне нет; документация по бенчмаркам TileRT #58 (задержка / пропускная способность развёртывания PD для GLM-5.1 и vllm) на рассмотрении (обновление 10-10).

4. Сообщество, обучающие материалы и мероприятия

4.1 tilelang-debugger: запущен офлайн-отчёт отладки в HTML, проверка на двух версиях 0.1.12 / 0.1.15 (10-10)

Дата: 2026-10-10 Источники: tilelang-debugger / коммит HTML-отчёта (07911c42)

  • В окне две правки: унифицированный захват доступа к исходникам (замена фиксированного lowered trace наблюдением за доступом к исходникам, сохранение семантики вычисления выражений, поддержка параметров динамического шага, добавление проб совместимости фронтенда и логических атомарных / адресных адаптеров) — на TileLang 0.1.12 и 0.1.15 прогнано по 117 тестов CPU / TIR, 42 сбора на H200 и 66 пар базовых / инструментированных запусков, независимая проверка кода и установочного пакета пройдена повторно; затем добавлен офлайн-отчёт отладки HTML со связанными доказательствами и диагностикой.
  • С момента создания 10-08 проект сохраняет активность четыре окна подряд (в текущем окне 2 правки, в предыдущем окне 9 правок).

4.2 PTO-ISA: восемь правок SuperNPUBench — специализированные mega-moe и tail_ocp_fp8 (10-10 ~ 10-11)

Дата: 2026-10-10, 2026-10-11 Источники: SuperNPUBench / tilelang-puzzles-ascend

  • В окне восемь правок: версия 2 combine / dispatch для mega-moe (#217); исправление пиковых значений FP4 и метрик MFU; дополнительная оптимизация пути rms_norm 32k с одним блоком (улучшение gamma, свёртка двух R-блоков); дополнение трёх защит M32 (inf / zero / special) для динамического / статического ядра tail_ocp_fp8 и двумерное разбиение V3 (дополнительное разбиение гранулярности строчных тайлов по оси N); обновление общей рабочей книги matmul и её перенос в perf_data.
  • В учебном репозитории tilelang-puzzles-ascend в этом окне коммитов нет.

4.3 Сообщество: создан новый репозиторий TileLang-Awesome (10-11)

Дата: 2026-10-11 Источники: TileLang-Awesome

  • Сообщество добавило SwHwCodesign/TileLang-Awesome (создан 10-11, пока только начальный коммит) — появилось действие по организации экосистемы TileLang в форме «Awesome-списка»; вместе с продолжающейся активностью tilelang-debugger сторонние инструменты и материалы вокруг основного проекта сохраняют интерес.

4.4 Медиа и академия: вышла深度 статья на китайском; зарубежные сводки продолжаются; на HN и arXiv нового нет (10-10 ~ 10-11)

Дата: 2026-10-10, 2026-10-11 Источники: Zhiwei «Почему говорят, что этот open source от DeepSeek может быть так же важен, как R1?» / сводка tech-insider.org / поиск Hacker News / поиск arXiv

  • 深度 статья на китайском: статья Zhiwei (10-10 Fengwen / 10-11 Zhihu) ставит TileLang в центр повествования — объясняет абстракцию Tile, три уровня программных интерфейсов и механизм кэша автонастройки, приводит сравнение адаптации к Ascend с Ascend C «производительность почти не отличается (A2 / A3)», называет значение этого события «сопоставимым с R1»; в тексте цитируется код TileLang-Ascend с обсуждением аналогий структуры Cube / Vector и архитектуры памяти Ascend 950.
  • Зарубежные сводки: материал tech-insider.org от 10-11, составленный из перепечаток Tom’s Hardware, The Next Web и др., объединяет список «шестимодульного набора инструментов Ascend» и сопоставление трёх стеков CUDA / ROCm / Ascend — это продолжение волны публикаций, а не независимый источник, включено как перепечатка.
  • На Hacker News в окне ноль записей (ближайшее релевантное — обсуждение от 10-02 «DeepSeek открывает стек программирования Ascend»); на arXiv новых препринтов нет (ближайшее релевантное — статья об аналитической модели TileSight от 07-24).

5. Наблюдение за трендами

5.1 Полные выходные: 34 слияния выполнены в субботу, воскресенье и ночью понедельника

  • 34 слияния распределились так: суббота 23, воскресенье 9, ночь понедельника 2; 42 новых также распределены круглосуточно (с вечера воскресенья до ночи понедельника всё ещё открывались новые). По сравнению с предыдущим окном (пятница) — 21 слияние; объём слияний в выходные выше, чем в предыдущий рабочий день, ритм проекта «7×24» уже стабилен.
  • База评测滚动 синхронно: два дня три ночных снимка без перерывов, масштаб 1032 проверки корректности и 1947 бенчмарков продолжает расти.

5.2 Завершение рефакторинга и затишье перед релизом: окно выпуска на подходе

  • Наложение трёх групп сигналов: рефакторинг базового класса Op в TileOPs позиционируется как «предрелизное» закрытие (единовременное чистое сокращение примерно на 1865 строк); сайт документации на следующий день выпускает «Руководство по базовому классу Op»; теги основного репозитория после v0.1.15 от 09-30 остаются без изменений, а ночной конвейер продолжает обновлять базу оценки с нулевым числом сбоев.
  • Работы по инженерному качеству (именование / семантика кэширования / ограничители ревью) в этом окне продолжают интенсивно выполняться — путь «сначала зафиксировать базовую линию, затем выпустить официальную версию» очевиден, статическая подготовка к следующему релизу уже готова.

5.3 Расширение аппаратного покрытия на той же неделе: включение SM121, пакет политик производительности SM89

  • В одном и том же окне: SM121 (GB10 / DGX Spark) включает блочно-масштабируемые MMA (#3430); SM89 (серия RTX 40 / уровень L40) получает пакет политик производительности декодирования (#2510 / #2511 / #2506); SM90 (H100 / H200) продолжает детализироваться (#2512 / #2497 / #2503).
  • Аппаратный акцент смещается от «оптимизации под единственный Hopper» к «одновременной доработке нескольких поколений, проникновению в потребительский сегмент»; отечественные бэкенды идут в том же ритме: Ascend — два коммита миграции разреженного MLA плюс четыре подряд исправления кэша, Hygon — обновление регистрового конвейера.

Приложение: материалы и пояснения по проверке

Источник Результат проверки
Организация tile-ai (29 репозиториев) В окне были пуши в 8 репозиториев: tilelang (влито 9, открыто 9), TileOPs (влито 21, открыто 24), TileFoundry (влито 2, открыт 1 на рассмотрении), tilelang-mlir-ascend (влито 1), tilelang-hygon (обновление #18), TileOPs-nightly (3 снимка), tilelang.github.io (2 сборки), TileOPs.github.io (влито 1); итого по организации в окне слито 34, открыто 42; всего открытых PR — 498
Основной репозиторий tilelang Влито 9 (#3400, #3300, #3318, #3427, #3414, #3430, #3332, #3313, #3245); открыто 9 (#3472, #3473, #3474, #3476, #3477, #3478, #3481, #3482, #3483); открытых PR — 170 (в прошлом выпуске 177); на странице релизов и в тегах в окне новых нет (последний v0.1.15, 09-30)
Репозиторий Ascend (ascend / mlir-ascend) ascend: в этом окне влитий нет; открыто 6 (#1869–#1874), обновлено несколько коммитов длительной миграции; открытых PR — 230 (в прошлом выпуске 225). mlir-ascend: влито 1 (#197), #198 на рассмотрении
Hygon / MetaX / Moore Threads Hygon: #18 (регистровый конвейер) обновлён 10-10, на рассмотрении; MetaX (последний пуш 09-24), Moore Threads (09-30) — активности нет
TileOPs Влито 21 (#2480, #2497, #2498, диапазон #2501–#2514, #2520, #2522, #2523, #2524, #2525); открыто 24; открытых PR — 9 (в прошлом выпуске 6)
TileOPs-nightly Три новых снимка: c3146365 (10-11 04:16), fe5995e0 (10-11 11:46), 70cfdf84 (10-12 03:40, точка слияния #2525); последняя корректность — 1032 пункта, бенчмарки — 1947 пунктов (52 набора), ноль сбоев и ошибок
TileFoundry Влито 2 (#220, #223); открыт 1 (#221, на рассмотрении)
Потребители и сообщество TileKernels, FlashQLA — пушей в окне нет (оба 09-30); TileRT #58 на рассмотрении (обновлён 10-10); tilelang-debugger — 2; TileLang-Awesome — создан новый репозиторий (10-11)
Организация PTO-ISA SuperNPUBench — 8 в окне; tilelang-puzzles-ascend — обновлений нет
Google News / Hacker News / arXiv Google News — 4 попадания (1 глубокий разбор на китайском, 1 зарубежная агрегация, 2 фоновых материала, все не из первых рук); HN — ноль записей; arXiv — новых препринтов нет

Полный список источников

<lang-ascend/pull/1730>