gpt4 book ai didi

c++ - FindBLAS 和 FindLAPACK 在 CMake 中的使用

转载 作者:太空狗 更新时间:2023-10-29 23:02:57 27 4
gpt4 key购买 nike

我对

的效用有点困惑

CMake 中的 find_package(BLAS) 和 find_package(LAPACK)。

似乎根据找到的供应商,不同的源代码是必要的。例如,mkl 有

mkl.h 和/或 mkl_lapacke.h

但至少有一个 lapack 的其他实现有一个名为 lapacke.h 的头文件

因此需要不同的 header 。

而且 mkl 的 somatcopy 是 mkl_somatcopy 而其他库显然不会有 mkl_ 前缀。

您如何以通用方式协调这一点,以使 find_package(LAPACK) 等工具有效工作?

是否有标准头文件,因为它似乎不是 lapacke 接口(interface)的 lapacke.h..?

最后,Accelerate 被列为一个选项,但是,Accelerate 包括 LAPACK 3.2.1 等效功能,它缺少 LAPACKE 接口(interface),在 MKL 和当前的 netlib lapacke 3.5 中可用..

最佳答案

好的,所以我给出的例子是一个blas扩展的例子。 blas 函数本身都是一样的。唯一的问题是 mkl 和其他 blas/lapack 接口(interface)之间的 header 不同。就 cmake 而言,提到的 find_package() 例程有点不合适。我发现搜索 mkl 最简单,如果找到就使用它,否则回退到 cmake 的 findblas 例程,然后我使用 add_definitions 定义预处理器宏以在 mkl 和其他实现之间切换...

关于c++ - FindBLAS 和 FindLAPACK 在 CMake 中的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26917090/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com