Spec-Zone.ru › CMake 3.21

FindBLAS

Поиск библиотеки Basic Linear Algebra Subprograms (BLAS)

Этот модуль находит установленную Fortran библиотеку, которая реализует интерфейс линейной алгебры BLAS BLAS linear-algebra interface.

Должен быть включён хотя бы один из языков C, CXX, или Fortran.

Переменные ввода

Следующие переменные могут быть установлены для влияния на поведение этого модуля:

BLA_STATIC

если ON использовать статическую компоновку

BLA_VENDOR

Установите одно из значений Поставщики BLAS/LAPACK для поиска BLAS только у указанного поставщика. Если не установлено, рассматриваются все поставщики.

BLA_F95

если ON пытается найти интерфейсы BLAS95

BLA_PREFER_PKGCONFIG

Добавлена в версии 3.11.

если установлено, pkg-config будет использоваться для поиска библиотеки BLAS в первую очередь, и если она найдена, будет отдаваться предпочтение

Импортированные целевые объекты

Этот модуль определяет следующие IMPORTED целевые объекты:

BLAS::BLAS

Добавлена в версии 3.18.

Библиотеки для использования BLAS, если они найдены.

Переменные результата

Этот модуль определяет следующие переменные:

BLAS_FOUND

найдена библиотека, реализующая интерфейс BLAS

BLAS_LINKER_FLAGS

некэшированный список необходимых флагов компоновщика (исключая -l и -L).

BLAS_LIBRARIES

некэшированный список библиотек (с полным именем пути) для компоновки для использования BLAS (может быть пустым, если компилятор неявно подключает BLAS)

BLAS95_LIBRARIES

некэшированный список библиотек (с полным именем пути) для компоновки для использования интерфейса BLAS95

BLAS95_FOUND

найдена библиотека, реализующая интерфейс BLAS95

Поставщики BLAS/LAPACK

Generic

Общая справочная реализация

ACML, ACML_MP, ACML_GPU

Библиотека математических функций AMD Core

Apple, NAS

BLAS Apple (Accelerate) и NAS Apple (vecLib)

Arm, Arm_mp, Arm_ilp64, Arm_ilp64_mp

Добавлена в версии 3.18.

Библиотеки производительности Arm

ATLAS

Автоматически настраиваемое программное обеспечение для линейной алгебры

CXML, DXML

Расширенная библиотека математических функций Compaq/Digital

EML, EML_mt

Добавлена в версии 3.20.

Библиотека математических функций Elbrus

FLAME

Добавлена в версии 3.11.

Фреймворк BLIS

FlexiBLAS

Добавлена в версии 3.19.

Fujitsu_SSL2, Fujitsu_SSL2BLAMP

Добавлена в версии 3.20.

Последовательные и параллельные библиотеки blas/lapack Fujitsu SSL2

Goto

GotoBLAS

IBMESSL

Библиотека инженерных и научных подпрограмм IBM

Intel

Устаревшие 32-разрядные и 64-разрядные версии Intel MKL

Intel10_32

Intel MKL v10 32-разрядный, потоковый код

Intel10_64lp

Intel MKL v10+ 64-разрядный, потоковый код, модель lp64

Intel10_64lp_seq

Intel MKL v10+ 64-разрядный, последовательный код, модель lp64

Intel10_64ilp

Добавлена в версии 3.13.

Intel MKL v10+ 64-разрядный, потоковый код, модель ilp64

Intel10_64ilp_seq

Добавлена в версии 3.13.

Intel MKL v10+ 64-разрядный, последовательный код, модель ilp64

Intel10_64_dyn

Добавлена в версии 3.17.

Intel MKL v10+ 64-разрядный, одна динамическая библиотека

NVHPC

Добавлена в версии 3.21.

NVIDIA HPC SDK

OpenBLAS

Добавлена в версии 3.6.

PhiPACK

Переносная высокопроизводительная ANSI C (PHiPAC)

SCSL

Библиотека программного обеспечения для научных вычислений

SGIMATH

Научная математическая библиотека SGI

SunPerf

Библиотека производительности Sun

Intel MKL

Для использования реализации Intel MKL BLAS проект должен включить хотя бы один из языков C или CXX. Установите BLA_VENDOR на вариант Intel MKL либо в командной строке как -DBLA_VENDOR=Intel10_64lp, либо в коде проекта:

set(BLA_VENDOR Intel10_64lp)
find_package(BLAS)

Для построения проекта с использованием Intel MKL пользователь должен сначала создать среду Intel MKL:

Intel oneAPI

Выполните сценарий полной среды Intel:

. /opt/intel/oneapi/setvars.sh

Или выполните сценарий среды компонента MKL:

. /opt/intel/oneapi/mkl/latest/env/vars.sh
Intel Classic

Выполните сценарий полной среды Intel:

. /opt/intel/bin/compilervars.sh intel64

Или выполните сценарий среды компонента MKL:

. /opt/intel/mkl/bin/mklvars.sh intel64

Приведенные выше сценарии среды устанавливают переменную среды MKLROOT в верхнюю часть установки MKL. Они также добавляют расположение библиотек выполнения в переменную среды загрузчика динамических библиотек для вашей платформы (например, LD_LIBRARY_PATH). Это необходимо для работы программ, связанных с MKL.

Примечание

Начиная с Intel oneAPI 2021.2, загрузка только компонента MKL не делает доступными все его зависимости. В частности, библиотека iomp5 должна быть доступна отдельно или предоставляться при загрузке среды компонента компилятора:

. /opt/intel/oneapi/compiler/latest/env/vars.sh

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API