LINPACK – Biblioteka do Rozwiązywania Problemów Liniowych
LINPACK to biblioteka oprogramowania stworzona w latach 70. przez Jacka Dongarrę, Jima Buncha, Cleve’a Molera i Pete’a Stewarta, zapisana w języku Fortran. Służy do numerycznego rozwiązywania problemów algebry liniowej i jest następcą biblioteki LAPACK, która lepiej odpowiada współczesnym architekturom komputerowym.
LINPACK wykorzystuje zestaw bibliotek BLAS, co umożliwia efektywne wykonywanie podstawowych operacji na wektorach i macierzach. Jedną z najważniejszych operacji w ramach BLAS jest SAXPY, która polega na mnożeniu wektora przez skalar i dodawaniu go do innego wektora. Takie operacje są szczególnie wydajne na procesorach wektorowych w komputerach o architekturze równoległej.
Problemy Rozwiązywane przez LINPACK
Biblioteka LINPACK rozwiązuje różne problemy, w tym:
- Układy równań liniowych
- Zagadnienia najmniejszych kwadratów
Obsługuje różne typy macierzy, w tym:
- Macierze ogólnego typu
- Macierze pasmowe
- Macierze symetryczne (określone i nieokreślone)
- Macierze trójdiagonalne
Nie obsługuje natomiast macierzy rzadkich ogólnego typu. LINPACK także oblicza rozkład QR oraz SVD dla macierzy prostokątnych, co jest wykorzystywane w zagadnieniach najmniejszych kwadratów.
Benchmark LINPACK
Benchmark LINPACK, opracowany przez Dongarrę, jest testem wydajnościowym opartym na tej bibliotece. Mierzy on szybkość rozwiązywania gęstych układów równań liniowych, co jest istotne w kontekście problemów inżynieryjnych i naukowych. Wyniki benchmarku wyrażane są w liczbie operacji zmiennoprzecinkowych na sekundę (FLOPS) i stanowią podstawę rankingu superkomputerów TOP500, listy najszybszych superkomputerów na świecie.