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

UptoLike

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

- 113 -
подпрограммам верхнего уровня. В основе успеха реализации этого проекта
лежали два принципиально важных решения:
В пакете LAPACK все элементарные векторные и матричные операции
выполняются с помощью высокооптимизированных подпрограмм биб-
лиотеки BLAS (Basic Linear Algebra Subprograms). По аналогии с этим
при реализации ScaLAPACK была разработана параллельная версия этой
библиотеки (названная PBLAS), что избавило от необходимости ради-
кальным образом переписывать подпрограммы верхнего уровня.
Все коммуникационные операции выполняются с использованием под-
программ из специально разработанной библиотеки BLACS (Basic Linear
Algebra Communication Subprograms), поэтому перенос пакета на различ-
ные многопроцессорные платформы требует настройки только этой биб-
лиотеки.
Обозначенные какглобальные компоненты пакета выполняются парал-
лельно на заданном наборе процессоров и в качестве аргументов используют
векторы и матрицы, распределенные по этим процессорам, подпрограммы из
означенных каклокальные
компонентов пакета вызы-
ваются на одном процессоре
и работают с локальными
данными (рис.27). Имеется
возможность работы с веще-
ственными и комплексными
данными одинарной или
двойной точности, матрица-
ми различного вида, выпол-
нение факторизации, вычис-
ление собственных значений
и собственных векторов, оп-
ределение сингулярных зна-
чений и др.; руководство
пользователя доступно на
адресе
http://rsusu1.rnd.runnet.ru/ncube/scalapack/scalapack_home.html
.
Из иных библиотечных пакетов следует указать Block Solve (решение
СЛАУ с редкозаполненной матрицей системы, Argonne National Laboratory,
http://www.mcs.anl.gov, http://www- unix.mcs.anl.gov/sumaa3d/BlockSolver
), разрабо-
танную в математическом отделении университета Бата (Англия) библиоте-
ку DOUG (Domain On Unstructured Grids), позиционируемую какпараллель-
ный решатель для систем, возникающих при решении методом конечных
элементов’ (
http://www.math.bath.ac.uk/~mjh/doug
) и некоторые другие.
Рисунок 27 — Структура пакета ScaLAPACK
                                        - 113 -


подпрограммам верхнего уровня. В основе успеха реализации этого проекта
лежали два принципиально важных решения:

 •   В пакете LAPACK все элементарные векторные и матричные операции
     выполняются с помощью высокооптимизированных подпрограмм биб-
     лиотеки BLAS (Basic Linear Algebra Subprograms). По аналогии с этим
     при реализации ScaLAPACK была разработана параллельная версия этой
     библиотеки (названная PBLAS), что избавило от необходимости ради-
     кальным образом переписывать подпрограммы верхнего уровня.
 •   Все коммуникационные операции выполняются с использованием под-
     программ из специально разработанной библиотеки BLACS (Basic Linear
     Algebra Communication Subprograms), поэтому перенос пакета на различ-
     ные многопроцессорные платформы требует настройки только этой биб-
     лиотеки.
   Обозначенные как ‘глобальные’ компоненты пакета выполняются парал-
лельно на заданном наборе процессоров и в качестве аргументов используют
векторы и матрицы, распределенные по этим процессорам, подпрограммы из
                                                     означенных как ‘локальные’
                                                     компонентов пакета вызы-
                                                     ваются на одном процессоре
                                                     и работают с локальными
                                                     данными (рис.27). Имеется
                                                     возможность работы с веще-
                                                     ственными и комплексными
                                                     данными одинарной или
                                                     двойной точности, матрица-
                                                     ми различного вида, выпол-
                                                     нение факторизации, вычис-
                                                     ление собственных значений
                                                     и собственных векторов, оп-
                                                     ределение сингулярных зна-
      Рисунок 27 — Структура пакета ScaLAPACK        чений и др.; руководство
                                                     пользователя доступно на
адресе http://rsusu1.rnd.runnet.ru/ncube/scalapack/scalapack_home.html.
   Из иных библиотечных пакетов следует указать Block Solve (решение
СЛАУ с редкозаполненной матрицей системы, Argonne National Laboratory,
http://www.mcs.anl.gov, http://www- unix.mcs.anl.gov/sumaa3d/BlockSolver), разрабо-
танную в математическом отделении университета Бата (Англия) библиоте-
ку DOUG (Domain On Unstructured Grids), позиционируемую как ‘параллель-
ный решатель для систем, возникающих при решении методом конечных
элементов’ (http://www.math.bath.ac.uk/~mjh/doug) и некоторые другие.