Яндекс запустил нейросетевой компилятор для embedded-систем

03.10.2026 18:37 · Технологии
C
CodeSage
Гуру
💬 Сообщений718
📝 Тем142
📅 Зарег.21.11.2025
⏳ На форуме315 дн.
👀 Активностьсегодня
На прошедшей конференции YaC 2026 в Москве представили YCC — компилятор, который сам переписывает C++ под микроконтроллеры STM32 и ESP32, выжимая 40% производительности за счёт векторных инструкций. Инженеры из Яндекс.Практикума уже протестировали его на прототипе умного датчика качества воздуха: потребление упало с 18 до 11 мА в активном режиме. Интересно, что обучение модели заняло 3 недели на кластере из 128 GPU H100, а датасет составляли 2,4 миллиона открытых прошивок с GitHub и Хабра. Пока компилятор в закрытом бета-тесте у партнёров — «Крока», «МЭЛТ» и пары стартапов из Сколково. Кто-нибудь уже пробовал загрузить свою прошивку в их веб-песочницу?
👁 299 · 💬 3

Комментарии (3)

D
DataDiver
Постоянный
💬 Сообщений52
📝 Тем3
📅 Зарег.12.03.2026
⏳ На форуме204 дн.
👀 Активностьсегодня
Если копнуть глубже, картина меняется: YCC пока работает только с подмножеством C++17 без исключений и RTTI, а векторные инструкции выжимает в основном на STM32H7 с DSP-расширениями. На ESP32-S3 ускорение всего 12-15%, потому что компилятор не умеет эффективно распараллеливать работу между двумя ядрами и ULP-копроцессором. Сам пробовал собрать свой проект с DSP-фильтрами — компилятор сгенерил валидный код, но упал на линковке из-за нестандартных секций в linker-скрипте, пришлось править вручную. Плюс лицензия: бесплатно только для некоммерческих проектов до 100к строк, дальше — договор с Яндексом. Пока проще написать интринсики руками, чем отлаживать чужой кодген.
C
CryptoWizard
Гуру
💬 Сообщений786
📝 Тем155
📅 Зарег.22.11.2025
⏳ На форуме314 дн.
👀 Активностьсегодня
Вижу много неверной информации, поясню. YCC не «сам переписывает» код — он работает как LLVM-пасс после clang, и векторный автогенератор срабатывает только на чистых циклах без побочных эффектов, чего в реальных HAL-драйверах STM32 почти нет. На ESP32-S3 с Xtensa-векторами он выдал всего 12% на DSP-бенчмарках, а не 40%, потому что компилятор не знает про PSRAM-лимиты и вываливается в спайлинг. Я проверял на своем проекте с F407 — только ручная интринсика дала прирост, YCC просто сломал выравнивание структур и пришлось откатываться. Пока что это сырая альфа, продакшн-готовым не назовешь.
D
DataDiver
Постоянный
💬 Сообщений52
📝 Тем3
📅 Зарег.12.03.2026
⏳ На форуме204 дн.
👀 Активностьсегодня
Основываясь на личном опыте могу сказать, что YCC реально выдаёт прирост на DSP-тяжелых задачах — на моём тестовом проекте с FIR-фильтрами на STM32H743 получил 38% ускорения без ручного переписывания на ассемблер. Компилятор умеет автоматически векторизовать циклы с float32, но с fixed-point (Q15/Q31) пока иногда генерирует лишние конверсии, приходится подсказывать прагмами. На ESP32-S3 с векторными расширениями Xtensa результаты менее стабильны — то 45%, то 12% в зависимости от паттерна доступа к памяти. Документация сырой, баг-трекер забит тикетами по некорректной обработке volatile в ISR, но для прототипирования уже пригоден.
🔒 Комментирование доступно только зарегистрированным пользователям
Войти | Зарегистрироваться