diff options
author | Igor S. Gerasimov <i.s.ger@ya.ru> | 2021-08-07 08:25:54 (GMT) |
---|---|---|
committer | Igor S. Gerasimov <i.s.ger@ya.ru> | 2021-10-05 14:11:00 (GMT) |
commit | f8079ec8d0c82d1010bbc889e3faaef50898060b (patch) | |
tree | 88e54bc683ea4375dbd87ac58f54e3ff7e7b5d09 | |
parent | 88969b51679784ce2f64da4d8ceefbf802cfcdff (diff) | |
download | CMake-f8079ec8d0c82d1010bbc889e3faaef50898060b.zip CMake-f8079ec8d0c82d1010bbc889e3faaef50898060b.tar.gz CMake-f8079ec8d0c82d1010bbc889e3faaef50898060b.tar.bz2 |
FindBLAS: Update Fujitsu_SSL2
-rw-r--r-- | Modules/FindBLAS.cmake | 50 |
1 files changed, 29 insertions, 21 deletions
diff --git a/Modules/FindBLAS.cmake b/Modules/FindBLAS.cmake index e22fae3..6d6e84d 100644 --- a/Modules/FindBLAS.cmake +++ b/Modules/FindBLAS.cmake @@ -101,10 +101,10 @@ BLAS/LAPACK Vendors ``FlexiBLAS`` .. versionadded:: 3.19 -``Fujitsu_SSL2``, ``Fujitsu_SSL2BLAMP`` +``Fujitsu_SSL2``, ``Fujitsu_SSL2BLAMP``, ``Fujitsu_SSL2SVE``, ``Fujitsu_SSL2BLAMPSVE`` .. versionadded:: 3.20 - Fujitsu SSL2 serial and parallel blas/lapack + Fujitsu SSL2 serial and parallel blas/lapack with SVE instructions ``Goto`` GotoBLAS @@ -1142,27 +1142,35 @@ endif() # Fujitsu SSL2 Library? if(NOT BLAS_LIBRARIES - AND (BLA_VENDOR MATCHES "Fujitsu_SSL2" OR BLA_VENDOR STREQUAL "All")) - if(BLA_VENDOR STREQUAL "Fujitsu_SSL2BLAMP") - set(_ssl2_suffix BLAMP) - else() - set(_ssl2_suffix) + AND (BLA_VENDOR MATCHES "^Fujitsu_SSL2" OR BLA_VENDOR STREQUAL "All")) + set(_blas_fjlapack_lib "fjlapack") + set(_blas_fjlapack_flags "-Kopenmp") + + if(BLA_VENDOR MATCHES "BLAMP") + string(APPEND _blas_fjlapack_lib "ex") endif() - check_blas_libraries( - BLAS_LIBRARIES - BLAS - sgemm - "-SSL2${_ssl2_suffix}" - "" - "" - "" - "" - ) - if(BLAS_LIBRARIES) - set(BLAS_LINKER_FLAGS "-SSL2${_ssl2_suffix}") - set(_blas_fphsa_req_var BLAS_LINKER_FLAGS) + if(BLA_VENDOR MATCHES "SVE") + string(APPEND _blas_fjlapack_lib "sve") endif() - unset(_ssl2_suffix) + + if(NOT BLAS_LIBRARIES) + check_blas_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "${_blas_fjlapack_flags}" + "${_blas_fjlapack_lib}" + "" + "" + "" + ) + if(BLAS_LIBRARIES) + set(BLAS_LINKER_FLAGS ${_blas_fjlapack_flags}) + endif() + endif() + + unset(_blas_fjlapack_flags) + unset(_blas_fjlapack_lib) endif() # BLAS in nVidia HPC SDK? (https://developer.nvidia.com/hpc-sdk) |