Ежедневный отчёт TileLang (2026-09-19)
Окно мониторинга: последние 24 часа (2026-09-18 07:00 ~ 2026-09-19 07:00, пекинское время). Этот выпуск — стандартное ежедневное окно, пересечений с предыдущим выпуском нет. Источники: GitHub (полная проверка времени отправки 28 репозиториев организации tile-ai, в окне были отправки в 6 репозиториев; построчная перепроверка 2 слияний и 5 новых PR основного репозитория, включая текст PR, количество изменённых файлов и число добавленных/удалённых строк; 5 слияний и 1 новый PR TileOPs; ежедневный отчёт регрессии репозитория Ascend, изменения CI и 2 коммита; полный разбор XML базовых показателей и корректности ночного снимка TileOPs-nightly; проверка репозитория дистрибутива бэкенда Sunrise и веток), многочисленные группы запросов Google News RSS на китайском и английском (через прокси), Hacker News, arXiv, репозитории пользователей (TileKernels / FlashQLA)
Индекс выпуска
- Главное за сегодня: в основном репозитории открыт новый исполнительный бэкенд CUDA Tile IR, 134 файла, около 36 тысяч добавленных строк (09-18)
-
- Ключевые достижения проекта
- 1.1 Восстановлено доказательство инъективности символической компоновки циклов, исправлена регрессия смешанного статического и динамического T.Parallel (09-18)
- 1.2 ROCm CI подключён к проверке переносимых примеров, что косвенно подтверждает выход пути ROCm в фазу сходимости (09-18)
- 1.3 В окне в основном репозитории открыто пять новых PR: бэкенд Tile IR, ограничение ширины копирования, 256-битный доступ к памяти начиная с SM100, примеры GLM-5.3 и KDA (09-18/09-19)
- 1.4 TileOPs: пять слияний за день: развязка диспетчеризации и вызова, дополнение форм SM90, вынос помощника постраничного KV, закрытие выхода за границы разрежённого MLA, составной оператор манифеста (09-18)
- 1.5 TileOPs: открыто ядро транспонированного FP8 батчевого матричного умножения, прямое догоняющее сравнение с эталонной реализацией (09-18)
- Ключевые достижения проекта
-
- Мультибэкендная адаптация (Ascend / Sunrise / MetaX / Hygon / Moore Threads)
- 2.1 Ascend: ежедневная регрессия из 1936 пунктов пройдена полностью, введено сегментирование тестов на нескольких устройствах (09-18/09-19)
- 2.2 Ascend: документация оператора сравнения дополнена покрытием dtype, исправлен жизненный цикл буфера скрипта базовых показателей (09-18)
- 2.3 Дистрибутив бэкенда Sunrise: бэкенд TANG для ускорителя S2 вышел в кандидаты 0.1.14 (09-16/09-18)
- 2.4 MetaX, Hygon, Moore Threads: в окне новых коммитов нет, поддержка веток версий сохраняется (09-17)
- Мультибэкендная адаптация (Ascend / Sunrise / MetaX / Hygon / Moore Threads)
-
- Экосистема и пользователи
- 3.1 FlashQLA прервал молчание: три слияния в один день, включая обратное слитое ядро SM120 (09-18)
- 3.2 Ночные базовые показатели TileOPs: 1040 пунктов без сбоев, корректность 1118 пунктов полностью пройдена (09-18)
- 3.3 TileKernels и TileRT в окне без отправок (04-23, 08-13)
- 3.4 Инструменты сообщества: запущен репозиторий документации по профилированию производительности TileSight, соответствующая статье arXiv о модели производительности (09-18)
- Экосистема и пользователи
-
- Сообщество, руководства и мероприятия
- 4.1 Сайт документации организации: одно развёртывание сайта в окне, изменений содержимого в ветке по умолчанию нет (09-18)
- 4.2 Медиа и академическая сторона: в окне нулевых добавлений (09-19)
- 4.3 Ритм версий: основной репозиторий по-прежнему v0.1.14, теги адаптационных репозиториев не изменялись (09-11)
- Сообщество, руководства и мероприятия
-
- Наблюдения за трендами
- 5.1 Формируется второй исполнительный путь на стороне NVIDIA: от генерации исходного кода CUDA к CUDA Tile IR
- 5.2 Основной репозиторий продолжает переносить тихие семантические ошибки в отказы на этапе компиляции
- 5.3 TileOPs параллельно ведёт две линии — производительность и контракты, ночные базовые показатели переходят в зелёный
- 5.4 На стороне пользователей потепление, FlashQLA за один день три слияния
- 5.5 Расширение матрицы бэкендов: от одного полюса Ascend к сосуществованию дистрибутивов нескольких бэкендов
- Наблюдения за трендами
- Приложение: материалы и пояснения по проверке
Главное за сегодня: в основном репозитории открыт новый исполнительный бэкенд CUDA Tile IR, один коммит на 134 файла
Дата: 2026-09-18 Источник: tilelang #3247 добавлен исполнительный бэкенд CUDA Tile IR
Самое тяжёлое содержимое этого окна появилось в очереди на рассмотрение основного репозитория: исполнительный бэкенд под названием tileir был поднят в PR, масштаб изменений — 134 файла, добавлено около 35829 строк, удалено 111 строк, автор — 0xtaruhi, создан по пекинскому времени 09-18 20:40, в окне продолжал обновляться.
Он делает следующее: опускает программы TileLang до CUDA Tile IR от NVIDIA, затем через среду выполнения cuTile загружает ассемблерный артефакт и запускает его, целевая комбинация версий — привязки CUDA Tile IR 13.4, tileiras 13.4, cuTile 1.5. По сравнению с существующим бэкендом CUDA (напрямую генерирует исходный код C/CUDA и передаёт nvcc) это новый путь с более высоким семантическим уровнем: поведение TileLang напрямую ложится на Tile IR, а компиляция и оптимизация передаются собственному плиточному промежуточному представлению NVIDIA.
Сопутствующие изменения также системны, что показывает: это не прототип, а разработка по стандартам продукта:
- Бэкенд подключён в трёх местах: JIT-компиляция, кэш ядер и автоматическая настройка; изменения затронули
tilelang/jit/adapter/tileir,tilelang/cacheиtilelang/autotuner; типизированный IR, понижение и ядро проходов размещены вtilelang/tileir; - Добавлен параметр конфигурации прохода, позволяющий по-прежнему выполнять существующие проверки семантики исходного языка до материализации Tile IR (включая путь восстановления из кэша), с сохранением настраиваемого переключателя отключения;
- Восстановлено полное покрытие примеров под новым инструментальным стеком; одна из конкретных задач — изолировать написанные вручную привязки pybind на стороне хоста от nvcc, чтобы заголовки расширения чисто компилировались под CUDA 13.4;
- Добавлены два документа (по одному для внутреннего устройства компилятора и руководства по программированию) и одна CI-задача для специальной сборки привязок TileIR фиксированной версии.
Приведённый автором план тестирования охватывает модульные тесты и случаи понижения, цепочку JIT, кэша и настройки, а также регрессию всех примеров. Следует отметить, что данный PR на момент окончания окна всё ещё находится в несмерженном состоянии; масштаб изменений велик, целевая версия инструментального стека нова, и то, попадёт ли он в конечном итоге в основную ветку, зависит от ревью; в этом выпуске он выделен как ключевой на том основании, что в рамках окна он дал наибольший объём содержательной инженерной работы и указывает на выбор backend-направления TileLang.
1. Ключевые достижения проекта
Обзор окна: в ветке по умолчанию основного репозитория в рамках окна было всего 2 слияния (по одному в 09-18 14:56 и 09-19 01:56), но очередь ревью активна — в рамках окна открыто 5 новых PR, все в несмерженном состоянии. Иными словами, акцент основного репозитория в этом окне — «отправка новых путей + отправка защитных исправлений», темп слияний замедлен. На стороне TileOPs ситуация обратная: 5 слияний за один день.
1.1 Восстановление доказательства инъективности символьной компоновки циклов, исправление регрессии смешанных статических и динамических T.Parallel (09-18)
Дата: 2026-09-18 Источник: tilelang #3233 Восстановление доказательства инъективности символьной компоновки циклов/связанный баг-репорт #2906
Единственное смысловое исправление основного репозитория в этом окне — исправление регрессии между v0.1.12 и основной веткой, отправленное sepcnt, 4 файла, +198/-13, смержено 09-18 14:56 (пекинское время).
Сценарий срабатывания весьма конкретен: когда пространство итераций T.Parallel имеет смешанную статико-динамическую форму (например, (16, n), где n принимает T.dynamic), компоновка имеет дополненный хвост, её компоновка цикла инъективна, но не биективна, и область определения не поддаётся перечислению. Ранее на этом пути проверка откатывалась к «не проверять», а некое промежуточное изменение заменило её на реальное доказательство, которое, однако, не умело обрабатывать символьный шаг, из-за чего такие ядра в основной ветке напрямую сообщали «не найдена доступная компоновка» — тогда как на v0.1.12 они работали.
Исправление восстанавливает доказательство инъективности символьной компоновки дополненного цикла: предпринимается попытка построить обратное отображение из проверяемого отображения итераций, а затем доказать равенство туда-обратно на области определения. Автор в PR явно описал различия в слепых зонах двух средств проверки в точке вызова, оба сохранены — это означает, что это не простой откат к старому поведению, а дополнение аргументации корректности.
Вторая независимая часть — отказ от навешивания компоновки на символьные тайлы разделяемой памяти, отправлена в том же пакете, что и первая часть, и является результатом переопределения объёма тем же автором в ходе ревью.
1.2 Подключение проверки переносимых примеров в ROCm CI, косвенно подтверждающее вступление пути ROCm в фазу сходимости (09-18)
Дата: 2026-09-19 Источник: tilelang #3165 Запуск проверки переносимых примеров в CI
Смержено 09-19 01:56 (пекинское время); содержание — добавление небольшого белого списка в задачу ROCm CI для прямого запуска собственного пути проверки корректности примеров вместо поддержки дублирующего набора случаев в каталоге тестов. Белый список охватывает четыре категории: внимание Seer, обобщённый Top-K, прямой проход разрежённого многоголового латентного внимания, групповое матричное умножение на основе тензоров.
Значение этого изменения — в смене источника покрытия: ранее верификация на стороне AMD выполнялась специально поддерживаемыми копиями тестов, теперь же «пример есть тест». Когда backend начинает использовать сами примеры как регрессионные активы, это обычно означает, что примеры данного backend стали достаточно стабильными, чтобы служить эталоном, и сопровождающим больше не нужно отдельно разворачивать для него набор тестов.
1.3 Пять новых PR основного репозитория в рамках окна: бэкенд Tile IR, ограничение ширины копирования, 256-битные обращения к памяти начиная с SM100, примеры GLM-5.3 и KDA (09-18/09-19)
Дата: с 2026-09-18 по 2026-09-19 Источник: #3246 Ограничение ширины копирования/#3247 Бэкенд Tile IR/#3248 256-битные обращения к памяти/#3249 Пример декодирования KDA/#3250 Сжатие GLM-5.3
Помимо представленного сегодня в центре внимания бэкенда Tile IR, в окне мониторинга открыто ещё четыре новых пункта, упорядоченных по времени создания:
Во-первых, #3246 (09-18 15:39) ограничивает верхний предел ширины объединения T.copy и T.async_copy фактически достижимой шириной вектора, заменяя прежний фатальный лог. Ранее передача неподдерживаемой ширины приводила к немедленному завершению процесса через LOG(FATAL), после изменения значение ограничивается до доступного и компиляция продолжается. Это противоположно, но дополняет направление предыдущего выпуска «переводить тихие ошибки в явные сбои» — здесь «немедленное падение» заменяется на «деградацию и продолжение», критерий таков: ограничение ширины относится к ограничениям возможностей, а не к семантической ошибке пользователя.
Во-вторых, #3248 (09-19 01:35) исправляет применимые цели для 256-битного глобального доступа к памяти: указанная ширина выдаётся только на архитектурах SM100 и новее при CUDA 12.9 и выше, старые архитектуры возвращаются к пути 128 бит, а также добавлены негативные тесты на старых архитектурах. Этот пункт относится к тому же классу работ, что и планирование ширины атомарных векторов из предыдущего выпуска, — оба дополняют подчинённые условия для новых возможностей широких векторов.
Третий и четвёртый пункты оба относятся к направлению ROCm: #3249 (09-19 02:23) добавляет пример декодирования KDA с защитным стробированием, используя TileLang для написания ядра упакованного декодирования, обновляя на месте пул циклических состояний, индексируемый по слотам, и дополняя покрытие корректности для согласованности вывода и состояния, многошаговости, пустых индексов состояния, неупорядоченных слотов, конфигурируемых границ и т.д.; #3250 (09-19 06:42) добавляет k-пул сжатия и запись в кэш для GLM-5.3, включая поразмерное softmax-пулирование, нормализованное преобразование Hadamard-128 и повекторное квантование FP8, а также записывает FP8-значения K и FP32-масштабы в постраничный кэш, удерживаемый вызывающей стороной.
Стоит отметить, что всё это новое содержимое направления ROCm — конкретные операторы для конкретных моделей (сжатое внимание GLM-5.3, состояние декодирования стробированного линейного внимания KDA), а не общее дополнение возможностей бэкенда. Это показывает, что продвижение на стороне AMD уже перешло от «бэкенд работает» к «нативные операторы новых моделей должны быть и здесь».
1.4 TileOPs за один день влил пять коммитов: развязка диспетчеризации и настройки, дополнение форм SM90, вынос помощников постраничного KV, закрытие выхода за границы разреженного MLA, манифест составных операторов (09-18)
Дата: 2026-09-18 Источники: #2147 манифест составных операторов/#2149 выход за границы разреженного MLA/#2150 вынос помощников постраничного KV/#2151 дополнение форм SM90/#2152 развязка диспетчеризации и настройки
TileOPs в этом окне мониторинга влил 5 коммитов, по характеру разделяющихся на три категории:
Контрактная категория — #2147 (влит в 08:36) позволяет манифесту операторов описывать составные операторы; это пункт, о котором в предыдущем выпуске сообщалось как о не влитом, в этом окне мониторинга он реализован. Он также убирает ранее разбросанную по нескольким местам дублирующуюся логику вывода и поддерживает nullable-выходы. В предыдущем выпуске его список проблем был подробно раскрыт, здесь не повторяется.
Корректность диспетчеризации — #2152 (влит в 19:27) развязывает «запрос на настройку» и «выбор реализации». Ранее параметр tune должен был влиять только на то, как строится ядро, но использовался двумя специализированными реализациями как условие диспетчеризации, из-за чего одна и та же форма выбирала разные реализации лишь потому, что вызывающая сторона запросила настройку, причём шаблон батчевого матричного умножения напрямую отвергал запросы настройки. После исправления ядро-селектор не зависит от настройки.
Восполнение слепых зон — #2151 (влит в 15:42) дополняет диапазон форм на SM90, за который никто не отвечал: базовое ядро GEMM полностью исключает SM90, а универсальное ядро GEMM обслуживает только вызовы, адресуемые TMA; вычитание одного из другого оставляет пробел, конкретно — случаи, когда операнды имеют половинную точность, K не кратен 8, а M больше 2. Исправление заставляет базовое ядро взять эту часть на себя.
Закрытие корректности — #2149 (влит в 13:02) исправляет два места: операция gather при декодировании разреженного многофокусного латентного внимания ранее проверяла только причинную верхнюю границу, и когда слоты top-k заполнялись длиной последовательности или -1, происходило чтение строк, которых кэш на самом деле не содержит; исправление ограничивает верхнюю границу значением длины последовательности минус один и выполняет проверку на неотрицательность для каждого индекса; другое место — обеспечение достоверности замера времени постраничного внимания при фрагментированной раскладке.
Структурный рефакторинг — #2150 (влит в 13:22) выносит пять вспомогательных функций постраничного KV-кэша из модуля группового запросного внимания. Эти пять функций (построение таблицы чередующихся блоков, построение таблицы фрагментированных блоков, извлечение строк из постраничного кэша, заполнение постраничного кэша по логической последовательности, построение единичного масштабирования кэша) не принадлежат исключительно групповому запросному вниманию, ранее модуль многофокусного внимания был вынужден обратно зависеть от него, теперь они выделены в отдельный слой.
Общая черта этих пяти влитых коммитов: основной объём инженерной работы в TileOPs сейчас не в «добавлении новых операторов», а в согласованности диспетчеризации, границах модулей и безопасности памяти, проявляющихся после роста числа операторов.
1.5 TileOPs открывает новое ядро транспонирования FP8 батчевого матричного умножения, напрямую догоняя эталонную реализацию (09-18)
Дата: 2026-09-18 Источники: TileOPs #2153 транспонирование B-операнда FP8 с помощью ядра с объединённым доступом к памяти
Единственный новый PR в TileOPs за окно (обновлён 09-18 16:18, не влит). В описании прямо сказано: прямой оператор пакетного матричного умножения FP8 в 4 из 5 сценариев при trans_b=False проигрывает эталонной реализации, в худшем случае отставание достигает 0,34x. Автор сначала перепроверил согласованность эталонной реализации с fp32-эталоном, убедился, что эталон не жульничает, а затем решил реализовать транспонирование операнда B в виде ядра с объединённым доступом к памяти, вместо того чтобы продолжать латать общий шаблон.
Этот PR — продолжение той же линии, что и ускорение пакетного матричного умножения из прошлого выпуска (переход на общий шаблон GEMM, до 1,44x на H200): на стандартных формах пакетное матричное умножение уже догнало и даже обогнало эталон, а оставшиеся слабые места сосредоточены в вариациях типов данных (FP8) и вариациях раскладки (требуется транспонирование B) — в этих уголках. Повлияет ли это на универсальность общего шаблона, станет ясно после влития по результатам ночного регрессионного прогона бенчмарков.
2. Мультибэкендовая адаптация (Ascend / Sunrise / MetaX / Hygon / Moore Threads)
Обзор окна: в этом окне в раскладе отечественных и сторонних бэкендов произошло структурное изменение — помимо уже существующих четырёх (Ascend, Hygon, MetaX, Moore Threads), в организации tile-ai уже существует репозиторий дистрибутива бэкенда для нового ускорителя (Sunrise), продвинутый до ветки кандидата в релиз. Из четырёх существующих бэкендов в окне коммиты были только у Ascend.
2.1 Ascend: ежедневная регрессия — все 1936 пунктов пройдены, введено шардирование тестов между несколькими устройствами (09-18/09-19)
Дата: 2026-09-19 Источники: ежедневный отчёт о тестировании tilelang-ascend #1813 / шардирование CI-тестов между несколькими устройствами #1812
Ежедневное плановое тестирование на стороне Ascend выдало отчёт в пекинское время 09-19 05:52: все 1936 пунктов пройдены, провалов 0, доля успешных 100 %. По сравнению с предыдущим днём (1925 пунктов в 09-18 05:46) и позапрошлым (1919 пунктов 09-17) общее число сценариев за два дня выросло на 17 и осталось полностью зелёным — это прямое доказательство того, что «в upstream продолжают вливаться новые возможности, а регрессия на стороне Ascend по-прежнему не ломается».
В том же окне этот репозиторий открыл ещё одно изменение CI (#1812, заголовок — добавление универсального шардирования тестов между несколькими устройствами), созданное 09-18 16:31 и всё ещё обновлявшееся 09-18 19:22, не влито. Число сценариев постоянно растёт, а время регрессии на одной машине будет соответственно удлиняться, так что шардирование — шаг в ногу со временем.
2.2 Ascend: документация сравнительных операторов дополнена покрытием dtype, исправлен жизненный цикл буферов в скрипте бенчмарка (09-18)
Дата: 2026-09-18 Источники: tilelang-ascend #1602 обновление документации сравнительных операторов и дополнение покрытия dtype / #1779 исправление жизненного цикла возвращаемых токенов буферов в скрипте бенчмарка
Оба коммита в репозитории Ascend за окно пришлись на 09-18 15:10 и 15:31 (пекинское время): один обновляет строку документации сравнительного оператора, добавляет тесты покрытия типов данных и документацию по API; другой исправляет в bench_sfa жизненный цикл возвращаемых токенов временных буферов аккумулятора и выхода, чтобы буферы не освобождались до завершения использования. Ни один из них не расширяет возможности операторов, а дополняет документацию, тестовое покрытие и надёжность скрипта бенчмарка уже существующих операторов — в сочетании с ростом масштаба регрессии из п. 2.1 это показывает, что сторона Ascend сейчас находится на этапе «возможности уже развёрнуты, акцент смещён на качество и сопровождаемость».
2.3 Дистрибутив бэкенда Sunrise: бэкенд TANG для ускорителя S2 выходит в кандидат 0.1.14 (09-16/09-18)
Дата: 2026-09-18 Источник: репозиторий tile-ai/tilelang-sunrise
В организации tile-ai есть репозиторий, ранее не упоминавшийся в этом ежедневном отчёте, который попал в список пушей за окно: tilelang-sunrise, созданный 2026-08-26. Его самоописание — дистрибутив бэкенда Sunrise S2/TANG для TileLang — Sunrise S2 это отечественный GPGPU для вывода больших моделей, а TANG — его стек компиляции и исполнения (репозиторий требует TANG Runtime и сопутствующий пакет бэкенда для torch, а также совместимый пакет Triton). Примеры предоставляемых операторов охватывают матричное умножение, деквантованное матричное умножение, FlashAttention, Flash-линейное внимание, Flash-декодирование многоголового латентного внимания и нативное разреженное внимание, то есть тот же набор примеров, что и в основном репозитории.
Состояние продвижения: в окне в репозиторий были пуши (09-18 11:03), но последний коммит в ветке по умолчанию остаётся на 09-04; в ветке-кандидате, несущей подготовку релиза, последний коммит от 09-16 — обновление версии, поднимающее номер версии до 0.1.14+sunrise.1.1.0, то есть репозиторий уже следует за линией v0.1.14 основного репозитория. В репозитории также есть партия необработанных PR по обновлению зависимостей и одна ветка CI.
В фокусе суждения: это форма «дистрибутива для бэкенда», а не «патчевой ветки» — отдельный репозиторий, отдельная версия релиза (с суффиксом после номера версии основного репозитория), отдельный CI. Вместе с веткой feat/hcu-... компании Hygon и ветками обратного портирования с суффиксами компании Moore Threads это образует три различных способа организации адаптации. Поскольку описание и примеры данного репозитория изоморфны основному репозиторию, его можно рассматривать как ещё один путь ускорения инференса TileLang вне NVIDIA/AMD/Ascend, который входит в состояние готовности к релизу.
2.4 MetaX, Hygon, Moore Threads: в окне нет новых коммитов, поддержка веток версий сохраняется (09-17)
Дата: 2026-09-17 Источники: tilelang-metax/tilelang-hygon/tilelang-musa
У трёх репозиториев адаптации в течение 24-часового окна коммитов не было; последние отправки приходятся соответственно на 09-17 17:38, 09-17 20:25, 09-17 03:47 (пекинское время), все до окна, и относятся к материалам предыдущего выпуска: асинхронное копирование матричного умножения и исправление его тестов у MetaX, многоуровневая перебазировка адресов памяти и включение асинхронного конвейера у Hygon, документация MUSA 5.3.0 у Moore Threads. Теги версий у всех трёх в окне не обновлялись; последние теги по-прежнему: у MetaX релиза нет, у Hygon релиза нет, у Moore Threads — v0.1.14+musa.1 (09-11).
3. Экосистема и стороны внедрения
3.1 FlashQLA завершает молчание: три влития в один день, включая ядро обратного слияния для SM120 (09-18)
Дата: 2026-09-18 Источники: FlashQLA #34 ядро обратного слияния SM120/121/#41 заполненность решателя KKT для SM100/#44 асинхронный конвейер для неполных хвостовых блоков
В предыдущем выпуске отчёта в разделе «тишина на стороне внедрения в окне» было явно отмечено отсутствие отправок во FlashQLA; в текущем окне туда в один день влито три изменения, причём время крайне сосредоточено — с 09-18 15:51 до 15:53 по пекинскому времени, это единовременное закрытие пакета.
Содержание трёх изменений следующее:
- Добавлена поддержка оборудования (#34): для блочно-гейтового правила delta добавлено ядро обратного слияния для SM120/SM121. Реализация в основном повторяет более ранний конвейер на Hopper; главное отличие — стратегия редукции в разделяемой памяти: верхний предел разделяемой памяти у SM120 ниже, и редукцию пришлось перепроектировать с учётом этого ограничения.
- Настройка заполненности (#41): ядрам решателя KKT для фиксированной и переменной длины добавлена аннотация минимального числа резидентных блоков на каждый потоковый мультипроцессор; цель — удержание восьми блоков по 128 потоков на каждом потоковом мультипроцессоре; математика KT, разметка, сетка запуска и публичный интерфейс не меняются.
- Исправление корректности (#44): в сценарии упаковки переменной длины последний блок плиток, содержащий менее 64 строк, ранее читал лишнее в следующую последовательность. Исправление сохраняет быстрый путь прямого доступа к памяти для полных плиток, для неполного хвостового блока переходит на асинхронное копирование с предикатами и нулевым заполнением, а буферизацию хвостового блока разбивает на несколько каналов.
Оба типа изменений указывают на одно: инженерный фокус FlashQLA (реализации гейтового линейного внимания на основе TileLang со стороны Qwen) смещается от «адаптации к новым архитектурам» к «заполненности и граничной корректности на той же архитектуре». Сосредоточенное влитие трёх изменений также говорит о том, что ритм поддержки — пакетное рецензирование, а не поштучное слияние.
3.2 Ночной бенчмарк TileOPs: 1040 пунктов, ноль отказов; корректность — 1118 пунктов, все пройдены (09-18)
Дата: 2026-09-18 Источники: снимок-коммит TileOPs-nightly/метаданные окружения снимка
Ночной конвейер в этом окне сгенерировал для TileOPs 4c5b441f (того самого влития «развязка диспетчеризации и тюнинга» из раздела 1.4) снимок, содержащий три части: результаты бенчмарков, результаты корректности и метаданные окружения. Разбор двух файлов результатов даёт следующие показатели:
- Корректность: 1118 пунктов, отказов 0, пропущено 2;
- Бенчмарки: 1040 случаев, отказов 0, пропущено 3.
По сравнению со снимком предыдущего дня (корректность 1117 пунктов, все пройдены; бенчмарки 1039 пунктов, 1 отказ) число случаев выросло на 1 в каждом, и единственный вчерашний отказ в бенчмарке исчез — вчера отказом был случай ядра предзаполнения с постраничной организацией сгруппированного запроса-внимания в конфигурации softcap 50, ошибка исходила от несовпадения сигнатуры функции эталонной реализации (нехватка параметра), а не от ошибки самого ядра TileOPs. Позеленение сегодня означает, что проблема на стороне эталона была устранена.
Метаданные окружения фиксируют воспроизводимые элементы достаточно полно: H200, CUDA 13.2, драйвер 595.71.05, лимит мощности 700 Вт, тактовая частота одного потокового мультипроцессора 1500 МГц (верхний предел 1980), тактовая частота памяти 3201 МГц, образы фиксируются по их содержимому, а также полные версии зависимостей (среди них TileLang — версия 0.1.11 с кодовым обозначением, собранная для этого коммита, PyTorch 2.13.0). Набор бенчмарков охватывает операторы декодирования (разреженное внимание при декодировании, декодирование с многоадаптивным латентным вниманием, варианты группового запросного внимания) и 27 случаев пакетного матричного умножения — именно та область, где в разделе 1.5 эталонная реализация была превзойдена.
3.3 TileKernels и TileRT: отсутствие обновлений в окне мониторинга (04-23, 08-13)
В окне мониторинга ни TileKernels от DeepSeek, ни TileRT из организации tile-ai не имели коммитов; время последнего обновления по-прежнему составляет 2026-04-23 и 2026-08-13 соответственно. TileRT остаётся без изменений уже шесть недель подряд. Вся динамика на стороне потребителей в этом окне исходит от FlashQLA.
3.4 Инструменты сообщества: запущен репозиторий документации по профилированию производительности TileSight, соответствующая статья arXiv о модели производительности (09-18)
Дата: 2026-09-18 Источники: репозиторий tilelang4tilesight-doc/arXiv 2607.22432 TileSight
В окне мониторинга появился новый репозиторий документации, созданный участником сообщества, темой которого является подключение профилирования производительности TileLang к инструментальной цепочке TileSight: извлечение семантики, рабочей нагрузки и информации о зависимостях из Python и высокоуровневого TIR, подключение к интерфейсам анализа кэша и конвейера TileSight, а затем генерация независимых отчётов и совместных прогнозов на основе runtime-наблюдений. Репозиторий задаёт порядок чтения четырёх документов на китайском языке (общее решение по двум путям — модель и runtime, этапы TileSight, фронтенд-интерфейсы и анализ конвейера, модуль кэша, сопоставительный индекс функций профилирования производительности и протоколов), а проблемы производительности делит на шесть категорий: узкие места конвейера, аномалии межмодульных перемещений данных, аномалии использования кэша, сбои перекрытия вычислений и обращений к памяти, неравномерность загрузки и т. д.; документация явно требует, чтобы отчёты различали три уровня силы выводов: «прогноз модели», «runtime-наблюдение», «недостаточно доказательств».
Соответствующий академический контекст — статья о моделировании производительности на arXiv от 2026-07-24 (аналитическая GPU-модель производительности на уровне тайлов от ядра до кластера), это самый свежий препринт по теме TileLang. Оба материала вместе говорят о том, что вокруг TileLang формируется третья линия сообщества — интерпретируемость производительности, независимая от самого языка и библиотеки операторов. Этот репозиторий является личным проектом, пока не имеет звёзд, и включён по той причине, что это единственное существенное новое добавление на стороне сообщества в данном окне мониторинга.
4. Сообщество, руководства и мероприятия
4.1 Сайт документации организации: одно развёртывание сайта в окне мониторинга, изменений содержимого в ветке по умолчанию нет (09-18)
Дата: 2026-09-18 Источники: репозиторий TileOPs.github.io
У сайта документации TileOPs в окне мониторинга есть запись об обновлении (09-18 08:00), однако в его ветке по умолчанию нет новых коммитов в этом окне; это расценивается как действие по развёртыванию сайта, а не обновление содержимого. Сайт документации основного репозитория в этом окне не имел обновлений, что контрастирует с повторной генерацией ботом на предыдущий день (387 файлов) — ритм следования сайта документации за вышестоящим кодом изначально носит импульсный характер.
4.2 Медиа и академическая сторона: ноль новых материалов в окне мониторинга (09-19)
Многочисленные запросы в Google News RSS по теме на английском и китайском языках дали ноль новых попаданий в этом окне: на английской стороне за последние 7 дней лишь один материал, сильно связанный с темой, — та самая публикация, уже включённая в предыдущий выпуск, об оценке инженером DeepSeek способности AI писать ядра; её время публикации приходится на предыдущее окно, в этом выпуске она не повторяется; на китайской стороне комбинированные запросы по названиям компонентов, отечественным ускорителям и ядрам операторов полностью не дали результатов в пределах окна. На стороне Hacker News за последние пять дней нет попаданий по теме (найденные попадания по ключевым словам типа TileOPs, tile относятся к нерелевантным темам). На стороне arXiv в окне мониторинга новых препринтов нет.
4.3 Ритм версий: основной репозиторий по-прежнему v0.1.14, теги адаптационных репозиториев не двигались (09-11)
Последний тег основного репозитория по-прежнему v0.1.14 (выпущен 09-02), новых тегов в окне мониторинга нет; у TileOPs до сих пор нет записей о релизах; последний тег репозитория Ascend — TileLang-ascend v0.1.2.000-release (09-09); последний тег репозитория Moore Threads — v0.1.14+musa.1 (09-11). Ритм релизов двух последних выровнен по минорным версиям основного репозитория, сейчас оба остаются на линии v0.1.14 и ещё не продвинулись вслед за основной линией до новой версии.
5. Наблюдения за тенденциями
5.1 Формирование второго пути исполнения на стороне NVIDIA: от генерации исходного кода CUDA до CUDA Tile IR
Наиболее значимым для отслеживания в этом выпуске является открытие #3247. Прежний путь TileLang для NVIDIA представлял собой «понижение до промежуточного представления с плиточной семантикой, затем генерацию исходного кода CUDA и, наконец, передачу в nvcc»; новый путь изменён на «понижение до CUDA Tile IR, компиляцию и оптимизацию инструментальной цепочкой плиточного уровня NVIDIA, загрузку через среду выполнения cuTile». Сосуществование двух путей означает: во-первых, уровень абстракции TileLang начинает непосредственно соприкасаться с собственным плиточным уровнем абстракции NVIDIA, и вопрос о том, кто берёт на себя решения по планированию и компоновке, станет долгосрочной темой; во-вторых, как только путь Tile IR созреет, ценностное предложение TileLang на платформе NVIDIA частично сместится с «лучшей генерации кода» к «более полному выражению программы и кросс-бэкендной согласованности». Масштаб этого PR (целый бэкенд от компиляции до кэширования, до настройки производительности, а также документация и CI в комплекте) также говорит о том, что это не экспериментальная ветка.
5.2 Основной репозиторий продолжает выводить тихие семантические ошибки в ошибки времени компиляции
Продолжая наблюдение из предыдущего выпуска, среди двух коммитов в основном репозитории в этом окне есть один явный (восстановление доказательства компоновки из 1.1), относящийся к категории «превратить тихую ошибку в явное сообщение об ошибке»; вместе с накопленными за три предыдущих выпуска диагностикой случайных чисел, блокировкой неподдерживаемых комбинаций типов и отклонением форм разреженных метаданных это уже сделало «приоритет отказа на этапе компиляции» устойчивой инженерной ориентацией основного репозитория. Новая информация этого выпуска — это граница данного принципа: в 1.3 фатальное сообщение о ширине копирования заменено на понижение с ограничением, что говорит о том, что сопровождающие различают «семантическую ошибку пользователя» (должна приводить к отказу) и «ограничение возможностей» (должно приводить к понижению) — это не ослабление принципа, а более чёткое прописывание критериев.
5.3 Производительность и контракты TileOPs идут параллельно, ночные бенчмарки стали зелёными
Из 5 коммитов TileOPs в этом окне 3 касаются диспетчеризации, границ модулей и безопасности памяти, 1 — контракта манифеста, и только 1 (новый пакетный матричный умножение FP8) является чисто производительностным. В сочетании с переходом ночных бенчмарков от «1 сбой» к «ноль сбоев» текущее состояние таково: базовый уровень производительности стабилен и уже способен превзойти эталонную реализацию на основных формах, поэтому инженерные ресурсы переключаются на согласованность и контракты после сосуществования множества операторов. Это типичный сигнал зрелости библиотеки операторов — чем больше операторов, тем важнее корректность диспетчеризации и манифеста для верхнего уровня.
5.4 Сторона adopters оживает, FlashQLA — три коммита за один день
Оценка «adopters молчат» из предыдущего выпуска в этом выпуске опровергнута: FlashQLA в один и тот же день принял три коммита, охватывающих новую архитектуру (обратное fused-ядро SM120/SM121), настройку занятости и корректность блоков переменной длины в хвосте. Это указывает на то, что обновления репозиториев adopters носят импульсный характер — после накопления определённого объёма очередь ревью сливается пакетом, и тишина в течение одного или нескольких дней не образует тенденции. На уровне ежедневного отчёта следует избегать интерпретации тишины за один период как остановки внедрения.
5.5 Расширение матрицы бэкендов: от одного полюса Ascend к сосуществованию множества дистрибутивов бэкендов
Обнаруженный в этом окне дистрибутив бэкенда Sunrise даёт новое прочтение картины: экосистема бэкендов TileLang уже не ограничивается двумя формами — «встроенные в основной репозиторий бэкенды» и «адаптационные репозитории, открытые вендорами внутри своих организаций», — появился также дистрибутив бэкенда с независимым номером версии и CI. На данный момент выявлено три типа форм адаптации — независимый адаптационный репозиторий Ascend (множество веток, включая ежедневную регрессию), ветка функций Hygon и ветки обратного портирования с суффиксом, ветки обратного портирования с выравниванием версий Moore Threads, а также независимый дистрибутив Sunrise. Само различие форм отражает глубину вложений каждого вендора в TileLang и степень продукторизации, что является пригодным показателем для оценки зависимости отечественных ускорителей от экосистемы TileLang.
5.6 Пробелы и точки риска этого окна
Следует отметить три момента: во-первых, в основном репозитории за окно принято только 2 коммита, и один из них — откатный тип исправления (восстановление поведения v0.1.12), чистый прирост возможностей основной линии ограничен; во-вторых, как только такие крупные изменения, как #3247, будут приняты, поверхность регрессии для существующего пути CUDA и формата кэша потребует дополнительного наблюдения, доказательств в этом выпуске пока нет; в-третьих, в этом окне не обнаружено ни новых тегов, ни релизов, основной репозиторий после v0.1.14 от 09-02 уже более двух с лишним недель не выпускал версий, при этом очередь ревью продолжает накапливаться.
Приложение: материалы и пояснения по проверке
Таблица проверки источников
| Источник | Результат проверки |
|---|---|
| Организация tile-ai (28 репозиториев) | В окне были пуши в 6 репозиториев: tilelang, TileOPs, TileOPs-nightly, tilelang-ascend, tilelang-sunrise, TileOPs.github.io |
| Ветка по умолчанию основного репозитория tilelang | 2 коммита (#3233, #3165), 5 новых PR (#3246 — #3250), новых тегов нет |
| Ночные/организационные репозитории основного репозитория | TileOPs-nightly генерирует снимки коммитов TileOPs; TileRT, TileFoundry, tilescale, DeepStack, tilelang-puzzles — пушей в окне нет |
| Четыре отечественных бэкенда | Только Ascend имеет коммиты и отчёты о регрессии в окне; последние пуши MetaX, Hygon и Moore Threads были до окна |
| Сторонние/новые бэкенды | В окне был пуш в репозиторий дистрибутива бэкенда Sunrise, версия кандидатной ветки продвинулась до 0.1.14+sunrise.1.1.0 |
| Adopters | FlashQLA принял 3 коммита; TileKernels — пушей нет |
| Google News RSS (несколько наборов запросов на китайском и английском, через прокси) | Ноль новых в окне; комбинированные запросы по именам компонентов и техническим терминам также не дали результатов в окне |
| Hacker News | В окне нет попаданий по теме, шум по ключевым словам отфильтрован |
| arXiv | В окне нет новых препринтов, ближайшая — статья по моделированию производительности от 2026-07-24 |
| Сайт документации | На сайте документации TileOPs были действия по развёртыванию сайта, в ветке по умолчанию изменений содержимого нет |
Полный список источников
- [1] tilelang #3247 Добавлен исполнительный бэкенд CUDA Tile IR — https://github.com/tile-ai/tilelang/pull/3247
- [2] tilelang #3233 Восстановлено доказательство инъективности символической компоновки циклов — https://github.com/tile-ai/tilelang/pull/3233
- [3] tilelang дефект #2906 (T.Parallel смешивает статическое и символическое итерационное пространство) — https://github.com/tile-ai/tilelang/issues/2906
- [4] tilelang #3165 Запуск проверки портируемых примеров в CI — https://github.com/tile-ai/tilelang/pull/3165
- [5] tilelang #3246 Ограничение ширины слияния копирования до достижимой ширины вектора — https://github.com/tile-ai/tilelang/pull/3246
- [6] tilelang #3248 256-битный глобальный доступ к памяти ограничен SM100 и новыми архитектурами — https://github.com/tile-ai/tilelang/pull/3248
- [7] tilelang #3249 Пример декодирования KDA с защитным стробированием — https://github.com/tile-ai/tilelang/pull/3249
- [8] tilelang #3250 Сжатие k-пула и запись в кэш для GLM-5.3 — https://github.com/tile-ai/tilelang/pull/3250
- [9] TileOPs #2147 Выражение составных операторов через манифест — https://github.com/tile-ai/TileOPs/pull/2147
- [10] TileOPs #2149 Исправление выхода за границы при разреженном MLA и тайминга paginated attention — https://github.com/tile-ai/TileOPs/pull/2149
- [11] TileOPs #2150 Помощник кэша страничного KV вынесен из модуля группового запросного внимания — https://github.com/tile-ai/TileOPs/pull/2150
- [12] TileOPs #2151 Дополнены формы, не адресуемые TMA на SM90 — https://github.com/tile-ai/TileOPs/pull/2151
- [13] TileOPs #2152 Развязка ядра селектора и тюнинга — https://github.com/tile-ai/TileOPs/pull/2152
- [14] TileOPs #2153 Ядро транспонирования операнда B для FP8 батчевого матричного умножения — https://github.com/tile-ai/TileOPs/pull/2153
- [15] tilelang-ascend ежедневный отчёт тестирования (все 1936 пунктов пройдены) — https://github.com/tile-ai/tilelang-ascend/issues/1813
- [16] tilelang-ascend Фрагментирование многопользовательского тестирования в CI — https://github.com/tile-ai/tilelang-ascend/issues/1812
- [17] tilelang-ascend #1602 Сопоставление документации операторов и покрытия типов данных — https://github.com/tile-ai/tilelang-ascend/pull/1602
- [18] tilelang-ascend #1779 Исправление жизненного цикла токена возврата буфера в скрипте бенчмарка — https://github.com/tile-ai/tilelang-ascend/pull/1779
- [19] Репозиторий дистрибутива бэкенда TileLang-Sunrise — https://github.com/tile-ai/tilelang-sunrise
- [20] Ночной снимок коммита TileOPs-nightly (результаты корректности и бенчмарков) — https://github.com/tile-ai/TileOPs-nightly/commit/484d540911a7ee814aef65d629b2494a831e979b
- [21] Метаданные окружения снимка TileOPs-nightly — https://github.com/tile-ai/TileOPs-nightly/blob/snapshots/meta.json
- [22] FlashQLA #34 Ядро обратного слияния SM120/121 — https://github.com/QwenLM/FlashQLA/pull/34
-
[23] FlashQLA #41 Оптимизация загрузки решателя KKT для SM100 — <https://github
- [24] FlashQLA #44 Асинхронный конвейер блоков переменной длины — https://github.com/QwenLM/FlashQLA/pull/44
- [25] Репозиторий сайта документации TileOPs — https://github.com/tile-ai/TileOPs.github.io
- [26] Репозиторий документации профилирования производительности TileSight — https://github.com/superAngGao/tilelang4tilesight-doc
- [27] arXiv 2607.22432 Аналитическая модель производительности GPU на уровне тайлов — https://arxiv.org/abs/2607.22432
- [28] Репозиторий TileKernels (сторона-потребитель, в окне нет пушей) — https://github.com/deepseek-ai/TileKernels
- [29] Репозиторий TileRT (внутри организации, в окне нет пушей) — https://github.com/tile-ai/TileRT
- [30] Последний релиз основного репозитория v0.1.14 — https://github.com/tile-ai/tilelang/releases/tag/v0.1.14
- [31] Последний релиз tilelang-ascend — https://github.com/tile-ai/tilelang-ascend/releases/tag/TileLang-ascend-v0.1.2.000-release
- [32] Последний релиз tilelang-musa — https://github.com/tile-ai/tilelang-musa/releases/tag/v0.1.14%2Bmusa.1