Gdziekolwiek widziałem, tutorial / dokumenty PETSc itp. Mówią, że jest to przydatne w algebrze liniowej i zwykle określa, że korzyści będą miały systemy rzadkie. Co z gęstymi matrycami? Jestem zaniepokojony rozwiązywania dla gęstej A .
W Fortranie napisałem własny kod dla CG i QMR. Podstawowa konstrukcja jest rozpaść się pseudo kod i dodać procedury BLAS gdziekolwiek to możliwe ( ddot
, dnrm
i dgemv
) z odrobiną samodzielnego strojenia. Jak to porównać z PETSc?
Wiem, że najlepszą odpowiedzią byłoby dla mnie wypróbowanie tego samodzielnie, ale z powodów czasowych i innych nie jest to możliwe.
Każda pomoc jest mile widziana.
źródło
Ponieważ wspomniałeś, że korzystasz z systemu pamięci współużytkowanej, zaleciłbym libFLAME i / lub PLASMA , ale nie sądzę, aby był on znacznie szybszy niż BLAS z wątkami dostawcy dla operacji poziomu 1 i 2.
Jed polecił elementarne , które akurat rozwijam, ale jeszcze raz podkreślę, że operacje poziomu 1 i poziomu 2 nie są głównym celem równoległych gęstych bibliotek algebry liniowej. Szczerze mówiąc, nigdy nie porównywałem żadnej z tych procedur.
źródło