Применение библиотеки MKL для высокопроизводительных вычислений ITLab, 28 апреля 2006 Содержание • • • • • О проекте Solar System DEMO Application ODE Solvers Library ODE ToolKit Планы развития О проекте • Проект выполняется с августа 2005 года • Выполнение проекта частично поддерживается компанией Intel • Участники: – Петров Андрей (Intel) – Золотых Николай (ННГУ) – Половинкин Алексей (ННГУ) – Сидоров Сергей (ННГУ) Цель проекта • Создание демонстрационных приложений, иллюстрирующих производительность MKL • Разработка библиотек функций, использующих и расширяющих MKL Solar System DEMO Application • Разработано приложение, позволяющее решать проблему n тел – Численные методы используют подпрограммы библиотек Intel MKL и LAPACK – Приложение визуализирует движение планет и спутников солнечной системы (3D-модель, 258 уравнений, Солнце, 9 планет, 33 спутника) – Приложение позволяет сравнить скорость реализаций алгоритмов, основанных на MKL и LAPACK Solar System DEMO Application www.itlab.unn.ru/file.php?id=179 ODE Solvers Library • На начальном этапе реализованы 3 численных метода, позволяющие решать задачу Коши для системы ОДУ: – Произвольный порядок систем – Максимальное использование подпрограмм библиотеки MKL – Использование технологии OpenMP • Реализован внешний интерфейс, позволяющий добавлять в библиотеку новые методы ODE Solvers Library • Методы: – Метод Эйлера • Для иллюстративных целей – Метод Рунге–Кутты 4–5 порядков [Dormand & Prince, 1980] • Эффективен для нежестких систем • Реализован алгоритм сглаживания – Модификация метода Гира [Shampine & Hosea, 1995; Shampine & Reichelt, 1997] • Эффективен для жестких систем • Численное построение матрицы Якоби ODE ToolKit • Возможность подключения новых методов, использующих заданный интерфейс, через DLL • Возможность решения произвольной системы ОДУ (задачи Коши) посредством подключения ее к системе в виде DLL • Многооконная визуализация результатов вычислений в виде траекторий в 2-мерном фазовом пространстве • Возможность управления параметрами методов и систем • Настройка визуализации Тестирование и сравнение • Реализации алгоритмов протестированы на Test Set for IVP [Mazzia & Iavernaro, 2003] MATLAB ode15s ODE Toolkit ode15s Тестирование и сравнение MATLAB ode15s ODE Toolkit ode15s Ringmod problem [Mazzia & Iavernaro, 2003] Отображение фазовых траекторий в 3D пространстве Сохранение результатов вычислений во внешние форматы • формат scv (Excel) пример • формат m (Matlab) пример Демонстрационные примеры Решение жёстких систем ОДУ: • MEDAKZO • Уравнение колебаний мембраны • Уравнение теплопроводности MEDAKZO Область применения: Данная задача была впервые сформулирована лабораторией Akzo Nobel при изучении влияния радиоактивных антител на злокачественные опухоли. Математическое описание задачи: u 2u 2 kuv t x v kuv t метод линий dy f (t , y), y(0) g dt y R2N MEDAKZO Колебания мембраны Распространение тепла в прямоугольной пластине Результаты численных экспериментов MKL (1 thread) MKL (2 threads) ATLAS Medakzo 18.624 13.047 23.874 Membrane oscillation 22.015 17.390 25.960 Thermal conductivity 32.124 20.859 38.248 Планы (ODE ToolKit) • Участие в Intel Demo Cup http://www.inteldemo-cup.ru Планы развития • Линейное и целочисленное линейное программирование • Нелинейная оптимизация • Решение (плохо обусловленных) систем линейных уравнений точными методами – использование MKL–GMP Литература • J. R. Dormand, P. J. Prince: A family of embedded Runge-Kutta formulae, J. Comp. Appl. Math., Vol. 6, 1980, pp 19-26 • L. F. Shampine, M. E. Hosea: Analysis and Implementation of TR-BDF2, Applied Numerical Mathematics, 20, 1996 • L. F. Shampine, M. W. Reichelt: The MATLAB ODE Suite, SIAM Journal on Scientific Computing, Vol. 18, 1997, pp 1-22 • F. Mazzia, F. Iavernaro: Test Set for Initial Value Problem Solvers. Department of Mathematics, University of Bari, August 2003 http://www.dm.uniba.it/~testset