Next:1.3. Использование библиотеки ScaLAPACK
Up:1. БИБЛИОТЕКА ПОДПРОГРАММ ScaLAPACK
Prev:1.1. История разработки пакета ScaLАРАСК и его общая организация

1.2. Структура пакета ScaLАРАСК

Общая структура пакета ScaLAPACK представлена на рис. 1.1.

Рис. 1.1. Структура пакета ScaLAPACK.

На этом рисунке компоненты пакета, расположенные выше разделительной линии, содержат подпрограммы, которые выполняются параллельно на некотором наборе процессоров и в качестве аргументов используют векторы и матрицы, распределенные по этим процессорам. Подпрограммы из компонентов пакета ниже разделительной линии вызываются на одном процессоре и работают с локальными данными. Каждый из компонентов пакета - это независимая библиотека подпрограмм, которая не является частью библиотеки ScaLAPACK, но необходима для ее работы. В тех случаях, когда на компьютере имеются оптимизированные фирменные реализации каких-то из этих библиотек (BLAS, LAPACK), настоятельно рекомендуется для достижения более высокой производительности использовать именно эти реализации.

Собственно сама библиотека ScaLAPACK состоит из 530 подпрограмм, которые для каждого из 4-х типов данных (вещественного, вещественного с двойной точностью, комплексного, комплексного с двойной точностью) разделяются на три категории:

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

Т - код типа исходных данных, который может иметь следующие значения:

XX - указывает вид матрицы:

YYY - указывает на выполняемые данной подпрограммой действия:

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




Next:1.3. Использование библиотеки ScaLAPACK
Up:1. БИБЛИОТЕКА ПОДПРОГРАММ ScaLAPACK
Prev:1.1. История разработки пакета ScaLАРАСК и его общая организация