Параллельные вычисления. Баканов В.М. - 112 стр.

UptoLike

Составители: 

- 112 -
В этом случае оптимизация вообще скрыта от проблемного программиста.
Чем больший объем работы внутри программы отводится подпрограммам
такой библиотеки, тем большим будет итоговый выигрыш в скорости ее ра-
боты. Собственно же программа пишется на обычном языке программирова-
ния безо всяких упоминаний о MPI и строится стандартным компилятором;
от программиста требуется
лишь указать при компоновке имя соответствую-
щего библиотечного файла и запускать полученный в итоге исполняемый
файл как MPI-программу. Т.о. чем большую часть вычислений удастся пере-
ложить на библиотечные подпрограммы (а они особенно тщательно протес-
тированы, отлажены и оптимизированы), тем более эффективной получится
результирующая программа.
Наиболее известны библиотеки программ для
решения задач матфизики
(матричные операции, численное решение систем дифуравнений и т.п.).
Напр., разработанный в Sandia Laboratories пакет AZTEC
(
http://www.cs.sandia.gov/CRF/aztec1.html
) специализирован на решение с ис-
пользованием многопроцессорных систем линейных алгебраических уравне-
ние (СЛАУ) с разреженными матрицами. AZTEC включает в себя процедуры,
реализующие итерационные методы Крылова:
метод сопряженных градиентов (CG),
обобщенный метод минимальных невязок (GMRES),
квадратичный метод сопряженных градиентов (CGS),
метод квазиминимальных невязок (TFQMR),
метод бисопряженного градиента (BiCGSTAB) со стабилизацией.
При решении СЛАУ используются как прямой метод LU, так и неполное
LU-разложение в подобластях. Матрица системы может быть как общего ви-
да, так и специального, возникающего при конечно-разностной аппроксима-
ции дифференциальных уравнений в частных производных (PDE - Partial
Differential Equations). Руководство по использованию AZTEC может быть
получено с адреса
http://rsusu1.rnd.runnet.ru/ncube/aztec/index.html.
Библиотека ScaLAPACK (Scalable LAPACK,
http://www.netlib.org/
scalapack/index.html
) ориентирована на решение задач линейной алгебры c
матрицами общего вида. ScaLAPAC является расширением известной биб-
лиотеки LAPACK (как считается, наиболее полно отвечающей архитектуре
современных процессоровнапр., библиотечные подпрограммы оптимизи-
рованы для эффективного использования кэш-памяти и т.п.) на многопроцес-
сорную архитектуру.
Пакет ScaLAPACK фактически является стандартом в программном обес-
печении многопроцессорных систем. В
нем почти полностью сохранены со-
став и структура пакета LAPACK и практически не изменились обращения к
                                         - 112 -


   В этом случае оптимизация вообще скрыта от проблемного программиста.
Чем больший объем работы внутри программы отводится подпрограммам
такой библиотеки, тем большим будет итоговый выигрыш в скорости ее ра-
боты. Собственно же программа пишется на обычном языке программирова-
ния безо всяких упоминаний о MPI и строится стандартным компилятором;
от программиста требуется лишь указать при компоновке имя соответствую-
щего библиотечного файла и запускать полученный в итоге исполняемый
файл как MPI-программу. Т.о. чем большую часть вычислений удастся пере-
ложить на библиотечные подпрограммы (а они особенно тщательно протес-
тированы, отлажены и оптимизированы), тем более эффективной получится
результирующая программа.
   Наиболее известны библиотеки программ для решения задач матфизики
(матричные операции, численное решение систем дифуравнений и т.п.).
   Напр.,     разработанный      в    Sandia  Laboratories  пакет  AZTEC
(http://www.cs.sandia.gov/CRF/aztec1.html) специализирован на решение с ис-
пользованием многопроцессорных систем линейных алгебраических уравне-
ние (СЛАУ) с разреженными матрицами. AZTEC включает в себя процедуры,
реализующие итерационные методы Крылова:

  •   метод сопряженных градиентов (CG),
  •   обобщенный метод минимальных невязок (GMRES),
  •   квадратичный метод сопряженных градиентов (CGS),
  •   метод квазиминимальных невязок (TFQMR),
  •   метод бисопряженного градиента (BiCGSTAB) со стабилизацией.

  При решении СЛАУ используются как прямой метод LU, так и неполное
LU-разложение в подобластях. Матрица системы может быть как общего ви-
да, так и специального, возникающего при конечно-разностной аппроксима-
ции дифференциальных уравнений в частных производных (PDE - Partial
Differential Equations). Руководство по использованию AZTEC может быть
получено с адреса http://rsusu1.rnd.runnet.ru/ncube/aztec/index.html.
  Библиотека       ScaLAPACK        (Scalable    LAPACK,        http://www.netlib.org/
scalapack/index.html) ориентирована на решение задач линейной алгебры c
матрицами общего вида. ScaLAPAC является расширением известной биб-
лиотеки LAPACK (как считается, наиболее полно отвечающей архитектуре
современных процессоров – напр., библиотечные подпрограммы оптимизи-
рованы для эффективного использования кэш-памяти и т.п.) на многопроцес-
сорную архитектуру.
  Пакет ScaLAPACK фактически является стандартом в программном обес-
печении многопроцессорных систем. В нем почти полностью сохранены со-
став и структура пакета LAPACK и практически не изменились обращения к