Окно мониторинга: 2026-10-14 07:00 ~ 2026-10-15 07:00 (пекинское время, 24 часа).

Источники: GitHub (полная проверка всех пушей в 29 репозиториях организации tile-ai; в окне зафиксированы пуши в 8 репозиториях: tilelang, TileOPs, TileFoundry, tilelang-ascend, tilelang-hygon, TileOPs-nightly, tilelang.github.io, TileOPs.github.io; в рамках организации за окно смёржено 32, открыто 27 (из них на рассмотрении 16), обновлено на рассмотрении 40; в основном репозитории смёржено 10, в TileOPs смёржено 16, в репозитории Ascend 3 отката, в Hygon 1 смёржено; проверены все не-дефолтные ветки (distributed / feat/hcu-mqa-fp8 / coderabbit-auto-apply-labels / v0.1.15-release / simt_compare и др.); ночной конвейер — 1 новый снимок, по одному развёртыванию на каждом из двух подсайтов) + проверка страниц релизов + проверка репозиториев потребителей (релиз TileKernels v2.1.0, исправление FlashQLA sm120) + проверка репозиториев сообщества (PTO-ISA SuperNPUBench / tilelangGym / tilelang fork / tilelang-puzzles-ascend, TileMC, BM1690 pipelines, easy-tilelang, SwHwCodesign, tilelang-debugger) + множественные запросы Google News на китайском и английском (через прокси) + Hacker News + arXiv.


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

  • Главное за день: десять смёрженных коммитов в основном репозитории, приземление Hygon v0.1.15 и релиз TileKernels v2.1.0 — ночная база +41 пункт (10-14)
    1. Основные достижения проекта
      • 1.1 Основной репозиторий: четыре завершения по направлению Ascend — независимое исполнение AIV (#3485), PTO DeepGEMM codegen (#3330), исправление межwarp allreduce (#3494), выбор цели в примерах (#3474) (10-14)
      • 1.2 Основной репозиторий: три коммита по инфраструктуре — параллельный grid-цикл CPU OpenMP (#3109), общий выпуск для C-серии codegen (#3289), Windows NVCC переведён на MSVC (#3510) (10-14)
      • 1.3 Основной репозиторий: исправление волнового фронта ROCm scan (#2326), кэш тестовой инфраструктуры (#3502) и конфигурация управления (#3513) (10-14)
      • 1.4 Основной репозиторий на рассмотрении: четыре новых коммита семейства PTO, обновления исправлений TMA-барьеров и разделяемых буферов (10-14)
    1. Мультибэкенд-адаптация (Ascend / MetaX / Hygon / Moore Threads)
      • 2.1 Hygon: смёржено обновление v0.1.15 (#20), создана ветка релиза, открыта линия распределённого IPC (#19) (10-14)
      • 2.2 Ascend: три отката и переделки по результатам фактической проверки (#1888–#1890, #1893); открыто три новых коммита по примерам и операторам (10-14)
      • 2.3 MetaX: в окне пушей нет; Moore Threads и Sunrise молчат (10-14)
    1. Экосистема и потребители
      • 3.1 TileOPs: партия производительности foundry из 11 коммитов закрыта — softmax / пулинг / нормализация / редукция развёрнуты полностью (10-14)
      • 3.2 TileOPs: линейное внимание и MoE — четыре коммита — обращение предзаполнения KDA, память обратного прохода GLA, пропуск поиска экспертов, ограничение permute (10-14)
      • 3.3 TileOPs: декодирование D=256 расширено до SM80 / SM90 (#2563); на рассмотрении семейство внимания и новая партия GEMM (10-14)
      • 3.4 Два коммита потребителей: релиз TileKernels v2.1.0 (#38) и исправление FlashQLA sm120 (#48) (10-14)
      • 3.5 TileFoundry: смёржено усиление schedule CLI (#231); два коммита на рассмотрении — представление модулей и lowering (10-14)
      • 3.6 Ночной конвейер: новый снимок 35a25677 — корректность 1105 пунктов (+41), бенчмарки 1970 пунктов (+4), ноль сбоев (рано утром 10-15)
      • 3.7 Документация и сайты: время рендеринга сайта TileOPs сдвинуто раньше (#70) и плановое обновление двух подсайтов (10-14)
    1. Сообщество, руководства и мероприятия
      • 4.1 PTO-ISA: создан новый репозиторий tilelangGym, архивная партия SuperNPUBench и продвижение сопоставления SIMT (10-14)
      • 4.2 Стороннее сообщество: расширение целей TileMC, партия журналов уровня платы BM1690; руководства и репозиторий отладки молчат (10-14)
      • 4.3 Медиа и академическая сфера: Google News / Hacker News / arXiv — ноль новых за окно (10-14)
    1. Наблюдения за трендами
      • 5.1 Выравнивание всех бэкендов на v0.1.15 близится к завершению
      • 5.2 «День инфраструктуры» основного репозитория: рефакторинг компиляции и развёртывание платформ
      • 5.3 Ночная база +41: тесты растут синхронно с коммитами
      • 5.4 Дисциплина откатов в репозитории Ascend: под контролем даже низкоприоритетные сценарии
  • Приложение: материалы и пояснения к проверке
  • Полный список источников

Главное за сегодня: десять слияний в основном репозитории, релиз Hygon v0.1.15 и выпуск TileKernels v2.1.0 — ночной базис +41 (10-14)

Дата: 2026-10-14 Источники: независимое исполнение AIV (#3485)/ обновление Hygon v0.1.15 (#20)/ TileKernels v2.1.0 (#38)/ ночной снимок 56c2ab6b/ список PR TileOPs

За окно в 24 часа организация слила 32 коммита (основной репозиторий 10, TileOPs 16, репозиторий Ascend 3 отката, Hygon 1, TileFoundry 1, сайт документации 1), открыто 27 новых; в 8 репозиториях были пуши. Основные линии этого окна — три вещи: волна слияний в основном репозитории, приземление обновления бэкенда Hygon и первая итерация версии у принимающей стороны.

  • Десять слияний в основном репозитории: охватывают Ascend (независимое исполнение AIV #3485, PTO DeepGEMM codegen #3330, исправление кросс-warp allreduce #3494, выбор цели в примерах #3474), CPU (параллельный grid-цикл OpenMP #3109), рефакторинг общего codegen (#3289), Windows MSVC (#3510), исправление wavefront scan в ROCm (#2326), инфраструктуру тестирования (#3502) и конфигурацию управления (#3513) — число слияний за одно окно стало максимальным за последнее время (подробности в 1.1–1.3).
  • Слияние обновления Hygon v0.1.15 (#20): бэкенд Hygon полностью обновлён до upstream v0.1.15, добавлено планирование раскладки scale-буфера для блочно-масштабированного GEMM на HCU; одновременно создана ветка v0.1.15-release, а через #19 «Distributed» (+2577/-28, 44 файла) открыта линия распределённой работы IPC allreduce (подробности в 2.1).
  • Шестнадцать слияний TileOPs: закрытие пакета производительности foundry из 11 коммитов (полномасштабное развёртывание softmax / пулинга / нормализации / редукции) + четыре исправления KDA / GLA / MoE и расширение декодирования D=256 (подробности в 3.1–3.3).
  • Выпуск TileKernels v2.1.0 (#38): первая итерация версии репозитория принимающей стороны DeepSeek после добавления поддержки Ascend 09-30 — переписывание norm / SwiGLU / Engram на стороне Ascend и обновление тестов (подробности в 3.4).
  • Ночной базис +41: новый снимок 35a25677 — 1105 проверок корректности (65 наборов, +41), 1970 бенчмарков (53 набора, +4), ноль сбоев и ноль ошибок (подробности в 3.6).

1. Прогресс ключевых проектов

1.1 Основной репозиторий: четыре завершённые работы на стороне Ascend — независимое исполнение AIV (#3485), PTO DeepGEMM codegen (#3330), исправление кросс-warp allreduce (#3494), выбор цели в примерах (#3474) (10-14)

Дата: 2026-10-14 Источники: независимое AIV (#3485)/ PTO codegen (#3330)/ исправление allreduce (#3494)/ выбор цели в примерах (#3474)

  • Независимое выполнение AIV (#3485): расширение Ascend AutoSchedule, чтобы AIV0 и AIV1 могли выполнять разную работу под управляемым зависимостью sid потоком управления — поддержка чередующегося эпилога (epilogue), разделения деквантизации и эпилога, непересекающихся входных разделов и переключения ролей внутри цикла. В реализации AssignCore перенесён до оценки задержки и планирования, для локальных UB-буферов AIV и скалярного состояния создана независимая идентичность, а также смоделированы конвейерные ресурсы по участвующим ядрам, зависимости специальных регистров, ёмкость UB и библиотека флагов синхронизации; сохранены collective-путь унифицированного ядра и геометрия запуска с одним/двумя AIV. Копирование L0C→UB по-прежнему выполняется на AIC.
  • PTO DeepGEMM codegen (#3330): сквозное отслеживание tl.ascend_set_mmad_direction через потоки управления и кодирование действующего направления в инструкцию MAD, отклонение MAD, достижимых при конфликтующем направлении; поддержка инкрементальной загрузки после SIMD (одновременный возврат данных и указателя обновления), преобразования UB-адресов в указатели PTODSL в смешанных ядрах AIC/AIV, динамических размерностей и шагов L0C→UB, знакового упакованного MX scale int16; улучшена генерация кода условных выражений и циклов времени выполнения. Сообщается, что 14 из 15 случаев использования DeepGEMM PTO проходят, test_bf16_m_grouped_padding по-прежнему заблокирован, поскольку бэкенд PTOAS VPTO не может легализовать преобразование FP32→BF16.
  • Исправление cross-warp allreduce (#3494): когда вызов cross-warp allreduce охватывает несколько независимых групп редукции, цели ascend и pto ошибочно передавали результат первой группы всем группам; этот коммит исправляет указанную проблему корректности (продолжение #3469).
  • Выбор цели для примеров (#3474): удалён жёстко закодированный target="ascend" в примерах и тестах Ascend, выбор передан переменной окружения TILELANG_DEFAULT_TARGET; точка входа DeepGEMM JIT поддерживает execution_backend="auto"; CI прогоняет набор примеров Ascend дважды — с целями ascend и pto, а способ выбора описан в документации.

1.2 Основной репозиторий: три коммита по инфраструктуре — параллельные grid-циклы CPU OpenMP (#3109), общий выпуск C-серии codegen (#3289), Windows NVCC через MSVC (#3510) (10-14)

Дата: 2026-10-14 Источники: CPU OpenMP (#3109)/ codegen общий (#3289)/ Windows MSVC (#3510)

  • CPU OpenMP параллелизм (#3109): для бэкенда CPU добавлена опциональная OpenMP-параллелизация grid-циклов — новый MaterializeCPUParallelGrid преобразует аннотированные CPU grid-циклы в параллельные циклы, в комплекте свёртка циклов (collapse), настройка числа потоков, порог минимального числа итераций (trip count) и понижение размещения (allocation sinking); добавлены флаги компиляции OpenMP и параметры pass для Linux / macOS / Windows; тесты покрывают корректность, pragma, понижение размещения, пороги и одномерный случай. Бэкенд CPU впервые получил возможность параллелизма на уровне сетки.
  • Общий codegen C-серии (#3289): введён CodeGenTileLangCBase, унифицирующий генерацию кода CUDA, HIP, CPU C, Ascend C++, Metal и C-хост-кода; исправлена проблема, когда T.import_source, T.Kernel(prelude=...) и pragma_import_c при отсутствии завершающего перевода строки в исходном тексте или при окончании обратной косой чертой «съедали» следующую сгенерированную строку; импортируемое содержимое упорядочивается как «заголовочные файлы→импорты→сгенерированные объявления и функции» с гарантией двух разделяющих переводов строки. Проверка: 83 фокусированных регрессионных теста пройдено, 405 тестов соответствующих наборов codegen и launch пройдено.
  • Windows NVCC через MSVC (#3510): NVCC отвергает clang-cl, выбираемый get_cplus_compiler() — изменено на выбор cl.exe из окружения подпроцесса NVCC (выбор основного компилятора C++ не затрагивается), добавлен запасной путь VS 2026 18/*, на не-Windows платформах -ccbin=None больше не передаётся; при CUDA 13.3 воспроизводящий случай до исправления падал, после исправления компилируется успешно.

1.3 Основной репозиторий: исправление волнового фронта ROCm scan (#2326), кэширование тестовой инфраструктуры (#3502) и конфигурация управления (#3513) (10-14)

Дата: 2026-10-14 Источники: ROCm scan (#2326) / тестовая инфраструктура (#3502) / метки CodeRabbit (#3513)

  • Исправление волнового фронта ROCm scan (#2326): HIP-реализации cumsum / cummax по умолчанию выполняются сегментами по 64 lane, что даёт неверные результаты на GPU с Wave32 — существующий вход run теперь выбирает ширину сегмента в соответствии с шириной волнового фронта целевой архитектуры (с учётом ограничения на число потоков в блоке), блоки из 32 потоков на этапе компиляции исключают шаблон с 64 lane; добавлено покрытие для прямого/обратного сканирования с 32 потоками и для случаев с разными шагами источника/назначения; пример gfx950 MXFP4 и тесты переведены на целевую запись {"kind": "hip", "mcpu": "gfx950"}. Проверка: набор тестов CUDA scan на B300 — 17 пройдено, тесты генерации исходников CuTeDSL — 2 пройдено; проверка времени выполнения на стороне AMD оставлена для ROCm CI.
  • Кэш тестовой инфраструктуры (#3502): кэшируются данные вызовов последнего запрошенного IR-тела для использования в collect_calls / assert_call_count; рекурсивные visitor’ы в тестах трансформаций и текстовые проверки сгенерированных скриптов заменены на структурированные IR-утверждения, а также расширены структурные проверки программного конвейера, планирования, синхронизации, барьеров и Hopper intrinsic.
  • Конфигурация управления (#3513): включена автоматическая расстановка меток CodeRabbit для PR и issue (13 меток для PR, 14 для issue), сохранены все 11 правил маршрутизации ревью, никакие метки не добавлены/переименованы/удалены.

1.4 Основной репозиторий на ревью: четыре новых PR семейства PTO, обновления исправлений барьеров TMA и разделяемых буферов (10-14)

Дата: 2026-10-14 Источники: PTO/tvm_ffi (#3516) / векторизация PTO VMI (#3512) / барьер TMA (#3503) / защита разделяемых буферов от двойного расширения (#2342) / список PR основного репозитория

  • Четыре новых PR семейства PTO: поддержка цели PTO в бэкенде исполнения tvm_ffi (#3516), векторизация T.Parallel в PTO VMI (инфраструктура конвейера и поэлементная поддержка, #3512), поддержка SS buffer (#3514), явный pitch для частичного копирования L0 (#3511).
  • TMA и конвейер: барьер TMA forward с синхронизацией всех потоков-производителей (#3503, обновление), защита от двойного расширения разделяемых буферов братских конвейеров (#2342), запись только проверенных имён дескрипторов TMA (#3484).
  • Прочие обновления на ревью: устранение времени компиляции тестов (#3517), безопасное уплощение нормальных константных делителей (#3488), очередь задач torch_npu (#3324), редукция SimdVF dim=1 (#3437), пример ручного планирования FlashMLA (#3464), Windows ARM64 CI (#2962). Открытых PR в основном репозитории — 160 (в предыдущем выпуске 161).

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

2.1 Hygon: принято обновление до v0.1.15 (#20), создана релизная ветка, открыта линия распределённого IPC (#19) (10-14)

Дата: 2026-10-14 Источники: обновление до v0.1.15 (#20) / Distributed (#19) / ветка distributed / ветка v0.1.15-release

  • Обновление до v0.1.15 включено (#20): репозиторий целиком обновлён до upstream TileLang v0.1.15, сохранена поддержка бэкенда HCU и существующий рабочий процесс build.sh; выполнена адаптация к обновлённому бэкенду, конвейеру lowering, языковому API и тестовым интерфейсам; добавлено планирование раскладки scale-буфера для HCU blockscaled GEMM и сопутствующая поддержка раскладки LDS; информация о релизе в README синхронизирована. После включения создана ветка v0.1.15-release (с тем же головным коммитом, что и main), чтобы зафиксировать релизную линию.
  • Открыта линия распределённого IPC (#19): с объёмом +2577/-28 и 44 файлами открыто направление «Distributed» — ветка distributed содержит ряд работ по HCU IPC (межпроцессному взаимодействию): унифицированный запускатель распределённых процессов, проверка инициализации метаданных IPC, тесты BF16 / полностью симметричного IPC allreduce, пример IPC GEMM allreduce, распространение ошибок закрытия и сбоя инициализации IPC, защита от недопустимых peer и т. д. Многокарточная коллективная коммуникация становится новым рабочим направлением бэкенда Hygon.
  • Конвейеризация регистров (#18): продолжает находиться на рассмотрении (после 10-13 новых пушей нет). В репозитории Hygon открыто 2 PR (в прошлом выпуске — 1). В ветках feat/hcu-mqa-fp8 и feat/hcu-gemm-blockscaled-async-copy-layout в окне новых пушей нет.

2.2 Ascend: три отката фактчекинга и переработка (#1888–#1890, #1893); три новых PR по примерам и операторам (10-14)

Дата: 2026-10-14 Источники: откат #1888/ откат #1889/ откат #1890/ переработанная версия (#1893)/ список PR Ascend

  • Три отката (#1888 / #1889 / #1890): три PR «фактчекинга документации», включённые в предыдущем окне — семантика round (#1612), bitwise_rshift (#1676), bitwise_xor (#1681) — были откачены поштучно. Переработанная версия #1893 объясняет причину: при ежедневном полном прогоне набора тестов на низкоприоритетных кейсах обнаружилось несовпадение регулярного выражения ожидаемого исключения у кейсов, помеченных как ожидаемо падающие (фактически выбрасывался InternalError из AscendVectorInstructionSelection, а не ожидаемое утверждение "Compilation Failed"); эти кейсы помечены low_priority, и CI на этапе PR (-m "not (low_priority or ci_skip)") их не выполняет, поэтому после включения они были выявлены лишь ежедневным полным прогоном.
  • Переработанная версия (#1893): переработка bitwise_rshift — по замечаниям ревью удалены все кейсы, помеченные как ожидаемо падающие (dtype вне таблицы поддержки теперь покрываются таблицей поддержки dtype в документации, а не утверждениями об ожидаемом падении), сохранены переписанный docstring и тесты на реальном железе. Переработанные версии для round и bitwise_xor пока не отправлены.
  • Новые PR по примерам и операторам: оператор situ_glu (#1891), пример cann-bench/lstm (#1892), оператор и тесты indexer_bwd (#1887); обновления на рассмотрении: situ_glu_grad (#1877), sparse_mla_topk_reducesum (#1884), пример MHA (#1879), Sparse MLA SeeSaw / Pipelined (#1869 / #1870). В репозитории Ascend открыто 233 PR (в прошлом выпуске — 229).

2.3 MetaX: в окне пушей нет; Moore Threads и Sunrise молчат (10-14)

Дата: 2026-10-14 Источники: репозиторий MetaX/ репозиторий Moore Threads

  • MetaX: в окне пушей нет (последний пуш — утром 10-13, узел догона main до upstream v0.1.15); ветка dev по-прежнему остановилась на 09-24. Открыто 16 PR (без изменений).
  • Moore Threads: после 09-30 активности нет; в репозитории Sunrise в окне также нет динамики. MLIR Ascend (tilelang-mlir-ascend) в окне без пушей (последний коммит — 10-10), открыто 32 PR (без изменений).

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

3.1 TileOPs: партия по производительности foundry из 11 PR закрыта — softmax / пулинг / нормализация / редукция развёрнуты полностью (10-14)

Дата: 2026-10-14 Источники: softmax (#2570) / три коммита пулинга (#2572 / #2573 / #2579) / три коммита нормализации (#2576 / #2581 / #2585) / два коммита редукции (#2571 / #2578) / два коммита GEMM и Elementwise (#2582 / #2577)

  • softmax (#2570): добавлена 16-байтовая загрузка tileops::load16_evict_last с L2 evict-last; целая векторная строка (не более 64 элементов на поток) переведена в резидентную в регистрах _held_row, максимум и сумма сворачиваются через warp shuffle; SoftmaxWarpRowsKernel покрывает строки до 2KB, SoftmaxOnChipKernel в обоих вариантах — регистровом и через разделяемую память — использует новую загрузку. 39 из 42 строк SoftmaxFwdOp опережают самый быстрый контрольный вариант на 1,1% – 78,1%, (32768, 65536) float32 на уровне quack; две строки lm-head по-прежнему отстают (0.909x / 0.934x).
  • Три коммита пулинга: #2572 MaxPool1dIndices — новая скалярная загрузка load_evict_last, соседние выходы сохраняются векторно, sincnet-local против torch-compile 1.009x / 1.006x, ускорение относительно старой версии ядра 1.049x (float32); #2573 AvgPool3d — окна с фиксированным делителем и taps ≤32 переведены на однократное чтение всех taps (L1/L2 evict-last) с отбрасыванием выходящих за пределы через select, для фиксированного делителя не степени двойки используется float32(float64(sum) * float64(1/divisor)) без ветки медленного пути, результат побитово совпадает с PyTorch; #2579 MaxPool3dIndices — в float32 tile-выровненном окне два соседних выхода на поток, значения и индексы сохраняются векторно, c3d-pool1 снижен с 170,1 мкс до 166,0 мкс.
  • Три коммита нормализации: #2576 RMSNorm — по ширине строки выделено четыре body (256–2048 элементов идут через warp с разбиением по строкам, свыше 4096 — резидентность целого вектора в регистрах, свыше 16384 — два прохода, остальное — fragment), и jit builder, и autotune выбирают пространство тюнинга по body; #2581 InstanceNorm — целая векторная строка (до 2048 элементов) — один warp на строку, 8 строк на блок, все 12 строк InstanceNormFwdOp на уровне или впереди, три строки wider-channel выросли с 0.980x-0.988x до 1.042x-1.108x; #2585 вдогонку — строка warp до 1024 столбцов, меньше строк на блок при малом батче (вплоть до 1 строки) для гарантии минимум 128 блоков в сетке, три тренировочных пути переведены на деление через обратную величину для согласования с torch mean.
  • Два коммита редукции: #2578 any/all — строки float16 / bfloat16 / float32 читаются как 32-битные слова с побитовой проверкой (маска знакового бита, -0.0 считается 0, NaN — не 0), для 16 и менее warp свёртка последовательно выполняется lane 0; #2571 подсчёт групповых тайлов — префиксная сумма GroupTiling для varlen и групповых сеток переведена на shuffle-сканирование между warp внутри CTA (до 8 групп сохраняется цикл), 4096 групп на 32 потоках используют 62 регистра вместо 152, все вызывающие GroupTiling (GQA / MLA / FP8 varlen, постраничный GQA, varlen key RoPE, групповой GEMM, GLA/GDN/KDA varlen) получают выигрыш синхронно.
  • GEMM и Elementwise: #2582 групповой GEMM — на завершении тайла можно чередовать два staging-буфера (пока store в полёте, продолжается следующий тайл), в warp-group производителя остаётся один warp, выдающий копирование, все четыре строки нагрузки MoE опережают quack (fwd 1.015x, dgrad 1.012x, wgrad 1.033x; ранее в main было 0.936x-0.968x и 0.869x); #2577 SiluAndMul — обе половины используют load16_evict_last, а также исправлена ошибка при невыровненном по 16 байтам входе (vector_aligned).

3.2 TileOPs: линейное внимание и MoE, четыре коммита — инверсия префилла KDA, память под обратный проход GLA, пропуск поиска экспертов, ограничение permute (10-14)

Дата: 2026-10-14 Источники: KDA prefill (#2584) / GLA backward (#2569) / MoE skip search (#2575) / permute bounds (#2559)

  • Стабилизация инверсии в KDA prefill (#2584): ошибка KDA prefill при коррелированных ключах (correlated keys) — main падал на 6 вариантах chunk и 2 вариантах fused (включая NaN); исправление переведено на решение по диагональным блокам из 16 строк в FP32 с переиспользованием существующего общего буфера для блочного произведения, gated prefix сохраняется в регистрах FP32, общие метаданные хранят только опорные строки, удалён смешанный dtype-представление shared-вида, выходящее за границы в TileLang 0.1.12; chunk и fused prefill используют общий помощник инверсии, добавлены 4 регрессионных случая (две полуточности × два пути × частичный chunk). Бенчмарк sm89 (против внешней базы FLA 0.5.2) — вывод и конечное состояние полностью проходят сверку с FP64.
  • Переиспользование памяти в GLA backward (#2569): запрос shared-памяти для FP32 chunk32/K64/V192 на SM89 снижен с 131072 до 98304 байт, что укладывается в лимит SM89 в 101376 (переиспользование буфера состояния после завершения двух потребителей dh, добавлен блочный барьер перед загрузкой h); добавлена асимметричная регрессия FP32. Примечание: это исправление проблемы сбоя запуска, скорость всё ещё ниже FLA (0.0942 / 0.4164 мс против 0.0550 / 0.1494 мс у FLA на 256 / 2048 токенов), в PR явно не заявляется ускорение.
  • Пропуск поиска экспертов в MoE (#2575): после нахождения эксперта-владельца для tight per-row MMA-плитки бинарный поиск по границам остальных экспертов прекращается (старая логика выполняла поиск для каждого оставшегося эксперта); переиспользуется групповой часовой, плитки без попадания по-прежнему ищут по всем экспертам, поведение путей физического префикс-суммирования / выравнивания / masked не меняется. Бенчмарк sm89 (RTX 6000 Ada) покрывает сценарий tight-строк K512/N256.
  • Ограничение bounds в permute-align (#2559): исправления границ и корректности для отставания от vLLM moe_align_block_size по всем 12 строкам — при threads не кратном 32 выдаётся ошибка вместо неверного результата, вызов с пустой маршрутизацией возвращает num_tokens_post_pad=0 при любом числе экспертов, expert_ids вне диапазона заполняются значениями за пределами числа экспертов, верификатор и документация приведены в соответствие с набором результатов, добавлены ограничения в цикле по экспертам и резервирование интервалов разброса по блокам.

3.3 TileOPs: декодирование D=256 расширено на SM80 / SM90 (#2563); семейство attention на рассмотрении и новая партия GEMM (10-14)

Дата: 2026-10-14 Источники: декодирование D=256 (#2563) / attention на утверждении (#2515–#2541) / новая партия GEMM (#2586 / #2587) / список PR TileOPs

  • Расширение декодирования D=256 (#2563): расширение плотного декодирования D=256 FP16/BF16 с SM89 на SM80 / SM90 (с сохранением одноуровневой программы 64-head × 64-key и выбора split в разделяемой памяти), добавлена нагрузка B=1 / B=16 для кэша Gemma-2B 8K; одновременно исправлена проблема игнорирования softcap потребителем split плотного RoPE (регрессия с cap=2 ранее падала), охвачены пути D=128 и новый D=256. Закрывает #2420.
  • Семейство attention на рассмотрении: агрегация плотного GQA attention (#2515), RoPE / окно / агрегация постраничного GQA (#2516), сбор постраничного KV cache (#2519), PagedKVCacheWriteFwdOp (#2539), слияние состояний внимания со взвешиванием LSE (#2530), агрегация varlen GQA и конвейерное скользящее окно (#2537), конвейер длинного причинного KV для плотного FP8 GQA (#2541) — пакетное обновление семейства attention от superAngGao.
  • Новые партии и тесты GEMM: тайлы волновой формы 256 строк для предзаполнения K-512 FP8 (#2587), предварительная загрузка весов W4A16 и декодирование с одним сдвигом для тайлов из 8 строк (#2586), приёмка бюджета округления MoE (#2583), поактивационная автонастройка базовой линии FlashInfer fused-MoE (#2580). Открытых PR в TileOPs — 17 (в прошлом выпуске 26).

3.4 Двойное принятие: релиз TileKernels v2.1.0 (#38) и исправление FlashQLA sm120 (#48) (10-14)

Дата: 2026-10-14 Источники: TileKernels v2.1.0 (#38)/ репозиторий TileKernels/ FlashQLA (#48)

  • TileKernels v2.1.0 (#38, 16 файлов, +352/-382): релиз версии в репозитории, принятом DeepSeek (коммит версии 4d5ad0f5 «Release tile-kernels v2.1.0»). Изменения сосредоточены на стороне Ascend: существенно переписан norm_forward_asc (+166/-207), обновлены ядра прямого/обратного прохода norm и тесты, изменения прямого и обратного SwiGLU на сторонах asc / cuda, согласование прямого/обратного прохода гейта Engram (asc + cuda) и тестов, упрощён cast.py (+12/-36). Требования README синхронно подняты до TileLang 0.1.15, PyTorch 2.13, Ascend 950 NPU и CANN 9.2.0. Ранее, 30-09, была добавлена поддержка Ascend (однозначное соответствие с путём NVIDIA, автоматический выбор бэкенда во время выполнения); текущий релиз — первая итерация версии этого репозитория после перехода на Ascend.
  • Исправление FlashQLA sm120 (#48, 5 файлов, +82/-5): начиная с 0.1.13 прямой и обратный пути Blackwell sm120 были недоступны — корневой причиной стало ошибочное изменение block_DV на 128 (реализация sm120 требует 64) и отсутствие aggregate_card_state; исправление восстанавливает block_DV=64, добавляет обработку aggregate_card_state и обновляет sm120.csv. Все тесты проходят на RTX 5090 (sm120) + tilelang 0.1.15 + CUDA 13.0; в дальнейшем планируется исследовать поддержку контекстного параллелизма внутри узла / между узлами.

3.5 TileFoundry: принято усиление schedule CLI (#231); два PR по представлению модулей и lowering на рассмотрении (10-14)

Дата: 2026-10-14 Источники: schedule CLI (#231)/ слот экземпляра модуля (#232)/ контракт lowering (#233)

  • #231 слито: унифицированный сопоставитель инструкций (общий для вывода типов и кандидатов, покрывает сетку выполнения, области видимости операндов, сопоставление полей, проекции тайлов и валидацию); добавлен tf.empty и перенесены schedule fixtures / исходники учебных материалов и notebook; исправлены facts атомов зависимостей, добавлен schedule finalize --dim, совместный рендеринг свойств, круговой обмен неконечных констант; статистика may-access footprint на основе детерминированного объединения адресов и бюджета координат. Проверка: полный набор исходников заморожен, 1617 пройдено / 11 пропущено. Ответы на многосекционные вопросы #222 / #224 / #226 (часть пунктов перенесена в домен lowering, в PR отмечено различие).
  • На рассмотрении два: #232 представляет подузлы модуля как слоты общих экземпляров; #233 сохраняет область видимости storage и контракт printer. В TileFoundry открыто 3 PR (в прошлом выпуске — 1).

3.6 Ночной конвейер: новый снимок 35a25677 — корректность 1105 пунктов (+41), бенчмарки 1970 пунктов (+4) без сбоев (раннее утро 10-15)

Дата: 2026-10-15 Источники: ночной снимок 56c2ab6b / метаданные снимка

  • Новый снимок 35a25677 (run 38611488940, дата снимка 10-14, отправлен в пекинское время 10-15 05:15): корректность 1105 пунктов (65 наборов, на +41 больше предыдущего, 0 сбоев 0 ошибок 1 пропуск), бенчмарки 1970 пунктов (53 набора, +4, 0 сбоев); окружение H200, CUDA 13.2, драйвер 595.71.05, образ cu132-torch2.13-tl-0.1.12, в снимке tileops 0.0.1.dev1330+g35a25677c (на +16 dev-номеров больше предыдущего), tilelang 0.1.12, torch 2.13.0+cu132.
  • Снимок соответствует TileOPs 35a25677, то есть точке слияния #2576 (RMSNorm разбиение по строкам) — рост корректности на +41 является максимальным однодневным приростом за последнюю неделю, совпадает с 16 слияниями в окне (большинство с добавлением тестов).

3.7 Документация и сайты: сдвиг момента рендеринга сайта TileOPs (#70) и плановое обновление двух дочерних сайтов (10-14)

Дата: 2026-10-14 Источники: сдвиг момента рендеринга (#70) / сайт документации TileOPs / основной сайт

  • Сдвиг рендеринга сайта TileOPs (#70): cron ежедневного обновления в render-benchmarks.yml перенесён с 0 22 * * * (22:00 UTC, Пекин 06:00) на 30 20 * * * (20:30 UTC, Пекин 04:30); основание — ночные снимки фиксируются с 19:38 по 20:18 UTC (за последние семь ночей), в худшем случае новый момент ставит задачу в очередь через 12 минут после них. В окне одно развёртывание gh-pages (Deployed 8f46bef, MkDocs 1.6.1).
  • Плановое обновление основного сайта: tilelang.github.io дважды автоматически обновлял документацию (10-14 19:15 / 19:34 UTC). Страница релизов: в основном репозитории последняя v0.1.15 (09-30), TileFoundry v0.0.2 (09-10), TileRT v0.1.5.post2 (08-06), новых в окне нет.

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

4.1 PTO-ISA: создание нового репозитория tilelangGym, пакет архивации SuperNPUBench и продвижение сравнения с SIMT (10-14)

Дата: 2026-10-14 Источники: tilelangGym / PR архивации (#242) / SuperNPUBench / ветка simt_compare / форк PTO-ISA/tilelang

  • tilelangGym (новый репозиторий): организация PTO-ISA создана 10-14, позиционируется как тестовый стенд для «тестирования PTO lowering и чувствительности к производительности различных benchmark / microbenchmark» (первый коммит 10-14 06:21).
  • SuperNPUBench, 3 коммита в окне:
    rms_norm_dynamic_simt_32k заархивирован в V2 (#242), group_norm_grad — статическое ядро заархивировано в V0 (#239), matmul — добавлено ядро reuseB (обработка valid-tail, без PR).
  • tilelang-puzzles-ascend (сравнение с SIMT): 2 коммита в окне ветки simt_compare — T.reduce_max быстрее последовательного сканирования в 8,94 раза по измерениям, 12 ядер переведены на свёртку T.reduce_absmax и переизмерены.
  • PTO-ISA/tilelang fork: продвижение вслед за upstream main (в окне синхронизировано до последнего слияния).

4.2 Стороннее сообщество: расширение целей TileMC, пакет журналов уровня платы BM1690; тишина в репозиториях учебных материалов и отладки (10-14)

Дата: 2026-10-14 Источники: TileMC/ BM1690 pipelines/ easy-tilelang/ SwHwCodesign/ tilelang-debugger

  • TileMC (сторонняя цель TileLang для manycore-архитектур): 1 коммит — расширение поддержки FP32 для цели TileMC, отображение panel и масштабирование рабочих нагрузок.
  • Репозиторий конвейеров BM1690 (TPU от Sophon): 18 коммитов в стиле журнала разработки в окне — платовые дымовые тесты Matmul / RMSNorm и проверка передачи смены на 1024, платовые результаты Split-K, совместная отладка RoPE и диагностика тайм-аутов, семантика выхода драйвера и сборка хоста с ядром 7.0.0-34 и т. д. Это записи отладки уровня платы в личном экспериментальном репозитории.
  • Молчащие пункты: в репозитории учебных материалов easy-tilelang нет push в окне (последний 10-13); в публичных репозиториях SwHwCodesign (AI-Compiler / AI-Infra) нет push (после 10-12); в tilelang-debugger нет обновлений (после 10-10).

4.3 Медиа и академическая сфера: нулевой прирост в окне Google News / Hacker News / arXiv (10-14)

Дата: 2026-10-14 Источники: Google News/ поиск Hacker News/ поиск arXiv

  • Множество запросов в Google News на китайском и английском (операторы TileLang / Ascend / tile-ai / точные слова) — нулевой прирост в окне; последняя волна публикаций остановилась на 09-29 – 10-02 (тема DeepSeek×Ascend TileLang, уже включена в прошлые выпуски); один обзорный материал по AI-индустрии в целом совпал с поисковыми словами, но в тексте не встречаются TileLang или tile-ai, отброшен как шум.
  • В Hacker News в окне нет релевантных записей (одна Show HN о компиляторе Brainfuck — нечёткое совпадение, шум); в arXiv нет новых препринтов (последняя релевантная работа — статья об аналитической модели TileSight от 07-24).

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

5.1 Выравнивание всех бэкендов на v0.1.15 близится к завершению

  • После выпуска upstream v0.1.15 (09-30) MetaX 10-13 догнала main до узла v0.1.15, Hygon в этом окне через #20 завершил полное обновление и создал ветку релиза — оба бэкенда выровнялись друг за другом в течение двух недель, причём Hygon одновременно с обновлением внёс планирование раскладки блочно-масштабированного GEMM в новую базовую линию. Остаётся Moore Threads, по-прежнему застывшая после 09-30, а Ascend в дальнейшем точечно дополняет описание API через «фактчекинг документации». Основа «одна версия, одна семантика» для множества бэкендов завершается.

5.2 «День инфраструктуры» основного репозитория: рефакторинг компиляционного слоя и развёртывание платформ

  • Более половины из 10 слияний за одно окно — компиляция и платформенная инфраструктура: общий codegen для C-семейства (унифицированный базовый класс CUDA / HIP / CPU / Ascend / Metal), сеточный параллелизм CPU OpenMP, цепочка Windows MSVC, кэш тестовой инфраструктуры, волновой фронт ROCm scan — плюс четыре новых PTO/Ascend. В период затишья релизов (15 дней без новой версии после v0.1.15) усилия явно направлены на низкоуровневую расширяемость и поддержку новых платформ, что взаимно дополняет ритм «слияние MoE/производительности → рост основы → новая версия».

5.3 Ночная база +41: тесты растут синхронно с мержами

  • Корректность за сутки +41 пункт — максимальный прирост за последнюю неделю, и он взаимно однозначно соответствует 16 коммитам TileOPs (пакеты производительности обычно идут с добавлением test-node, расширение внимания — с новыми строками нагрузки). Скользящий учёт «один мерж — база подросла» продолжает осаждать проверку каждого изменения в ночной снимок — статическая подготовка перед релизом по-прежнему стабильно накапливается.

5.4 Дисциплина откатов в репозитории Ascend: низкоприоритетные用例 тоже под контролем

  • Первые три PR «проверка фактов в документации» были целиком откачены из-за некорректного несовпадения регулярного выражения в ожидаемо провалившихся用例 низкого приоритета, а затем переделаны в урезанном виде — это обнажает двухуровневую структуру верификации: «на этапе PR в CI не запускаются用例 низкого приоритета, их подхватывает ежедневный полный набор». Такая обработка «откат — переделка», а не «движение вперёд с повреждениями», говорит о том, что управление CI в репозитории адаптации Ascend переходит от «всё проходит» к «точные утверждения, единые критерии», а также означает, что качество мержей в окне постоянно ограничивается ежедневным полным прогоном.

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

Источник Результат проверки
Организация tile-ai (29 репозиториев) В окне были пуши в 8 репозиториев: tilelang (мержей 10), TileOPs (мержей 16), TileFoundry (мержей 1, новых 2), tilelang-ascend (откатов 3, новых 3), tilelang-hygon (мержей 1, новых 1, создана ветка 1), TileOPs-nightly (снимков 1), tilelang.github.io (автообновлений 2), TileOPs.github.io (мержей 1, деплоев 1); всего по организации в окне смёржено 32, открыто новых 27 (из них на рассмотрении 16), обновлений на рассмотрении 40
Основной репозиторий tilelang Мержей 10 (#3109, #3289, #3330, #3474, #3485, #3494, #3502, #3510, #2326, #3513); открытых PR 160 (в прошлом выпуске 161); на странице релизов в окне нет новых (последний v0.1.15, 09-30)
Репозиторий Ascend (ascend / mlir-ascend) ascend: откатов 3 (#1888–#1890), новых 3 (#1891–#1893); открытых PR 233 (в прошлом выпуске 229). mlir-ascend: в окне пушей нет (последний коммит 10-10); открытых PR 32 (без изменений)
Hygon / MetaX / Moore Threads Hygon: мержей 1 (#20 обновление до v0.1.15), создана ветка v0.1.15-release, пуш в ветку distributed (#19 на рассмотрении); открытых PR 2 (в прошлом выпуске 1). MetaX: в окне пушей нет (последний 10-13); открытых PR 16 (без изменений). Moore Threads: после 09-30 активности нет
TileOPs Мержей 16 (#2559, #2563, #2569, #2570–#2573, #2575–#2579, #2581, #2582, #2584, #2585); открытых PR 17 (в прошлом выпуске 26)
TileOPs-nightly Новый снимок 35a25677 (run 38611488940, пуш 10-15 05:15): корректность 1105 пунктов (65 наборов, +41), бенчмарки 1970 пунктов (53 набора, +4), ноль сбоев и ошибок (1 пропуск)
TileFoundry Мержей 1 (#231); новых 2 (#232, #233); открытых PR 3; на странице релизов нет новых (последний v0.0.2, 09-10)
Потребители TileKernels: мержей 2 (PR #38 релиза v2.1.0 и коммит версии); FlashQLA: мержей 2 (#48 исправление sm120); TileRT без динамики
Организация PTO-ISA и сторонние участники сообщества Новый репозиторий tilelangGym (первый коммит 10-14); SuperNPUBench 3 коммита в окне; tilelang-puzzles-ascend ветка simt_compare 2 коммита; PTO-ISA/tilelang fork синхронизирует upstream; TileMC 1 коммит; BM1690 pipelines 18 коммитов; easy-tilelang / SwHwCodesign / tilelang-debugger без пушей в окне
Google News / Hacker News / arXiv Google News в окне ноль новых совпадений (один обзорный AI-комментарий отброшен как шум); HN ноль релевантных записей; arXiv без новых препринтов

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

ree/distributed>

MaxPool3dIndices fp32 (#2579) — https://github.com/tile-ai/TileOPs/pull/2579

puzzles-ascend simt_compare — https://github.com/PTO-ISA/tilelang-puzzles-ascend/commits/simt_compare