如果在linux下使用c / c ++编程,则使用lapacke或clapack

时间:2011-07-04 06:05:58

标签: fedora lapack

我使用LAPACK的目的是计算矩阵的cholesky。我在Fedora中使用C / C ++进行编程,但是我对使用lapacke或clapack的LAPACK进行安装感到困惑?

1 个答案:

答案 0 :(得分:9)

两者之间的基本区别是需要Fortran编译器。

CLAPACK基本上只是通过旧的f2c转换器传递的参考NETLIB LAPACK例程,允许使用C编译器编译库。

LAPACKE是一种尝试(由Intel IIRC启动)为Fortran LAPACK库定义正式的C语言接口。它的优点是它独立于LAPACK实现,并将工具链特定的C隐藏到Fortran互操作性,以便程序员不必担心它们。 LAPACKE还具有与C99复杂内在类型正确配合的独特优势。

我不希望两者之间存在重大的性能差异(BLAS的选择决定了大部分),但如果我今天从头开始,我可能会喜欢LAPACKE + LAPACK和BLAS的首选。 / p>