summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ M Dieterich <dieterich@ogolem.org>2017-11-15 17:00:41 (GMT)
committerBrad King <brad.king@kitware.com>2017-11-16 16:43:15 (GMT)
commitf5bc78263e15f07fc1fed15d970d7ecf9e84f7cc (patch)
treecb84e712152de2b62caef9abaf2bd27cd92e8afa
parente31288582977c10972af9baa3b0e41d758094d21 (diff)
downloadCMake-f5bc78263e15f07fc1fed15d970d7ecf9e84f7cc.zip
CMake-f5bc78263e15f07fc1fed15d970d7ecf9e84f7cc.tar.gz
CMake-f5bc78263e15f07fc1fed15d970d7ecf9e84f7cc.tar.bz2
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
-rw-r--r--Help/release/dev/blas-lapack-flame.rst5
-rw-r--r--Modules/FindBLAS.cmake15
-rw-r--r--Modules/FindLAPACK.cmake15
3 files changed, 35 insertions, 0 deletions
diff --git a/Help/release/dev/blas-lapack-flame.rst b/Help/release/dev/blas-lapack-flame.rst
new file mode 100644
index 0000000..fdc3a69
--- /dev/null
+++ b/Help/release/dev/blas-lapack-flame.rst
@@ -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``.
diff --git a/Modules/FindBLAS.cmake b/Modules/FindBLAS.cmake
index 2684617..bb8b308 100644
--- a/Modules/FindBLAS.cmake
+++ b/Modules/FindBLAS.cmake
@@ -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/)
diff --git a/Modules/FindLAPACK.cmake b/Modules/FindLAPACK.cmake
index a451e6c..a3c87f8 100644
--- a/Modules/FindLAPACK.cmake
+++ b/Modules/FindLAPACK.cmake
@@ -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.+")