Библиотека с открытым исходным кодом ScaLAPACK (Scalable Linear Algebra Package) является версией библиотеки LAPACK для параллельных вычислений. Она содержит
- подпрограммы решения систем линейных уравнений,
- обращения матриц,
- нахождения собственных значений и собственных векторов и др.
Библиотека написана на языке Fortran 77 (за исключением нескольких подпрограмм симметричных проблем на собственные значения, написанных на языке C) и ориентирована на работу в системах с архитектурой MIMD (Multiple Instruction stream, Multiple Data stream) и программным обеспечением PVM (Parallel Virtual Machine) [ и/или MPI (Message Passing Interface)
ScaLAPACK относится к числу параллельных библиотек, при обращении к которым пользователю не приходится явно применять какие – либо конструкции специальных языков параллельного программирования или интерфейсов, поддерживающих взаимодействие параллельных процессов. Все необходимые действия “по распараллеливанию” выполняются подпрограммами из специально разработанных для этих целей пакетов.
В библиотеке ScaLAPACK можно выделить локальные и глобальные компоненты : (К локальным компонентам относятся пакеты)
- LAPACK (Linear Algebra Package) ,
- BLAS (Basic Linear Algebra Subprograms),
- BLACS (Basic Linear Algebra Communication Subprograms) .
Эти компоненты ориентированы на работу в однопроцессорном режиме.
К глобальным компонентам относится параллельный вариант пакета BLAS — пакет PBLAS (Parallel BLAS) .