summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-07-29 12:39:42 (GMT)
committerKitware Robot <kwrobot@kitware.com>2021-07-29 12:40:00 (GMT)
commit272bbda602138ca3a1420e77ce9e342315489b74 (patch)
tree4498dddb39f801dc53e07e1d76f7b258fbd7cb99
parent824bab99e90337c62a837756eb55fb29c131da8f (diff)
parent03913b12cb9ae48d81ec773a1c6b93ba5fd2ad5d (diff)
downloadCMake-272bbda602138ca3a1420e77ce9e342315489b74.zip
CMake-272bbda602138ca3a1420e77ce9e342315489b74.tar.gz
CMake-272bbda602138ca3a1420e77ce9e342315489b74.tar.bz2
Merge topic 'FindBLAS-LAPACK-IBM-ESSL'
03913b12cb FindLAPACK: IBM ESSL 6.1 also has LAPACK routines ccb85f8943 FindBLAS: Add possibility to find OMP parallelized version of ESSL 73e452eb98 FindBLAS: IBM ESSL 6.1 does not required BLAS lib Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6399
-rw-r--r--Modules/FindBLAS.cmake16
-rw-r--r--Modules/FindLAPACK.cmake24
2 files changed, 36 insertions, 4 deletions
diff --git a/Modules/FindBLAS.cmake b/Modules/FindBLAS.cmake
index 799d179..2ea6d98 100644
--- a/Modules/FindBLAS.cmake
+++ b/Modules/FindBLAS.cmake
@@ -109,7 +109,8 @@ BLAS/LAPACK Vendors
``Goto``
GotoBLAS
-``IBMESSL``
+``IBMESSL``, ``IBMESSL_SMP``
+
IBM Engineering and Scientific Subroutine Library
``Intel``
@@ -893,20 +894,27 @@ if(BLA_VENDOR STREQUAL "SGIMATH" OR BLA_VENDOR STREQUAL "All")
endif()
endif()
-# BLAS in IBM ESSL library? (requires generic BLAS lib, too)
-if(BLA_VENDOR STREQUAL "IBMESSL" OR BLA_VENDOR STREQUAL "All")
+# BLAS in IBM ESSL library?
+if(BLA_VENDOR MATCHES "IBMESSL" OR BLA_VENDOR STREQUAL "All")
+ set(_blas_essl_lib "essl")
+
+ if(BLA_VENDOR MATCHES "_SMP")
+ set(_blas_essl_lib "${_blas_essl_lib}smp")
+ endif()
if(NOT BLAS_LIBRARIES)
check_blas_libraries(
BLAS_LIBRARIES
BLAS
sgemm
""
- "essl;blas"
+ "${_blas_essl_lib}"
""
""
""
)
endif()
+
+ unset(_blas_essl_lib)
endif()
# BLAS in acml library?
diff --git a/Modules/FindLAPACK.cmake b/Modules/FindLAPACK.cmake
index aa5423a..d70453b 100644
--- a/Modules/FindLAPACK.cmake
+++ b/Modules/FindLAPACK.cmake
@@ -586,6 +586,30 @@ if(NOT LAPACK_NOT_FOUND_MESSAGE)
unset(_ssl2_suffix)
endif()
+ # LAPACK in IBM ESSL library?
+ if(NOT LAPACK_LIBRARIES
+ AND (BLA_VENDOR MATCHES "IBMESSL" OR BLA_VENDOR STREQUAL "All"))
+ set(_lapack_essl_lib "essl")
+
+ # Check for OpenMP support, VIA BLA_VENDOR of esslsmp
+ if(BLA_VENDOR MATCHES "_SMP")
+ set(_lapack_essl_lib "${_lapack_essl_lib}smp")
+ endif()
+
+ check_lapack_libraries(
+ LAPACK_LIBRARIES
+ LAPACK
+ cheev
+ ""
+ "${_lapack_essl_lib}"
+ ""
+ ""
+ ""
+ "${BLAS_LIBRARIES}"
+ )
+ unset(_lapack_essl_lib)
+ endif()
+
# NVHPC Library?
if(NOT LAPACK_LIBRARIES
AND (BLA_VENDOR MATCHES "NVHPC" OR BLA_VENDOR STREQUAL "All"))