Spec-Zone.ru › CMake 3.29

FindBLAS

Нахождение библиотеки Basic Linear Algebra Subprograms (BLAS)

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

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

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

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

BLA_STATIC

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

BLA_VENDOR

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

BLA_F95

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

BLA_PREFER_PKGCONFIG

Новая в версии 3.11.

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

BLA_PKGCONFIG_BLAS

Новая в версии 3.25.

Если задано, метод pkg-config будет искать это имя модуля вместо просто blas.

BLA_SIZEOF_INTEGER

Новая в версии 3.22.

Укажите размер целого числа для библиотеки BLAS/LAPACK:

4

Поиск BLAS/LAPACK с 32-битными интерфейсами целых чисел.

8

Поиск BLAS/LAPACK с 64-битными интерфейсами целых чисел.

ANY

Поиск любого BLAS/LAPACK. Скорее всего, будет найден BLAS/LAPACK с 32-битными интерфейсами целых чисел.

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

Этот модуль определяет следующие 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 Math Library

AOCL, AOCL_mt

Новая в версии 3.27.

AMD Optimizing CPU Libraries

Apple, NAS

Apple BLAS (Accelerate) и Apple NAS (vecLib)

Arm, Arm_mp, Arm_ilp64, Arm_ilp64_mp

Новая в версии 3.18.

Arm Performance Libraries

ATLAS

Automatically Tuned Linear Algebra Software

CXML, DXML

Compaq/Digital Extended Math Library

EML, EML_mt

Новая в версии 3.20.

Elbrus Math Library

FLAME

Новая в версии 3.11.

BLIS Framework

FlexiBLAS

Новая в версии 3.19.

Fujitsu_SSL2, Fujitsu_SSL2BLAMP, Fujitsu_SSL2SVE, Fujitsu_SSL2BLAMPSVE

Новая в версии 3.20.

Fujitsu SSL2 последовательные и параллельные blas/lapack с инструкциями SVE

Goto

GotoBLAS

IBMESSL, IBMESSL_SMP

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

Intel

Устаревшие версии Intel MKL 32 и 64 бит

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, SCSL_mp

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

SGIMATH

SGI Scientific Mathematical Library

SunPerf

Sun Performance Library

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–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.29/module/FindBLAS.html

Spec-Zone.ru

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