Методы оптимизации обобщенных тензорных операций на многоядерных процессорах
Аннотация
Операции, выполняемые над тензорами, имеют широкое применение в различных научных дисциплинах. Не существует методов оптимизации времени выполнения операций над тензорами, позволяющих достичь высокой производительности в процессе компиляции на многоядерных процессорах. В большинстве случаев используемые подходы основаны на эмпирическом поиске, осложняющем их применение в условиях ограниченного времени и недоступности целевой архитектуры. В данной работе представлены методы оптимизации обобщенных тензорных операций на основе аналитического моделирования, позволяющих достичь высокой производительности без эмпирического поиска. На основе описанных методов создан и протестирован комплекс программ автоматического выполнения оптимизаций в процессе компиляции на многоядерных процессорах для решения задач большого размера. Разработанные подходы могут облегчить получение и применение высокопроизводительных реализаций операций над тензорами.