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_STATIC

if ON use static linkage

BLA_VENDOR

If set, checks only the specified vendor, if not set checks all the possibilities. List of vendors valid in this module:

  • Goto
  • OpenBLAS
  • FLAME
  • ATLAS PhiPACK
  • CXML
  • DXML
  • SunPerf
  • SCSL
  • SGIMATH
  • IBMESSL
  • Intel10_32 (intel mkl v10 32 bit)
  • 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)
  • ACML
  • ACML_MP
  • ACML_GPU
  • Apple
  • NAS
  • Generic
BLA_F95

if ON tries to find the BLAS95 interfaces

BLA_PREFER_PKGCONFIG

if set pkg-config will be used to search for a BLAS library first and if one is found that is preferred

Result Variables

This module defines the following variables:

BLAS_FOUND

library implementing the BLAS interface is found

BLAS_LINKER_FLAGS

uncached list of required linker flags (excluding -l and -L).

BLAS_LIBRARIES

uncached list of libraries (using full path name) to link against to use BLAS (may be empty if compiler implicitly links BLAS)

BLAS95_LIBRARIES

uncached list of libraries (using full path name) to link against to use BLAS95 interface

BLAS95_FOUND

library 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).

© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.17/module/FindBLAS.html