Spec-Zone.ru › CMake 3.31

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

AOCL, AOCL_mt

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

Библиотеки оптимизированных процессоров AMD

Apple, NAS

Apple BLAS (Accelerate) и Apple NAS (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, Fujitsu_SSL2SVE, Fujitsu_SSL2BLAMPSVE

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

Последовательные и параллельные библиотеки blas/lapack Fujitsu SSL2 с инструкциями 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 бита, одна динамическая библиотека

libblastrampoline

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

Библиотека демультиплексирования BLAS/LAPACK с использованием переходов PLT

NVHPC

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

NVIDIA HPC SDK

OpenBLAS

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

PhiPACK

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

SCSL, SCSL_mp

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

SGIMATH

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

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

Spec-Zone.ru

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