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
-
AOCL, AOCL_mt -
Новое в версии 3.27.
Оптимизированные библиотеки AMD CPU
-
Apple, NAS -
Apple BLAS (Accelerate) и Apple NAS (vecLib)
-
Arm, Arm_mp, Arm_ilp64, Arm_ilp64_mp -
Новое в версии 3.18.
Библиотеки Arm Performance
-
ATLAS -
Программное обеспечение для автоматизированного настраиваемого решения линейной алгебры
-
CXML, DXML -
Расширенная математическая библиотека Compaq/Digital
-
EML, EML_mt -
Новое в версии 3.20.
Библиотека Elbrus Math
-
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 Engineering and Scientific
-
Intel -
Устаревшие версии Intel MKL 32-bit и 64-bit
-
Intel10_32 -
Intel MKL v10 32-bit, многопоточный код
-
Intel10_64lp -
Intel MKL v10+ 64-bit, многопоточный код, модель lp64
-
Intel10_64lp_seq -
Intel MKL v10+ 64-bit, последовательный код, модель lp64
-
Intel10_64ilp -
Новое в версии 3.13.
Intel MKL v10+ 64-bit, многопоточный код, модель ilp64
-
Intel10_64ilp_seq -
Новое в версии 3.13.
Intel MKL v10+ 64-bit, последовательный код, модель ilp64
-
Intel10_64_dyn -
Новое в версии 3.17.
Intel MKL v10+ 64-bit, одна динамическая библиотека
-
NVHPC -
Новое в версии 3.21.
NVIDIA HPC SDK
-
OpenBLAS -
Новое в версии 3.6.
-
PhiPACK -
Портабельная высокопроизводительная ANSI C (PHiPAC)
-
SCSL, SCSL_mp -
Библиотека программного обеспечения для научных вычислений
-
SGIMATH -
Библиотека научных математических вычислений SGI
-
SunPerf -
Библиотека Sun Performance
Intel MKL
Для использования реализации BLAS Intel MKL проект должен включить как минимум один из языков 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.27/module/FindBLAS.html