Введение

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

В учебном пособии представлены необходимые сведения для работы на многопроцессорной вычислительной системе. Особое внимание уделено практическим вопросам создания параллельных программ численного решения задач математической физики. Для быстрого освоения и получения практического опыта параллельного программирования приведены примеры решения задач.

Пособие состоит из четырех глав. В первой главе представлены общие сведения о современных суперкомпьютерах, архитектуре параллельных систем и об областях применения параллельных вычислений.

Во второй главе дается обзор технологии OpenMP. Парадигма программирования определяется архитектурой вычислительной системы. OpenMP является классическим инструментом для программирования на системах с общей памятью.

В третьей главе представлен материал для получения практических навыков применения технологии MPI. Данная технология является основным средством программирования для кластерных систем и систем с распределенной памятью.

На данный момент при реализации сложных нелинейных многомерных нестационарных прикладных моделей необходимо использовать более совершенные вычислительные алгоритмы с учетом параллельной архитектуры. Существуют специализированные программные пакеты – библиотеки, которые разработаны специалистами по численному анализу, проверены широкой вычислительной практикой, и хорошо оценены мировым научным сообществом.

Использование библиотек позволяет достаточно быстро создавать сложные параллельные приложения. В последних трех главах рассмотрены основные свободно распространяемые математические пакеты Нypre, Trilinos, Petsc для организации параллельных вычислений на кластерах.

Hypre – библиотека высокопроизводительных предобуславливателей и решателей для больших разреженных линейных систем. Акцент делается на современные масштабируемые предобуславливатели. Разрабатывается в Ливерморской национальной лаборатории (Lawrence Livermore National Laboratory)

Trilinos – проект, направленный на развитие параллельных алгоритмов и библиотек в рамках объектно - ориентированного подхода. Данный пакет предназначен для применения к задачам науки и прикладного моделирования, требующие решения сложных и крупномасштабных задач математической физики. Разрабатывается в Сандийской национальной лаборатории (Sandia National Laboratories).

PETSc – библиотека, состоящая из процедур и структур данных для параллельного решения научных задач с моделями, описываемыми в виде дифференциальных уравнений с частными производными. Библиотека основана на использовании MPI, BLAS и LAPACK. Разрабатывается в Аргоннской национальной лаборатории (Argonne National Laboratory)

Авторы пособия выражают благодарность профессору Вабищевичу П.Н. и профессору Васильеву В.И.