ВУЗ:
Составители:
Рубрика:
- 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 и практически не изменились обращения к
Страницы
- « первая
- ‹ предыдущая
- …
- 110
- 111
- 112
- 113
- 114
- …
- следующая ›
- последняя »