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