Минималистичный векторный JIT-компилятор Loops. Оптимизация инференс-движков и СУБД с помощью слияния циклов и других приёмов.

Языки программирования и технические стеки

C/C++
Оптимизация производительности

Программный комитет ещё не принял решения по этому докладу

Целевая аудитория

Компиляторщики, низкоуровневые оптимизаторы.

Тезисы

Оптимизация - тема неиссякающая. Одним из классических и актуальных на edge-устройствах методов является векторизация. При этом автовекторизация хорошо работает только на относительно простых задачах, а значит актуальной остаётся задача ручной векторизации. Мы разработали небольшой кросс-платформенный векторный JIT-компилятор для x86, Arm и Risc-V - удобный инструмент для низкоуровневых оптимизаторов, пишущих на C++. В докладе обсудим: * Нишу нашего проекта, сравним его с разными JIT и AOT-решениями: xbyak, llvm, mir, rcc. * Коротко рассмотрим архитектурные решения и дизайн, объсним, в чём, собственно, минималистичность. * Рассмотрим API и примеры использования, вдруг это действительно покажется удобным? * Узнаем, как библиотека применялась в живых примерах и какие результаты это принесло.

Профессионально программирует на C++ с 2008 года. С 2015 - компьютерное зрение, с 2017 - CAD, с 2022 - компиляторы. Сейчас занимается компьютерным зрением на производстве. Ходит в горы.

Видео