FindBLAS
Поиск библиотеки Basic Linear Algebra Subprograms (BLAS)
Этот модуль находит установленную Fortran библиотеку, реализующую интерфейс BLAS для линейной алгебры (см. http://www.netlib.org/blas/).
Подход аналогичен тому, что используется в файле макроса autoconf , acx_blas.m4 (распределяется по адресу http://ac-archive.sourceforge.net/ac-archive/acx_blas.html).
Переменные ввода
Следующие переменные могут быть установлены для влияния на поведение этого модуля:
-
BLA_STATIC -
если
ONиспользовать статическую компоновку -
BLA_VENDOR -
Если задано, проверяется только указанный поставщик, если не задано, проверяются все варианты. Список поставщиков, допустимых в этом модуле:
GotoFlexiBLASOpenBLASFLAMEATLAS PhiPACKCXMLDXMLSunPerfSCSLSGIMATHIBMESSL-
Intel10_32(intel mkl v10 32-битная, потоковая обработка) -
Intel10_64lp(intel mkl v10+ 64-битная, потоковая обработка, модель lp64) -
Intel10_64lp_seq(intel mkl v10+ 64-битная, последовательная обработка, модель lp64) -
Intel10_64ilp(intel mkl v10+ 64-битная, потоковая обработка, модель ilp64) -
Intel10_64ilp_seq(intel mkl v10+ 64-битная, последовательная обработка, модель ilp64) -
Intel10_64_dyn(intel mkl v10+ 64-битная, одна динамическая библиотека) -
Intel(устаревшие версии mkl 32 и 64 бит) ACMLACML_MPACML_GPUAppleNASArmArm_mpArm_ilp64Arm_ilp64_mpEMLEML_mtGeneric
Новая в версии 3.6:
OpenBLASподдержка.Новая в версии 3.11:
FLAMEподдержка.Новая в версии 3.13: Добавлены варианты ILP64 MKL (
Intel10_64ilp,Intel10_64ilp_seq).Новая в версии 3.17: Добавлен вариант MKL с одной динамической библиотекой (
Intel10_64_dyn).Новая в версии 3.18: Поддержка Arm Performance Libraries (
Arm,Arm_mp,Arm_ilp64,Arm_ilp64_mp).Новая в версии 3.19:
FlexiBLASподдержка.Новая в версии 3.20: Поддержка Elbrus Math Library (
EML,EML_mt). -
BLA_F95 -
если
ONпытается найти интерфейсы BLAS95 -
BLA_PREFER_PKGCONFIG -
Новая в версии 3.11.
если задано
pkg-configбудет использоваться для поиска библиотеки BLAS в первую очередь, и если она найдена, она будет предпочтительна
Импортированные цели
Новая в версии 3.18.
Этот модуль определяет следующую цель IMPORTED:
-
BLAS::BLAS -
Библиотеки для использования с BLAS, если они найдены.
Переменные результата
Этот модуль определяет следующие переменные:
-
BLAS_FOUND -
найдена библиотека, реализующая интерфейс BLAS
-
BLAS_LINKER_FLAGS -
некэшированный список необходимых флагов линкера (исключая
-lи-L). -
BLAS_LIBRARIES -
некэшированный список библиотек (с полным путем) для компоновки, чтобы использовать BLAS (может быть пустым, если компилятор неявно компонует BLAS)
-
BLAS95_LIBRARIES -
некэшированный список библиотек (с полным путем) для компоновки, чтобы использовать интерфейс BLAS95
-
BLAS95_FOUND -
найдена библиотека, реализующая интерфейс BLAS95
Примечание
Для обнаружения библиотеки BLAS необходимо включить C, CXX или Fortran. Для использования Intel Math Kernel Library (MKL) необходимо включить C или CXX.
Например, чтобы использовать библиотеки Intel MKL и/или компилятор Intel:
set(BLA_VENDOR Intel10_64lp) find_package(BLAS)
Подсказки
-
MKLROOT -
Новая в версии 3.15.
Установите эту переменную среды в каталог, содержащий установку MKL, или добавьте каталог в переменную среды загрузчика динамических библиотек для вашей платформы (
LIB,DYLD_LIBRARY_PATHилиLD_LIBRARY_PATH).
© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.20/module/FindBLAS.html