Библиотека JIT-компиляции Loops для оптимизации нейросетей, СУБД и не только

Wait 5 sec.

Привет, Хабр! Меня зовут Пётр Чекмарёв, я старший инженер компании YADRO, занимаюсь компьютерным зрением на мобильных устройствах и низкоуровневой оптимизацией плотных вычислительных функций.Оптимизация кода — вечная тема, особенно актуальная в дни триумфального шествия искусственного интеллекта. Оптимально написанные, но изолированные ядра сетей составляются в разные последовательности в зависимости от архитектуры модели. Однако, если дать им информацию друг о друге во время компиляции, сеть удастся заметно ускорить. Выгружать программу для перекомпиляции, будь она движком инференса или СУБД — бессмысленно, поэтому компилировать надо во время работы, Just-In-Time. В предыдущей статье AI-дивизиона YADRO Илья Знаменский рассказывал про JIT на базе Xbyak. В продолжении темы, я расскажу про пет-проект векторной JIT-кодогенерации, который я веду, и покажу, как она может помогать в оптимизации. Читать далее