FindBLAS¶
Find Basic Linear Algebra Subprograms (BLAS) library
This module finds an installed Fortran library that implements the BLAS linear-algebra interface (see http://www.netlib.org/blas/).
The approach follows that taken for the autoconf macro file,
acx_blas.m4 (distributed at
http://ac-archive.sourceforge.net/ac-archive/acx_blas.html).
Input Variables¶
The following variables may be set to influence this module’s behavior:
BLA_STATICif
ONuse static linkageBLA_VENDORIf set, checks only the specified vendor, if not set checks all the possibilities. List of vendors valid in this module:
GotoFlexiBLASOpenBLASFLAMEATLAS PhiPACKCXMLDXMLSunPerfSCSLSGIMATHIBMESSLIntel10_32(intel mkl v10 32 bit, threaded code)Intel10_64lp(intel mkl v10+ 64 bit, threaded code, lp64 model)Intel10_64lp_seq(intel mkl v10+ 64 bit, sequential code, lp64 model)Intel10_64ilp(intel mkl v10+ 64 bit, threaded code, ilp64 model)Intel10_64ilp_seq(intel mkl v10+ 64 bit, sequential code, ilp64 model)Intel10_64_dyn(intel mkl v10+ 64 bit, single dynamic library)Intel(obsolete versions of mkl 32 and 64 bit)ACMLACML_MPACML_GPUAppleNASArmArm_mpArm_ilp64Arm_ilp64_mpGeneric
BLA_F95if
ONtries to find the BLAS95 interfacesBLA_PREFER_PKGCONFIGif set
pkg-configwill be used to search for a BLAS library first and if one is found that is preferred
Imported targets¶
This module defines the following IMPORTED target:
BLAS::BLASThe libraries to use for BLAS, if found.
Result Variables¶
This module defines the following variables:
BLAS_FOUNDlibrary implementing the BLAS interface is found
BLAS_LINKER_FLAGSuncached list of required linker flags (excluding
-land-L).BLAS_LIBRARIESuncached list of libraries (using full path name) to link against to use BLAS (may be empty if compiler implicitly links BLAS)
BLAS95_LIBRARIESuncached list of libraries (using full path name) to link against to use BLAS95 interface
BLAS95_FOUNDlibrary implementing the BLAS95 interface is found
Note
C, CXX or Fortran must be enabled to detect a BLAS library. C or CXX must be enabled to use Intel Math Kernel Library (MKL).
For example, to use Intel MKL libraries and/or Intel compiler:
set(BLA_VENDOR Intel10_64lp)
find_package(BLAS)
Hints¶
Set the MKLROOT environment variable to a directory that contains an MKL
installation, or add the directory to the dynamic library loader environment
variable for your platform (LIB, DYLD_LIBRARY_PATH or
LD_LIBRARY_PATH).