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

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

https://habr.com/ru/companies/yadro/articles/985422/

#jitкомпилятор #riscv #arm #arm64 #x86_64 #компиляторы

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

Loop fusion is a compiler transformation in which two adjacent loops are merged into a single loop over the same index range. This transformation is typically applied to reduce loop overhead and...

Хабр