Ежедневный отчёт TileLang (2026-10-16)
Окно мониторинга: 2026-10-15 07:00 ~ 2026-10-16 07:00 (пекинское время, 24 часа).
Источники: GitHub (полная проверка пушей в 29 репозиториях организации tile-ai, в окне пуши в 7 репозиториях: tilelang, TileOPs, TileFoundry, tilelang-hygon, tilelang-mlir-ascend, tilelang.github.io, TileOPs.github.io; в рамках организации за окно слито 15, открыто новых 24, обновлено на ревью 172; проверка каждой не-дефолтной ветки〔distributed / v0.1.12-release / v0.1.15-release / snapshots〕) + проверка страниц релизов + проверка репозиториев потребителей (TileKernels / FlashQLA) + проверка репозиториев сообщества (tilelangGym, SuperNPUBench, puzzles-ascend, BM1690 pipelines, tilelang-cuda-skills, TileMC, easy-tilelang, tilelang-debugger, SwHwCodesign) + проверка ночных пайплайнов + многочисленные запросы Google News на китайском и английском (через прокси) + Hacker News + arXiv.
Индекс выпуска
- Главное за сегодня: слияние маршрутизации исполнения PTO в основном репозитории, тройное слияние по attention в TileOPs и приземление слотов экземпляров TileFoundry — патчи Hygon приняты в линию v0.1.12 (10-15)
-
- Прогресс ключевых проектов
- 1.1 Основной репозиторий: маршрутизация исполнения PTO для Ascend —
ascend×ptoпрямое подключение к PTO codegen (#3316) (10-15) - 1.2 Основной репозиторий: JIT отклоняет нехэшируемые compile-time параметры (#3417); устранение времени компиляции тестов (#3517) (10-15)
- 1.3 Основной репозиторий на ревью: открыт новый фикс warp-специализации для cumsum с общим буфером (#3536); продвижение семи PR семейства PTO (10-15)
- 1.1 Основной репозиторий: маршрутизация исполнения PTO для Ascend —
- Прогресс ключевых проектов
-
- Мультибэкендная адаптация (Ascend / MetaX / Hygon / Moore Threads)
- 2.1 Hygon: открытие и закрытие в тот же день по асинхронному копированию с блочным масштабированием (#21, вошло в v0.1.12-release); продолжение пушей в ветку distributed (10-15)
- 2.2 Ascend: четыре новых PR в репозитории ascend — тихая численная ошибка dav-3510 gemm_v0 на ревью (#1900); открытые PR с 233 по 237 (10-15)
- 2.3 MetaX и Moore Threads: пушей в окне нет; слияние исправления базы знаний MLIR по Ascend (#202) (10-15)
- Мультибэкендная адаптация (Ascend / MetaX / Hygon / Moore Threads)
-
- Экосистема и потребители
- 3.1 TileOPs: тройное слияние по attention — агрегация varlen GQA, все возможности постраничного GQA и запись постраничного KV (10-15)
- 3.2 TileOPs: три PR по производительности foundry — переупорядочивание загрузки W4A16, sigmoid без деления по IEEE, расширение развёртки SM89 (10-15)
- 3.3 TileFoundry: три слияния — рефакторинг слотов экземпляров (#232), контракт lowering (#233) и пример префилла Qwen3.8-27B (#236) (10-15)
- 3.4 Ночные пайплайны: новых снимков в окне пока не замечено (10-15)
- Экосистема и потребители
-
- Сообщество, обучающие материалы и мероприятия
- 4.1 PTO-ISA: формирование набора SimtVF в tilelangGym; одно-проходное сокращение с групповой нормализацией в SuperNPUBench (10-15)
- 4.2 Сторонние сообщества: шесть плат-уровневых диагностик BM1690; первая внешняя аудиторская проверка TileFoundry со стороны tilelang-cuda-skills (10-15)
- 4.3 Медиа и академические источники: нулевой прирост в Google News / Hacker News / arXiv за окно (10-15)
- Сообщество, обучающие материалы и мероприятия
-
- Наблюдения за трендами
- 5.1 PTO переходит от «самостоятельной цели» к «первоклассному пути исполнения»
- 5.2 Семейство attention замыкается: поверхность операторов для длинных выводов дополнена
- 5.3 Двухлинейное сопровождение Hygon и направление distributed
- 5.4 TileFoundry вступает в период внешнего аудита
- Наблюдения за трендами
- Приложение: материалы и пояснения по проверке
- Полный перечень источников
Главное за сегодня: слияние маршрутизации исполнения PTO в основном репозитории, тройное слияние по attention в TileOPs и приземление слотов экземпляров TileFoundry — патчи Hygon приняты в линию v0.1.12 (10-15)
Дата: 2026-10-15 Источник: Маршрутизация выполнения PTO (#3316)/ Свёртка varlen GQA (#2537)/ Рефакторинг слотов экземпляров (#232)/ Асинхронное копирование с блочным масштабированием и раскладкой (#21)/ dav-3510 gemm_v0 (#1900)/ Список PR TileOPs/ Список PR TileFoundry
За 24-часовое окно мониторинга организация слила 15 коммитов (основной репозиторий 3, TileOPs 6, TileFoundry 3, Hygon 1, MLIR Ascend 1, сайт документации 1), открыто 24 новых, обновлено 172 на рассмотрении; в 7 репозиториях были пушы. Основные линии этого окна — три: сквозное прокладывание пути выполнения PTO в основном репозитории, тройное закрытие внимания в TileOPs и приземление двух ключевых рефакторингов TileFoundry, плюс включение патча блочного масштабирования Hygon в релизную линию v0.1.12.
- Маршрутизация выполнения PTO в основном репозитории (#3316): комбинация
target="ascend"иexecution_backend="pto"вступает в силу, компиляция напрямую подключается к генератору кода устройств PTO; путьautoподдерживает AscendC/TVM-FFI без изменений (подробности в 1.1). - Тройное внимание в TileOPs (#2537 / #2516 / #2539): свёртка varlen GQA и скользящее окно конвейера, RoPE / окно / свёртка для постраничного GQA, оператор записи постраничного KV PagedKVCacheWriteFwdOp слиты в одном окне (подробности в 3.1).
- Двойной рефакторинг TileFoundry (#232 / #233): слоты экземпляров подузлов модуля и контракт lowering / printer приземлены, плюс пример предзаполнения Qwen3.8-27B через хребет (#236) (подробности в 3.3).
- Hygon #21 попадает в линию v0.1.12: асинхронное копирование с блочным масштабированием и раскладкой для GEMM открыто и слито в тот же день, целевая ветка — поддерживающая линия v0.1.12-release (подробности в 2.1).
- Ключевой PR на рассмотрении в Ascend #1900: тихая числовая ошибка gemm_v0 на dav-3510 — класс проблем точности без исключений, без NaN, с почти неразличимым распределением значений (подробности в 2.2).
1. Ключевые достижения проекта
1.1 Основной репозиторий: маршрутизация выполнения PTO для Ascend — ascend × pto напрямую к codegen PTO (#3316) (10-15)
Дата: 2026-10-15 Источник: Маршрутизация выполнения PTO (#3316)/ Список PR основного репозитория
- Маршрутизация выполнения (#3316): обеспечить реальную работу комбинации
target="ascend"иexecution_backend="pto"— явный бэкенд выполнения PTO до разрешения бэкенда специализирует нативную цель Ascend в вариант цели PTO (сохраняя такие атрибуты цели, какarch), и компиляция на основе этого выбирает бэкенд PTO и генератор кода устройства PTO (CodeGenTileLangPTO, то естьcodegen_pto.cc). В реализации добавлен хук нормализации цели с учётом выполнения, привязанный к месту создания BackendContext; специализированный нормализатор Ascend отвечает за отображение, а генерация кода устройства переключена наPTO_CODEGENиtarget.build.tilelang_pto_without_compile. - Семантика путей (таблица поведения PR):
ascend×autoсохраняет путь AscendC + TVM-FFI;ascend×tvm_ffi/cythonидёт через AscendC;ascend×ptoи существующее сокращениеtarget="pto"идут через бэкенд PTO. В документации приведена эквивалентная конфигурация окружения:TILELANG_DEFAULT_TARGET=ascendплюсTILELANG_EXECUTION_BACKEND=pto. Тесты покрывают прямое разрешение контекста, сохранение атрибутов цели, диспетчеризацию кэша и выбор через переменные окружения. - Связи: продолжение выбора цели в примерах, влитого 10-14 (#3474, CI прогоняет все примеры Ascend по обоим целевым вариантам ascend и pto), и находящегося на рассмотрении семейства PTO (бэкенд выполнения
tvm_ffi#3516, векторизация VMI #3512, SS buffer #3514, частичный L0 копирования pitch #3511) — на стороне Ascend «сосуществование двух путей» движется к «одна цель, два бэкенда выполнения».
1.2 Основной репозиторий: JIT отклоняет нехешируемые параметры времени компиляции (#3417); устранение времени компиляции тестов (#3517) (10-15)
Дата: 2026-10-15 Источники: Проверка хэша JIT (#3417)/ Время компиляции тестов (#3517)
- JIT отклоняет нехешируемые параметры времени компиляции (#3417): специализация JIT теперь требует, чтобы параметры времени компиляции и значения по умолчанию были хешируемыми — нехешируемые значения по умолчанию вызывают
TypeErrorуже при создании обёртки JIT, а явно переданные нехешируемые параметры отклоняются до поиска ядра или выполнения фабрики; это предотвращает молчаливое повторное использование устаревших ядер из-за изменяемых значений по умолчанию и унифицирует два контракта параметров — ленивый и жадный. Проверка используетhash()(включая кортежи с нехешируемыми значениями); кэш форм вызова сначала проверяет хешируемость, а затем использует быстрое сравнение «равенство с последним вызовом»; нормализация содержимого контейнеров удалена, параметры тензоров времени выполнения по-прежнему не входят в ключ специализации. Проверка: пересборка из исходников проходит, привязка параметров и связанные наборы тестов в сумме 91 пройдено, без пропусков. - Устранение времени компиляции тестов (#3517):
четыре вспомогательные функции для packed-type CUDA источников в
test_tilelang_issue_2994.pyпереведены на
target.build.tilelang_cuda_without_compile(только получение сгенерированного исходного кода, без полной сборки); эти вспомогательные функции и так проверяли только сгенерированный исходный код и больше не несут обычных затрат на сборку.
1.3 Основной репозиторий на рассмотрении: новое исправление специализации warp для общего буфера cumsum (#3536); продвижение семи PR семейства PTO (10-15)
Дата: 2026-10-15 Источники: Исправление cumsum (#3536)/ PTO tvm_ffi (#3516)/ Векторизация VMI (#3512)/ SS buffer (#3514)/ Частичное копирование L0 (#3511)/ Частичное копирование UB в L1 (#3530)/ Значения Ramp PTO (#3535)/ Доступ SIMT VF (#3523)
- Исправление специализации warp для разделяемого буфера cumsum (#3536, открыт рано утром 10-16): при специализации warp потребительские потоки нумеруются начиная с 128, а шаблон сканирования разделяемой памяти не получает нижнюю границу диапазона потоков —
CumSum1D/CumSum2Dдосрочно возвращают управление на каждом потребительском потоке, буфер остаётся незаписанным; исправление передаёт минимальное значение диапазона потоков в шаблон сканирования (вAllReduceуже так сделано), шаблон сканирования на стороне HIP синхронно изменён (LowerSharedScanобщий для обоих бэкендов). Добавлены конвейерные случаиT.cumsumдля 1D / 2D разделяемого буфера. Проверка: на H100 прошли 19 (новые конвейерные случаи на main падают в 2 примерах); воспроизводящий случай #3528 после исправления — все 131072 элемента верны (на main ошибочны 129019 элементов). Исправляет #3528. - Семь продвижений семейства PTO: #3516 (исполнительный бэкенд
tvm_ffiцели PTO), #3512 (векторизацияT.Parallelв PTO VMI), #3514 (буфер SS), #3511 (явный pitch для частичного копирования L0), #3530 (частичное копирование UB в L1 для NZ-буфера, новый), #3535 (векторная выдача значений Ramp PTO по типу, новый), #3523 (исправление локального векторного доступа внутри SIMT VF, новый). - Прочие на рассмотрении: ограничение производителя TMA (#3503), защита разделяемого буфера от двойного расширения (#2342), блочно-масштабированные MMA SM120 MXFP8 / MXFP4 (#3495) и семейство полных операндов mxf8f6f4 (#3099) продолжают обновляться; сброс только для чтения L2 в profiler (#3534) и диагностика числа потоков разделяемого сканирования (#3532) открыты. Открытых PR в основном репозитории — 165 (в прошлом выпуске 160).
2. Мультибэкендная адаптация (Ascend / MetaX / Hygon / Moore Threads)
2.1 Hygon: блочно-масштабированная раскладка асинхронного копирования открыта и смержена в тот же день (#21, вошла в v0.1.12-release); ветка distributed продолжает продвижение (10-15)
Дата: 2026-10-15 Источники: блочно-масштабированная раскладка асинхронного копирования (#21)/ distributed (#19)/ ветка distributed
- #21 блочно-масштабированная раскладка асинхронного копирования GEMM: открыт в 05:56, смержен в 06:58 (UTC), в тот же день смержен в линию релиза v0.1.12-release — то есть линию поставки 0.1.12, которую Hygon продолжает поддерживать помимо основной линии v0.1.15; PR без описания, изменения сосредоточены на раскладке асинхронного копирования блочно-масштабированного GEMM для HCU (продолжение работы над раскладкой буфера scale для блочного масштабирования, привнесённой в обновляющем PR #20 от 10-14).
- Ветка distributed продолжает продвижение: голова ветки продвинулась дважды в окне — партия 10-15 08:14 (унифицированный лаунчер распределённых процессов, тесты IPC allreduce для BF16 и полного peer-to-peer, распространение ошибок закрытия и инициализации IPC, проверка метаданных IPC, удалённое блочное копирование STRIDE и т. д.) и 09:46 «refactor(hcu): move distributed language APIs»; #19 остаётся открытым (обновлён в 09:53). Много-GPU IPC коллективная коммуникация остаётся главной линией следующего этапа Hygon.
- Открытых PR у Hygon — 2 (без изменений).
2.2 Ascend: в репозитории ascend открыто четыре новых — тихая числовая ошибка dav-3510 gemm_v0 на рассмотрении (#1900); открытых PR с 233 до 237 (10-15)
Дата: 2026-10-15 Источники: dav-3510 gemm_v0 (#1900)/ KDA chunk_delta_bwd (#1895)/ KDA chunk_delta_h_fwd (#1896)/ документация bitwise_xor (#1899)/ список PR Ascend
- Обзор окна: в окне репозитория ascend нет отправок кода, на стороне PR открыто четыре новых, количество открытых PR выросло с 233 до 237: обратный/прямой перенос KDA chunk_delta (#1895 / #1896), повторная проверка фактов документации bitwise_xor (#1899), исправление dav-3510 gemm_v0 (#1900). Реализация маршрутизации PTO на стороне основного репозитория см. в 1.1.
- Ключевой на рассмотрении #1900 (тихая числовая ошибка dav-3510): на
dav-3510tl::ascend::gemm_v0возвращает неверное произведение для чётко определённого набора tiling — без исключений, без NaN / Inf, без нулевых значений, распределение значений практически неотличимо от правильного результата, проявляется только как ошибка точности на удалённой стороне; проверки size, shape, конечности и даже мультимножества проходят полностью. Два разделяемых коммита: ①--npu-archизменён на получение из платформы —LibraryGeneratorранее безусловно передавалdav-2201, и ядро A5, скомпилированное в соответствии с этим, молча нацеливалось на неверную архитектуру (одно и то же ядро flash-attention под dav-2201 генерирует.aicore_binaryразмером 14656 байт с 2 символами, под dav-3510 — 18–19 символов, около 24000 байт; структура ND2NZ и перегрузки копирования в заголовочных файлах CANN, различаемые по__NPU_ARCH__для 3510 / 5102, так и не задействовали ветку A5); ② ограничения staging вgemm_v0— собственно числовое исправление, достижимое благодаря первому пункту. Метод измерения: одно ядро (дваcopy_gm_to_l1плюсgemm_v0плюсcopy_l0c_to_gm) напрямую сопоставляется на одной карте.
2.3 MetaX и Moore Threads: в окне нет отправок; принято исправление базы знаний MLIR Ascend (#202) (10-15)
Дата: 2026-10-15 Источники: репозиторий MetaX/ репозиторий Moore Threads/ исправление базы знаний (#202)
- MetaX: в окне нет отправок (последняя отправка — 10-13, ветка main догнала узел вышестоящего v0.1.15); открытых PR — 16 (без изменений).
- Moore Threads: после 09-30 активности нет; открытых PR — 6.
- Исправление базы знаний MLIR Ascend (#202): исправлено описание partial / merge для ArgMax N-split в базе знаний автоматической настройки, унифицировано в шаблон реализации «partial, синхронизация и финальный merge выполняются в рамках одного device launch»; обновлена библиотека шаблонов, примеры и скрипты воспроизведения; дополнены ограничения использования Expert-режима и
T.block_barrier; устранены проблемы формата файлов отчётов. Открытых PR — 32 (без изменений).
3. Экосистема и стороны внедрения
3.1 TileOPs: трио внимания объединено — агрегация varlen GQA, полный набор возможностей постраничного GQA и постраничная запись KV (10-15)
Дата: 2026-10-15 Источники: агрегация varlen GQA (#2537)/ полный набор возможностей постраничного GQA (#2516)/ PagedKVCacheWriteFwdOp (#2539)/ документация MoEGroupedGemmFP8 (#71)
- varlen GQA-агрегация и конвейерное скользящее окно (#2537): для FP16 / BF16 / FP8 varlen GQA добавлены опциональные FP32 sinks по головам — sink это неограниченный и неусечённый logit, попадающий в знаменатель softmax; покрывает часть varlen темы «агрегация внимания» (#2269), а также включает конвейеризованное скользящее окно.
- Полный набор функций постраничного GQA (#2516): в
GQAPagedFwdOpдобавлены read-only RoPE, двустороннее скользящее окно и опциональные sinks по головам, что дополняет постраничную часть темы агрегации внимания. - PagedKVCacheWriteFwdOp (#2539): добавлен новый оператор постраничной записи KV — на месте рассеивает K / V по указанным вызывающей стороной физическим слотам, пропускает слоты -1, квантует кэш FP8 с независимыми K / V scale; одно ядро одновременно выполняет оба типа записи, число token динамическое; сохраняются NaN, конечное переполнение и бесконечность с насыщением при нативном преобразовании в FP8; рабочая нагрузка одновременно проверяет как записанные строки, так и нетронутое содержимое кэша; приёмка выполнена в сравнении с FlashInfer и vLLM; из пакета attention экспортируется
PagedKVCacheWriteKernel. - Все три относятся к семейству внимания, предыдущее окно уже было на ревью, в этом окне они централизованно влиты. Кроме того: в документационном сайте влит #71, добавлены API-записи для PagedKVCacheWriteFwdOp и MoEGroupedGemmFP8FwdOp.
3.2 TileOPs: три изменения производительности foundry — предварительная загрузка и перестановка W4A16, sigmoid без IEEE-деления, расширение сканирования SM89 (10-15)
Дата: 2026-10-15 Источники: предварительная загрузка W4A16 (#2586)/ sigmoid без IEEE-деления (#2588)/ расширение сканирования SM89 (#2574)/ список PR TileOPs
- Приоритет весов W4A16 (#2586):
GemmW4A16Kernelранее копировал активации каждого K-тайла перед packed-весами, warp-специализированный производитель выдавал их в этом порядке и ждал по уровням, из-за чего загрузка весов из DRAM фактически отставала на один K-тайл; теперь веса идут первыми (их stage освобождается сразу после чтения при декодировании). В 8-строчных декодирующих тайлах три операции заменены одним сдвигом (w4a16_dequant_word_one_shiftна месте маскирует чётные и нечётные полубайты и одним FMA центрирует, вес умножается на 1/16). decode-long-k достигает 1.047 от marlin-fp16 (ранее 0.996), каждая строка 8-строчного тайла ускоряется на 2.5%–7.6%, prefill-mlp-up быстрее на 5.7% (0.992 от матричного умножения с деквантованием torch, на уровне); ни одна строка не замедлилась. - sigmoid без IEEE-деления (#2588):
make_unary_regcopyподдерживает загрузкуevict_last— потоки для целого 16-байтового вектора идут черезtileops::load16_evict_last, последний блок добавляет защиту по вектору; этот путь включён только дляSigmoidFwdKernel(остальные 37 унарных ядер генерируют идентичный CUDA, 357 ядер сверены по dtype). float16 sigmoid переведён наrefined_reciprocal(обратное значение__fdividefплюс один шаг Ньютона, без ветвлений), что заменяет поэлементную проверку диапазона и вызов медленного пути; результаты float16 / bfloat16 побитово совпадают с torch.sigmoid, float32 сохраняет IEEE-деление. Входforwardидёт черезvector_aligned, исправлена ошибка смещённого адреса, когда начальный элемент выходит за 16-байтовую границу. На 16M строк опережение torch-compile составляет от 1.020 до 1.042; тестовых узлов +2. - Расширение сканирования SM89 (#2574): существующее сканирование с предзаполнением на 16 столбцов в диапазоне от 4096 до 16384 token расширено с 8 голов значений до 16 голов значений (вызовы с ≤8 головами сохраняют прежнюю стратегию); используется одна и та же сканирующая программа и идентичность сборки, выигрывают GDN и DeltaNet, KDA без изменений. После полного A/B списка 19 затронутых нагрузок в итоге ускорились на 2.5%–19.7%.
- Открытых PR в TileOPs — 16 (в прошлом выпуске 17); открыто пять новых: персистентные тайлы растеризации (#2589), GemmW4A8FwdOp (#2590, веса INT4 умноженные на активации FP8), read-only постраничный GQA FP8 (#2591), сканирование SM89 длинного предзаполнения на 32 столбца (#2592) и другие.
3.3 TileFoundry: влиты три изменения — рефакторинг слотов экземпляра (#232), контракт lowering (#233) и пример предзаполнения Qwen3.8-27B (#236) (10-15)
Дата: 2026-10-15 Источники: рефакторинг слотов экземпляров (#232)/ контракт lowering (#233)/ пример префилла Qwen3.8-27B (#236)/ контекст analysis (#238)
- Рефакторинг слотов экземпляров (#232, влито в 03:02): дочерние узлы модуля переведены на явные общие слоты экземпляров — повторяющиеся слои совместно используют определение, при этом сохраняя независимые ресурсы и идентичность экземпляра (копирование владения дублирует определение, а инлайнинг теряет идентичность экземпляра — оба варианта отвергнуты). Сохранённые вызовы анализируются с пошаговым продвижением по вызываемой стороне; записи IR хранятся по одной на определение, запись вызова равна сводке вызываемой стороны; адреса размещения совместно используются по SSA-листьям, интервалы жизни кэшируются по определению и транслируются в точках вызова, веса достижимых индексов считаются через объединение и подсчёт множеств ISL;
check_programклонируется только один раз. Удалены старый механизм инлайнинга иProgram. Проверка: полный набор исходников 1674 пройдено, 11 пропущено; установленная версия 161 пройдено. - Контракт lowering и printer (#233, влито в 05:12): сохранены зоны автора, определения хранилищ, окна обновления, тайловый carry, поэтапное владение и линейные индексы итераций; допуск инструкций разделяется между выводом ScheduleOp, генерацией кандидатов, lowering и проверкой TIR; унифицированы логическая раскладка и вывод окон разбиения, исправлены объявления MMA fragment и упаковка в физические регистры;
SymbolRef.nestedопределён как путь к подчинённому слоту относительно Module вызывающей стороны, проверка и генерация кода используют один и тот же преобразователь. - Пример префилла Qwen3.8-27B (#236, влито в 07:45): добавлен пример префилла от 128 до 1024 token, намеренно пересекающий хребет roofline — 128 token попадает на сторону ограничения по памяти (51.4 GB весов при 4.8 TB/s примерно 10.71 ms), начиная с 256 token — ограничение по вычислениям, хребет около 206 FLOP / байт; базовый уровень SGLang получен измерением при запуске (фиксированные накладные расходы сервисного пути на коротких длинах больше самого прямого прохода); используется для ответа на вопрос «могут ли несколько длин подсказок совместно использовать одну реализацию».
- Открытых PR насчитывается 2 (в предыдущем выпуске 3); #238 (analysis вычисляет факты определений по контексту доступа) открыт заново.
3.4 Ночной конвейер: новых снимков в окне пока не видно (10-15)
Дата: 2026-10-15 Источники: ветка ночных снимков/ ночной рабочий процесс
- На момент формирования данного отчёта в окне пока не видно отправки нового снимка за 10-15 — обычно момент публикации приходится на UTC 19:38–21:15 (пекинское время 03:38–05:15); последний снимок по-прежнему 35a25677 (10-14: корректность 1105 пунктов, 65 наборов, бенчмарк 1970 пунктов, 53 набора, ноль сбоев и ноль ошибок).
- Последний завершённый запуск ночного рабочего процесса имеет нормальный статус; ночной снимок отправлен с задержкой либо произошёл сбой выполнения, что требует проверки в следующем выпуске.
4. Сообщество, руководства и мероприятия
4.1 PTO-ISA: формирование набора SimtVF в tilelangGym; одношаговая редукция с групповой нормализацией в SuperNPUBench (10-15)
Дата: 2026-10-15 Источники: tilelangGym/ SuperNPUBench/ ветка simt_compare
- tilelangGym семь коммитов (в окне с 06:47 до 07:59): начальный коммит создаёт независимый стандартный тестовый набор SimtVF (SV / CF / SP плюс PTO-DSL, с привязками версий и регрессией, #1); затем завершены упорядочивание скриптов и разметки, keynote SV1 SIMD и единая таблица PASS (#3), таблица PASS для всех вершин remat и построчное сопоставление Simt с SIMD-DSL (#4), около 85% SIMD и цепочка анализа Simt IPC / bubble / ILP связаны в ANALYSIS, прорежены графики и отмечен Simt overhead как неопределённый. Создана база данных для анализа чувствительности производительности PTO lowering.
- SuperNPUBench (#245):
perf(normalization): single-pass reduces and balanced gamma/beta for group_norm_grad— однопроходное сокращение и балансировка gamma / beta для обратного прохода групповой нормализации. - puzzles-ascend (simt_compare):
per_token/04разделяет гибридное решение на независимые функции и включает их в демонстрационные материалы (08:35).
4.2 Сторонние сообщества: шесть板-level диагностик BM1690; первый внешний аудит TileFoundry от tilelang-cuda-skills (10-15)
Дата: 2026-10-15 Источники: BM1690 pipelines/ tilelang-cuda-skills/ TileMC/ tilelang-debugger
- Репозиторий конвейеров BM1690 (TPU Sopheng): шесть板-level диагностик в окне — диагностика ограниченного окна RoPE (сохранение целевых strides), запись инициализации установленного legacy SDK и дизассемблирования poll, тайм-аут запуска RoPE после перезагрузки и аудит масштабирования источника, запись реинициализации драйвера BM1690, подготовка ограниченного восстановления, предварительная проверка платы после освобождения держателя. Это записи совместной отладки личного экспериментального репозитория.
- tilelang-cuda-skills: один коммит — TileFoundry вендорится как подмодуль (фиксация коммитов main и cutlass), и его путь
compile()публично помечен как экспериментальный: перечислены 4 бага emitter (эмиссия Cast, суффикс тензора fill, координаты tensor_view) и два runtime-бага — завершение reduce-workspace и диспетчеризация warps_per_group, а также отсутствующий host TMA tensor-map emitter; указаны поддерживаемые пути (генерация HIR, check / analyze, финализация schedule, ядра TileLang), и набор навыков перекалиброван до tilelang 0.1.15. Это записи первого внешнего аудита TileFoundry. - Молчащие элементы: TileMC (последний 10-14), easy-tilelang (10-13), tilelang-debugger (10-10), SwHwCodesign (10-12) — в окне не было пушей.
4.3 Медиа и академия: Google News / Hacker News / arXiv — нулевой прирост в окне (10-15)
Дата: 2026-10-15 Источники: Google News/ Hacker News поиск/ arXiv поиск
- В Google News по нескольким группам запросов на английском и китайском в окне нулевой прирост — английский запрос попал на одну обзорную статью от 10-14, которая уже вне окна; китайские запросы дали ноль попаданий. В Hacker News ноль релевантных записей (две Show HN — шум нечёткого совпадения). В arXiv нет новых препринтов (последний релевантный по-прежнему TileSight от 07-24).
5. Наблюдения за трендами
5.1 PTO от «независимой цели» к «первоклассному пути исполнения»
- #3316 позволяет цели
ascendнапрямую выбирать бэкенд исполнения PTO; вместе с #3474 до окна (выбор цели через переменные окружения, параллельные двойные цели в CI) и рассматриваемыми #3512 / #3514 / #3516 / #3511 это превращает PTO из «независимой цели, отдельной цепочки» в «комбинируемый путь исполнения на цели Ascend». В противовес этому, репозиторий ascend #1900 показывает, что класс проблем тихих числовых ошибок на dav-3510 (A5) начинает систематически отслеживаться — с одного конца конвергенция интерфейсов, с другого верификация входит в глубокую воду; инженерия на стороне Ascend продвигается одновременно с обоих концов.
5.2 Закрытие семейства внимания:补全 поверхности операторов длинного вывода
- Единое окно включает sinks (varlen и постраничные), двустороннее скользящее окно, ReadOnly RoPE, постраничную запись KV, а также находящиеся на рассмотрении ReadOnly постраничный FP8 и 32-колоночное сканирование — матрица постраничного / длинноконтекстного внимания TileOPs постепенно дополняется, и критерием приёмки служат внешние эталоны FlashInfer, vLLM, FLA. Следующая точка наблюдения — перенос возможностей того же семейства на Ascend (находящиеся на рассмотрении Sparse MLA, серия KDA chunk).
5.3 Двухлинейное сопровождение Hygon и распределённое направление
- Hygon одновременно сопровождает v0.1.12-release (патч блочного масштабирования) и основную линию v0.1.15 (обновление уже влито и создана ветка релиза), а также продвигает IPC коллективных коммуникаций в ветке distributed — трёхлинейная структура «старая линия обеспечивает поставку, новая линия догоняет upstream, новая ветка занимается распределёнными вычислениями» выражена чётко. Если многочиповая коммуникация будет реализована, Hygon перейдёт от адаптации одного чипа к этапу многочиповых систем.
5.4 TileFoundry вступает в период внешнего аудита
- В том же окне, когда только что были влиты ключевые рефакторинги (слот экземпляра #232, контракт lowering #233), сторонний репозиторий навыков уже вендорит TileFoundry в рабочий процесс, составляет список багов emitter и среды выполнения и очерчивает поддерживаемые пути — инструментальная цепочка под давлением реального использования начинает подвергаться внешнему аудиту. Типичная траектория продукта: после рефакторинга основания следует сходимость интерфейсных контрактов и публичность реестра дефектов.
Приложение: материалы и пояснения по проверке
| Источники | Результаты проверки |
|---|---|
| Организация tile-ai (29 репозиториев) | В окне были пуши в 7 репозиториев: tilelang (влито 3, открыто 10), TileOPs (влито 6, открыто 5), TileFoundry (влито 3, открыто 2), tilelang-hygon (влито 1, открыто 1), tilelang-mlir-ascend (влито 1, открыто 1), tilelang.github.io (автообновление 1), TileOPs.github.io (влито 1); по организации в окне суммарно влито 15, открыто 24, обновлено на рассмотрении 172 |
| Основной репозиторий tilelang | Влито 3 (#3316, #3417, #3517); открыто 10 (#3518, #3520–#3523, #3530, #3532, #3534–#3536); открытых PR всего 165 (в прошлом выпуске 160); на странице релизов в окне новых нет (последний v0.1.15, 09-30) |
| TileOPs | Влито 6 (#2516, #2537, #2539, #2574, #2586, #2588); открыто 5 (#2588–#2592); открытых PR всего 16 (в прошлом выпуске 17) |
| Hygon / MetaX / Moore Threads | Hygon: влито 1 (#21, попал в v0.1.12-release), ветка distributed за окно два пуша (#19 на рассмотрении); открытых PR всего 2 (без изменений). MetaX: в окне пушей нет (в прошлый раз 10-13); открытых PR всего 16 (без изменений). Moore Threads: после 09-30 активности нет; открытых PR всего 6 |
| Репозитории Ascend (ascend / mlir-ascend) | ascend: в окне пушей нет, открыто 4 (#1895, #1896, #1899, #1900); открытых PR всего 237 (в прошлом выпуске 233). mlir-ascend: влито 1 (#202); открытых PR всего 32 (без изменений) |
| TileFoundry | Влито 3 (#232, #233, #236); открыто 2 (#236, #238); открытых PR всего 2 (в прошлом выпуске 3); на странице релизов новых нет (последний v0.0.2, 09-10) |
| TileOPs-nightly | В окне новых снимков пока не замечено (предыдущий 35a25677, 10-14: корректность 1105 пунктов / бенчмарки 1970 пунктов, ноль сбоев) |
| Внедряющие стороны | TileKernels, FlashQLA в окне пушей не было (последняя активность утром 10-14, вне окна) |
| PTO-ISA и сторонние сообщества | tilelangGym 7 (формирование набора SimtVF); SuperNPUBench 1 (#245); puzzles-ascend simt_compare 1; BM1690 pipelines 6; tilelang-cuda-skills 1 (внешний аудит TileFoundry); TileMC / easy-tilelang / tilelang-debugger / SwHwCodesign без пушей в окне |
| Google News / Hacker News / arXiv | Google News в окне ноль новых (одна обзорная статья от 10-14 вне окна); HN ноль релевантных записей; arXiv без новых препринтов |
Полный список источников
- [1] Список PR основного репозитория — https://github.com/tile-ai/tilelang/pulls
- [2] Маршрутизация выполнения PTO (#3316) — https://github.com/tile-ai/tilelang/pull/3316
- [3] Нехешируемые аргументы JIT (#3417) — https://github.com/tile-ai/tilelang/pull/3417
- [4] Устранение времени компиляции тестов (#3517) — https://github.com/tile-ai/tilelang/pull/3517
- [5] Исправление специализации warp для cumsum (#3536) — https://github.com/tile-ai/tilelang/pull/3536
- [6] Бэкенд выполнения PTO tvm_ffi (#3516) — https://github.com/tile-ai/tilelang/pull/3516
- [7] Векторизация PTO VMI (#3512) — https://github.com/tile-ai/tilelang/pull/3512
- [8] Буфер Ascend SS (#3514) — https://github.com/tile-ai/tilelang/pull/3514
- [9] Частичное копирование L0 для Ascend (#3511) — https://github.com/tile-ai/tilelang/pull/3511
- [10] Частичное копирование NZ-буфера из UB в L1 (#3530) — https://github.com/tile-ai/tilelang/pull/3530
- [11] Значения PTO Ramp (#3535) — https://github.com/tile-ai/tilelang/pull/3535
- [12] Исправление локального доступа SIMT VF (#3523) — https://github.com/tile-ai/tilelang/pull/3523
- [13] Блочное масштабирование MMA SM120 MXFP8 / MXFP4 (#3495) — https://github.com/tile-ai/tilelang/pull/3495
- [14] Семейство SM120 mxf8f6f4 (#3099) — https://github.com/tile-ai/tilelang/pull/3099
- [15] Квалификация производителя TMA (#3503) — https://github.com/tile-ai/tilelang/pull/3503
- [16] Свёртка и скользящее окно varlen GQA (#2537) — https://github.com/tile-ai/TileOPs/pull/2537
- [17] Постраничный GQA RoPE / окно / свёртка (#2516) — https://github.com/tile-ai/TileOPs/pull/2516
- [18] PagedKVCacheWriteFwdOp (#2539) — https://github.com/tile-ai/TileOPs/pull/2539
- [19] Предварительная загрузка W4A16 (#2586) — https://github.com/tile-ai/TileOPs/pull/2586
- [20] sigmoid без деления по IEEE (#2588) — https://github.com/tile-ai/TileOPs/pull/2588
- [21] Расширение сканирования SM89 (#2574) — https://github.com/tile-ai/TileOPs/pull/2574
- [22] Постраничный GQA FP8 только для чтения (#2591) — https://github.com/tile-ai/TileOPs/pull/2591
- [23] Сканирование 32 столбцов SM89 (#2592) — https://github.com/tile-ai/TileOPs/pull/2592
- [24] Список PR TileOPs — https://github.com/tile-ai/TileOPs/pulls
- [25] Рефакторинг слотов экземпляров (#232) — https://github.com/tile-ai/TileFoundry/pull/232
- [26] Контракт lowering (#233) — https://github.com/tile-ai/TileFoundry/pull/233
- [27] Пример предзаполнения Qwen3.8-27B (#236) — https://github.com/tile-ai/TileFoundry/pull/236
- **[28]
** analysis контекст (#238) — https://github.com/tile-ai/TileFoundry/pull/238
- [29] Блочно-масштабируемая асинхронная копия раскладки (#21) — https://github.com/tile-ai/tilelang-hygon/pull/21
- [30] distributed (#19) — https://github.com/tile-ai/tilelang-hygon/pull/19
- [31] ветка distributed — https://github.com/tile-ai/tilelang-hygon/tree/distributed
- [32] dav-3510 gemm_v0 (#1900) — https://github.com/tile-ai/tilelang-ascend/pull/1900
- [33] KDA chunk_delta_bwd (#1895) — https://github.com/tile-ai/tilelang-ascend/pull/1895
- [34] KDA chunk_delta_h_fwd (#1896) — https://github.com/tile-ai/tilelang-ascend/pull/1896
- [35] документация bitwise_xor (#1899) — https://github.com/tile-ai/tilelang-ascend/pull/1899
- [36] список PR Ascend — https://github.com/tile-ai/tilelang-ascend/pulls
- [37] исправление базы знаний (#202) — https://github.com/tile-ai/tilelang-mlir-ascend/pull/202
- [38] ветка ночных снимков — https://github.com/tile-ai/TileOPs-nightly/commits/snapshots
- [39] tilelangGym — https://github.com/PTO-ISA/tilelangGym
- [40] SuperNPUBench — https://github.com/PTO-ISA/SuperNPUBench
- [41] ветка simt_compare — https://github.com/PTO-ISA/tilelang-puzzles-ascend/commits/simt_compare
- [42] BM1690 pipelines — https://github.com/arcflute/tilelang-tpu-bm1690-pipelines
- [43] tilelang-cuda-skills — https://github.com/sablin39/tilelang-cuda-skills
- [44] TileMC — https://github.com/ronnie0317/TileLang-TileMC
- [45] easy-tilelang — https://github.com/easy-tilelang/tilelang-tutorials
- [46] tilelang-debugger — https://github.com/superAngGao/tilelang-debugger
- [47] Google News — https://news.google.com/
- [48] Hacker News — https://hn.algolia.com/
- [49] arXiv — https://arxiv.org/
- [50] TileKernels — https://github.com/deepseek-ai/TileKernels
- [51] FlashQLA — https://github.com/QwenLM/FlashQLA