From 5f6b4f690a3348c43f4f26bcc07c2418c3f2ab2f Mon Sep 17 00:00:00 2001 From: J M Dieterich Date: Fri, 18 Mar 2016 10:55:16 -0400 Subject: Find{BLAS,LAPACK}: Add support for OpenBLAS (#16024) OpenBLAS (www.openblas.net) is the successor to GotoBLAS. --- Help/release/dev/find-blas-lapack-OpenBLAS.rst | 5 +++++ Modules/FindBLAS.cmake | 20 +++++++++++++++++--- Modules/FindLAPACK.cmake | 15 ++++++++++++++- 3 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 Help/release/dev/find-blas-lapack-OpenBLAS.rst diff --git a/Help/release/dev/find-blas-lapack-OpenBLAS.rst b/Help/release/dev/find-blas-lapack-OpenBLAS.rst new file mode 100644 index 0000000..893422a --- /dev/null +++ b/Help/release/dev/find-blas-lapack-OpenBLAS.rst @@ -0,0 +1,5 @@ +find-blas-lapack-OpenBLAS +------------------------- + +* The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to + support `OpenBLAS `__. diff --git a/Modules/FindBLAS.cmake b/Modules/FindBLAS.cmake index 416b666..546ada1 100644 --- a/Modules/FindBLAS.cmake +++ b/Modules/FindBLAS.cmake @@ -30,9 +30,9 @@ # BLA_F95 if set on tries to find the f95 interfaces for BLAS/LAPACK # # ######### ## List of vendors (BLA_VENDOR) valid in this module # -# Goto,ATLAS PhiPACK,CXML,DXML,SunPerf,SCSL,SGIMATH,IBMESSL,Intel10_32 -# (intel mkl v10 32 bit),Intel10_64lp (intel mkl v10 64 bit,lp thread -# model, lp64 model), # Intel10_64lp_seq (intel mkl v10 64 +# Goto,OpenBLAS,ATLAS PhiPACK,CXML,DXML,SunPerf,SCSL,SGIMATH,IBMESSL, +# Intel10_32 (intel mkl v10 32 bit),Intel10_64lp (intel mkl v10 64 bit, +# lp thread model, lp64 model), # Intel10_64lp_seq (intel mkl v10 64 # bit,sequential code, lp64 model), # Intel( older versions of mkl 32 # and 64 bit), ACML,ACML_MP,ACML_GPU,Apple, NAS, Generic C/CXX should be # enabled to use Intel mkl @@ -172,6 +172,20 @@ if (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All") endif() endif () +if (BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + # OpenBLAS (http://www.openblas.net) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "openblas" + "" + ) + 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 b11edc3..2708de0 100644 --- a/Modules/FindLAPACK.cmake +++ b/Modules/FindLAPACK.cmake @@ -31,7 +31,7 @@ # BLA_F95 if set on tries to find the f95 interfaces for BLAS/LAPACK # # ## List of vendors (BLA_VENDOR) valid in this module # Intel(mkl), -# ACML,Apple, NAS, Generic +# OpenBLAS, ACML,Apple, NAS, Generic #============================================================================= # Copyright 2007-2009 Kitware, Inc. @@ -181,6 +181,19 @@ if (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All") endif() endif () +if (BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "openblas" + "${BLAS_LIBRARIES}" + "" + ) + endif() +endif () #acml lapack if (BLA_VENDOR MATCHES "ACML" OR BLA_VENDOR STREQUAL "All") -- cgit v0.12