FindLAPACK¶
查找线性代数软件包 (LAPACK) 库
此模块查找已安装的实现 LAPACK 线性代数接口 的 Fortran 库。
必须启用 C
、CXX
或 Fortran
语言中的至少一种。
输入变量¶
可以设置以下变量来影响此模块的行为:
BLA_STATIC
如果
ON
,则使用静态链接BLA_VENDOR
设置为 BLAS/LAPACK 供应商 之一,以仅从指定供应商处搜索 BLAS。如果未设置,则考虑所有供应商。
BLA_F95
如果
ON
,则尝试查找 BLAS95/LAPACK95 接口BLA_PREFER_PKGCONFIG
在 3.20 版本中添加。
如果设置,将首先使用
pkg-config
搜索 LAPACK 库,如果找到,则优先使用它。BLA_PKGCONFIG_LAPACK
在 3.25 版本中新增。
如果设置,
pkg-config
方法将查找此模块名称而不是仅查找lapack
。BLA_SIZEOF_INTEGER
3.22 版本新增。
指定 BLAS/LAPACK 库整数大小
4
搜索具有 32 位整数接口的 BLAS/LAPACK。
8
搜索具有 64 位整数接口的 BLAS/LAPACK。
ANY
搜索任何 BLAS/LAPACK。最有可能找到具有 32 位整数接口的 BLAS/LAPACK。
BLA_THREAD
在 4.1 版本中新增。
指定 BLAS/LAPACK 线程模型
SEQ
顺序模型
OMP
OpenMP 模型
ANY
搜索任何 BLAS/LAPACK,如果两者都可用,最有可能找到
OMP
。
目前仅 NVIDIA NVPL 支持此功能。
导入的目标¶
此模块定义了以下 IMPORTED
目标
LAPACK::LAPACK
在 3.18 版本中新增。
如果找到,用于 LAPACK 的库。
结果变量¶
此模块定义了以下变量
LAPACK_FOUND
找到实现 LAPACK 接口的库
LAPACK_LINKER_FLAGS
所需的链接器标志的未缓存列表(不包括
-l
和-L
)。LAPACK_LIBRARIES
要链接以使用 LAPACK 的库的未缓存列表(使用完整路径名)
LAPACK95_LIBRARIES
要链接以使用 LAPACK95 的库的未缓存列表(使用完整路径名)
LAPACK95_FOUND
找到实现 LAPACK95 接口的库
Intel MKL¶
要使用 Intel MKL 实现的 LAPACK,项目必须启用 C
或 CXX
语言中的至少一种。在命令行中将 BLA_VENDOR
设置为 Intel MKL 变体,例如 -DBLA_VENDOR=Intel10_64lp
,或在项目代码中设置。
set(BLA_VENDOR Intel10_64lp)
find_package(LAPACK)
为了使用 Intel MKL 构建项目,最终用户必须首先建立 Intel MKL 环境。有关详细信息,请参阅 FindBLAS
模块的 Intel MKL 部分。