lapacke oder clapack, wenn in c / c ++ in Linux programmiert wird

8

Mein Zweck der Verwendung von LAPACK ist die Berechnung der Cholesky einer Matrix. Ich programmiere in C / C ++ in Fedora, aber ich bin verwirrt, welche lapack zu installieren - LAPACK mit lapacke oder clapack?

    
user506146 04.07.2011, 06:05
quelle

1 Antwort

9

Der grundlegende Unterschied zwischen den beiden besteht in der Notwendigkeit eines Fortran-Compilers.

CLAPACK ist im Grunde nur die Referenz-NETLIB-LAPACK-Routinen, die durch den alten f2c-Konverter geleitet wurden, wodurch die Bibliothek mit einem C-Compiler kompiliert werden kann.

LAPACKE ist ein (von Intel IIRC gestarteter) Versuch, eine formale C-Sprachschnittstelle für Fortran LAPACK-Bibliotheken zu definieren. Es hat den Vorteil, dass es unabhängig von der LAPACK-Implementierung ist und das toolchain-spezifische C gegenüber Fortran-Interoperabilität verbergen wird, so dass sich der Programmierer nicht darum kümmern muss. LAPACKE hat auch den entscheidenden Vorteil, dass es korrekt mit dem intrinsischen C99-Typ arbeitet.

Ich würde keinen großen Leistungsunterschied zwischen den beiden erwarten (die Wahl von BLAS diktiert das meiste davon), aber ich würde wahrscheinlich LAPACKE + die LAPACK- und BLAS-Implementation der Wahl bevorzugen, wenn ich heute von Null anfangen würde / p>     

talonmies 04.07.2011 07:04
quelle

Tags und Links