14 ноября в 15:00 состоится заседание научного семинара Отделения «Моделирование сложных физических и технических систем».
На заседании семинара будет представлен доклад на тему «Опыт разработки полностью неявных схем и методов поиска ведущих собственных значений на архитектуре графических сопроцессоров для решения некоторых фундаментальных и прикладных задач большой размерности».
Докладчик: старший научный сотрудник ФИЦ ИУ РАН Николай Михайлович Евстигнеев.
Аннотация доклада
В докладе рассматриваются особенности построения вычислительных схем и программирования множественных графических сопроцессоров (GPU) для различных задача, в первую очередь связанную с решением уравнений Стокса и Навье-Стокса. Рассматриваются только задачи которые требуют применения неявных методов решения по времени либо стационарные задачи. Данные методы применяются для фундаментальных проблем поиска бифуркаций стационарных и периодических решений (в том числе отсоединенных) а также для проведения прикладных расчетов в области внешней аэродинамики, гидродинамики несжимаемых течений и течений в пористых средах.
Рассматриваемые задачи могут быть записаны в форме F(u, R) = g либо du/dt + F(u, R) = g, u(0)=u_0, где нелинейный оператор F включает в себя краевые условия, u(t) является вектором решений, g - правая часть а R является вектором параметров. Кратко затрагиваются методы дискретизации задач, для получения дискретных уравнений (TVD FV, WENO FV, Discontinuous Galerkin, Псевдо-спектральные методы). Для решения таких задач применяется стандартная связка метода нелинейных итераций (метода Ньютона + глобализация) и метода решения линеаризованной системы уравнений вида Av = b на приращения решения v (оператор A может быть записан как в явном разряжено-матричном виде, так и в неявной форме применения линейного оператора Якоби к вектору). Последяя часть включает в себя итерационный метод решения линейной системы на основе методов подпространств Крылова (обычно GMRES, MINRES или BiCGStabL) вместе с предобуславливанием, являющимся наиболее затратной процедурой как по времени так и по привлечению вычислительных ресурсов. Поиск ведущих собственных значений и собственных векторов для системы A основан на применении метода Арнольди с неявным перезапуском и применения предобуславливателей для ускорения решения задачи. Такие предобуславливатели включают в себя метод сдвига и обращения (shift-and-invert), преобразование Кэли (Cayley transform), преобразование неточной операторной экспоненты.
Далее обсуждаются особенности реализации самых затратных вычислительных частей на графических сопроцессорах и особенности их программной реализации. В начале рассматривается библиотека реализации базовых операций с ядрами, которая позволяет проводить сквозные расчеты как на GPU, так и на центральных процессорах (CPU) на основе шаблонного методопрограммирования и CRTP (C++, OpenMP, CUDA C++, TBB). Далее рассматривается вопрос о применении blas1 операций на GPU и повышение точности этих операций на основе методов компенсации ошибки при сохранинии базового типа представления числа с плавающей точкой. После этого рассматриваются некоторые вычислительных реализации методов предобуславливания, проводится их сравнение с известными аналогами и определяются производительность и ускорения по сравнению с CPU-реализациями. Данные методы включают геометрический многосеточный метод для псевдо-спектральной дискретизации, симметричный метода Гаусса-Зейделя (LU-SGS) для задач внешней сверхзвуковой аэродинамики, методы совместного предобуславливания для задачи течения несжимаемой вязкой жидкости и фильтрации в пористых средах с применением алгебраического многосеточного метода. Доклад заканчивается указанием направлений развития текущей работы.
Исследование выполнено за счет гранта Российского научного фонда № 23-21-00107.
*под большой размерностью понимается такая размерность линейной системы Якоби, которая приводит к невозможности использования прямых матричных методов на современных вычислительных системах.
Заседание семинара состоится по адресу: ул. Вавилова, д. 40, комн. 117.