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 Optimizing 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 Extended Math
-
EML, EML_mt -
Добавлен в версии 3.20.
Библиотека Elbrus Math
-
FLAME -
Добавлен в версии 3.11.
Фреймворк BLIS
-
FlexiBLAS -
Добавлен в версии 3.19.
-
Fujitsu_SSL2, Fujitsu_SSL2BLAMP, Fujitsu_SSL2SVE, Fujitsu_SSL2BLAMPSVE -
Добавлен в версии 3.20.
Последовательная и параллельная библиотека Fujitsu SSL2 blas/lapack с инструкциями SVE
-
Goto -
GotoBLAS
IBMESSL, IBMESSL_SMP
Библиотека IBM Engineering and Scientific Subroutine
-
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-битная, одна динамическая библиотека
-
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 Mathematical
-
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/latest/module/FindBLAS.html