Аннотации:
Свертка тензоров является одной из основных операций «Тензорного исчисления» — отдельного раздела математики, ставшего основным языком для описания фундаментальных законов таких областей науки,как теория относительности, механика, электродинамика и физика твердого тела. Эффективность выполнения свертки тензоров и ее обобщений имеет существенную практическую значимость для таких областей, как решение задач математической физики, машинного обучения, в спектральных методах, в квантовой химии, при интеллектуальном анализе данных, в высокопроизводительных вычислениях на многопроцессорных системах и др. В последние двадцать лет количество методов оптимизации тензорных сверток значительно увеличилось и продолжает возрастать. В статье представлен обзор активно используемых подходов к оптимизации свертки тензоров, применяемых при решении прикладных задач на однопроцессорных и
многопроцессорных вычислительных системах с распределенной памятью. В работе представлены методы оптимизации важных частных случаев свертки тензоров — матричного и матрично-векторного произведения, использующихся для большинства оптимизаций сверток тензоров. Описанные оптимизации могут
применяться в процессе компиляции программ, выполняемой промышленными компиляторами. Представленная информация может помочь при систематизации уже имеющихся знаний. Tensor contraction is one of major operations defined in tensor calculus, a separate branch of mathematics, which become a fundamental language of theory of relativity, mechanics, electrodynamics, and solid state physics. Effective implementation of tensor contraction is of considerable practical significance for such areas as solving of mathematical physics problems, machine learning, spectral element methods, quantum chemistry, data mining, and high performance computing. In the last twenty years, the number of optimization methods for tensor contraction has increased and continues to grow. In this article, the author reviews widespread approaches for
optimization of tensor contraction, which are used on single processor as well as multiprocessor systems with distributed memory. The review contains the description of methods for optimization of matrix and matrix-vector multiplications, important particular cases of tensor contraction, which are used as a base for the most tensor
contraction optimizations. The described optimizations can be applied during program compilation performed by production compilers. The information provided in this work could be useful for systematizing knowledge.
Описание:
Гареев Роман Альбертович, аспирант, Институт радиоэлектроники и информационных
технологий-РтФ, УрФУ имени первого Президента России Б.Н. Ельцина (Екатеринбург,
Российская Федерация)
R.A. Gareev Ural Federal University (Mira 19, Yekaterinburg, 620002 Russia)
E-mail: gareevroman@gmail.com