Развитие численных методов решения систем линейных алгебраических уравнений
Развитие численных методов решения систем линейных алгебраических уравнений
Цели и задачи проекта
Процесс исследования
Потребность в решении больших разреженных систем линейных алгебраических уравнений возникает при решении множества задач математической физики. В частности, для развиваемых алгоритмов, реализующих одновременный расчёт ансамбля реализаций турбулентного течения, требуются специфические методы, обеспечивающие решение систем равнений со многими правыми частями. В разрабатываемой библиотеке XAMG для этих целей создаётся набор псевдо-блочных итерационных методов, позволяющих существенно ускорить решение таких систем уравнений. При создании данной библиотеки применяется гибридная многоуровневая модель распараллеливания MPI+Posix Shared Memory, что позволяет достичь хороших результатов производительности и параллельной эффективности вычислений в сравнении с известными свободно-распространяемыми кодами.
На основе этой библиотеки проводится разработка новых алгоритмов, ориентированных на повышение производительности расчётов. Исследуются алгоритмы хранения данных, использующих меньшую битность для целочисленных индексов, вычисления для чисел с плавающей точкой пониженной точности, оптимизации, направленные на векторизацию вычислений, и другие.
Широко используемые итерационные методы для решения систем уравнений могут обладать множеством настроечных параметров. Выбор оптимальных комбинаций параметров для конкретной системы уравнений зачастую оказывается отдельной нетривиальной задачей, требующей кропотливого подбора параметров. На базе библиотеки XAMG разрабатывается алгоритм, обеспечивающий автоматизацию этого процесса для заданной системы уравнений. Предложенный алгоритм является комбинацией эволюционной стратегии и предобученной нейронной сети, выступающей в роли предварительного фильтра при генерации новых комбинаций параметров.
Результаты проекта
В ходе работ по проекту разработана библиотека численных методов для решения систем линейных алгебраических уравнений со многими правыми частями. Используемые подходы к распараллеливанию вычислений обеспечивают преимущественные показатели эффективности и параллельной масштабируемости по сравнению со свободно-распространяемыми аналогами.
В библиотеке XAMG разработан и реализован метод итерационного уточнения решения, позволяющий при сохранении целевой точности решения системы уравнений использовать арифметику с пониженной точностью. Предложен ряд модификаций форматов хранения данных, обеспечивающих уменьшение объёма памяти для хранения матриц, и как следствие, ускорение расчётов. Разработан алгоритм оптимизации настроечных параметров численных методов. Алгоритм сочетает эволюционную стратегию и предобученную нейросеть, и позволяет эффективно оптимизировать до двух десятков параметров.
Ряд наработок по проекту выложен в открытом доступе по адресу:
Участники проекта
Руководитель проекта
Исследовательская группа