LINPACK
Z Wikipedii, wolnej encyklopedii
Z Wikipedii, wolnej encyklopedii
LINPACK – biblioteka oprogramowania napisana w Fortranie w latach 70. dla numerycznego rozwiązywania problemów algebry liniowej. Jej autorami są Jack Dongarra, Jim Bunch, Cleve Moler i Pete Stewart. Jej następcą jest biblioteka LAPACK, przystosowana lepiej do architektur współczesnych komputerów. LINPACK wykorzystuje zestaw bibliotek BLAS do wykonywania podstawowych operacji na wektorach i macierzach. Jedną z najbardziej czasochłonnych podprocedur biblioteki BLAS, którą wykorzystuje LINPACK, jest SAXPY. W zasadzie jest to operacja mnożenia wektora przez skalar i dodawania do innego wektora. Takie operacje mogą być wykonywane szczególnie szybko przez procesory wektorowe w komputerach o architekturze masywnie równoległej.
Najważniejsze problemy, które rozwiązuje LINPACK, to liniowe układy równań oraz liniowe zagadnienia najmniejszych kwadratów. Pakiet jest przystosowany do różnych specjalnych typów układów z macierzami ogólnego typu, pasmowymi, symetrycznymi nieokreślonymi, symetrycznymi dodatnio określonymi, trójdiagonalnymi. Nie zaimplementowano natomiast metod dla macierzy rzadkich ogólnego typu. Ponadto pakiet oblicza rozkład QR oraz SVD dla macierzy prostokątnych i stosuje je w zagadnieniach najmniejszych kwadratów. LINPACK bazuje na algorytmach zorientownych kolumnowo.
Benchmark LINPACK, wprowadzony przez Dongarrę, jest testem wzorcowym opartym na bibliotece LINPACK. Mierzy on szybkość rozwiązywania gęstego układu równań liniowych, jako abstrakcji standardowych problemów spotykanych w problemach inżynieryjnych i naukowych. Benchmark ten jest używany do porównywania szybkości działania komputerów, wyrażonej w liczbie wykonywanych operacji zmiennoprzecinkowych na sekundę (FLOPS). Jest podstawą rankingu superkomputerów TOP500 – listy najszybszych superkomputerów świata.