Find{BLAS,LAPACK}: Add support for FLAME blis and libflame

FLAME (github.com/flame) provides a variety of numerical libraries.
`blis` and `libflame` can be setup to expose BLAS/LAPACK interfaces.

Fixes: #17470
This commit is contained in:
J M Dieterich 2017-11-15 12:00:41 -05:00 committed by Brad King
parent e312885829
commit f5bc78263e
3 changed files with 35 additions and 0 deletions

View File

@ -0,0 +1,5 @@
blas-lapack-flame
-----------------
* The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support
`FLAME <https://github.com/flame>`__ ``blis`` and ``libflame``.

View File

@ -36,6 +36,7 @@
#
# * Goto
# * OpenBLAS
# * FLAME
# * ATLAS PhiPACK
# * CXML
# * DXML
@ -190,6 +191,20 @@ if (BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All")
endif()
endif ()
if (BLA_VENDOR STREQUAL "FLAME" OR BLA_VENDOR STREQUAL "All")
if(NOT BLAS_LIBRARIES)
# FLAME's blis library (https://github.com/flame/blis)
check_fortran_libraries(
BLAS_LIBRARIES
BLAS
sgemm
""
"blis"
""
)
endif()
endif ()
if (BLA_VENDOR STREQUAL "ATLAS" OR BLA_VENDOR STREQUAL "All")
if(NOT BLAS_LIBRARIES)
# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/)

View File

@ -37,6 +37,7 @@
#
# * Intel(mkl)
# * OpenBLAS
# * FLAME
# * ACML
# * Apple
# * NAS
@ -201,6 +202,20 @@ if (BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All")
endif()
endif ()
if (BLA_VENDOR STREQUAL "FLAME" OR BLA_VENDOR STREQUAL "All")
if(NOT LAPACK_LIBRARIES)
check_lapack_libraries(
LAPACK_LIBRARIES
LAPACK
cheev
""
"flame"
"${BLAS_LIBRARIES}"
""
)
endif()
endif ()
#acml lapack
if (BLA_VENDOR MATCHES "ACML" OR BLA_VENDOR STREQUAL "All")
if (BLAS_LIBRARIES MATCHES ".+acml.+")