FindLAPACK¶
Finds the installed Linear Algebra PACKage (LAPACK) Fortran library that implements the LAPACK linear-algebra interface:
find_package(LAPACK [...])
At least one of the C, CXX, or Fortran languages must be enabled.
Imported Targets¶
This module provides the following Imported Targets:
LAPACK::LAPACK在 3.18 版被加入.
Target encapsulating the LAPACK usage requirements, available only if LAPACK is found.
結果變數¶
該模組定義了以下變數:
LAPACK_FOUNDBoolean indicating whether the library implementing the LAPACK interface was found.
LAPACK_LINKER_FLAGSUncached list of required linker flags (excluding
-land-L).LAPACK_LIBRARIESUncached list of libraries (using full path name) to link against to use LAPACK.
LAPACK95_LIBRARIESUncached list of libraries (using full path name) to link against to use LAPACK95.
LAPACK95_FOUNDBoolean indicating whether the library implementing the LAPACK95 interface was found.
輸入變數¶
The following variables may be set to influence this module's behavior:
BLA_STATICIf
ON, the static linkage will be used.BLA_VENDORSet to one of the BLAS/LAPACK Vendors to search for BLAS only from the specified vendor. If not set, all vendors are considered.
BLA_F95If
ON, the module tries to find the BLAS95/LAPACK95 interfaces.BLA_PREFER_PKGCONFIG在 3.20 版被加入.
If set,
pkg-configwill be used to search for a LAPACK library first and if one is found that is preferred.BLA_PKGCONFIG_LAPACK在 3.25 版被加入.
If set, the
pkg-configmethod will look for this module name instead of justlapack.BLA_SIZEOF_INTEGER在 3.22 版被加入.
Specify the BLAS/LAPACK library integer size:
4Search for a BLAS/LAPACK with 32-bit integer interfaces.
8Search for a BLAS/LAPACK with 64-bit integer interfaces.
ANYSearch for any BLAS/LAPACK. Most likely, a BLAS/LAPACK with 32-bit integer interfaces will be found.
BLA_THREAD在 4.1 版被加入.
Specify the BLAS/LAPACK threading model:
SEQSequential model
OMPOpenMP model
ANYSearch for any BLAS/LAPACK, if both are available most likely
OMPwill be found.
This is currently only supported by NVIDIA NVPL.
Intel MKL¶
To use the Intel MKL implementation of LAPACK, a project must enable at least
one of the C or CXX languages. Set BLA_VENDOR to an Intel MKL
variant either on the command-line as -DBLA_VENDOR=Intel10_64lp or in
project code:
set(BLA_VENDOR Intel10_64lp)
find_package(LAPACK)
In order to build a project using Intel MKL, and end user must first
establish an Intel MKL environment. See the FindBLAS module
section on Intel MKL for details.
範例¶
Finding LAPACK and linking it to a project target:
find_package(LAPACK)
target_link_libraries(project_target PRIVATE LAPACK::LAPACK)