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