mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-14 02:08:27 +08:00
Merge topic 'FindBLAS-mkl-gnu'
daa0a1f877
Find{BLAS,LAPACK}: Add tests covering Intel MKL with GNU compiler624110b90d
FindBLAS: Revert "Do not statically link against iomp5 ... Intel MKL" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6213
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
set(CMake_TEST_FindBLAS "Intel10_64lp" CACHE STRING "")
|
||||
set(CMake_TEST_FindBLAS_STATIC "Intel10_64lp" CACHE STRING "")
|
||||
set(CMake_TEST_FindLAPACK "Intel10_64lp" CACHE STRING "")
|
||||
set(CMake_TEST_FindLAPACK_STATIC "Intel10_64lp" CACHE STRING "")
|
||||
set(CMake_TEST_FindBLAS "Intel10_64lp;Intel10_64lp.gcc" CACHE STRING "")
|
||||
set(CMake_TEST_FindBLAS_STATIC "Intel10_64lp;Intel10_64lp.gcc" CACHE STRING "")
|
||||
set(CMake_TEST_FindLAPACK "Intel10_64lp;Intel10_64lp.gcc" CACHE STRING "")
|
||||
set(CMake_TEST_FindLAPACK_STATIC "Intel10_64lp;Intel10_64lp.gcc" CACHE STRING "")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
|
||||
|
@@ -337,21 +337,12 @@ if(BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
|
||||
if(CMAKE_Fortran_COMPILER_LOADED AND CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND NOT APPLE)
|
||||
set(BLAS_mkl_INTFACE "gf")
|
||||
set(BLAS_mkl_THREADING "gnu")
|
||||
set(BLAS_mkl_OMP "gomp")
|
||||
else()
|
||||
set(BLAS_mkl_INTFACE "intel")
|
||||
set(BLAS_mkl_THREADING "intel")
|
||||
set(BLAS_mkl_OMP "iomp5")
|
||||
endif()
|
||||
|
||||
foreach(lang IN ITEMS C CXX Fortran)
|
||||
if(CMAKE_${lang}_COMPILER_LOADED)
|
||||
find_package(OpenMP COMPONENTS ${lang})
|
||||
if(${OpenMP_${lang}_FOUND})
|
||||
set(BLAS_mkl_OMP ${OpenMP_${lang}_LIBRARIES})
|
||||
break()
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(BLAS_mkl_LM "-lm")
|
||||
set(BLAS_mkl_LDL "-ldl")
|
||||
endif()
|
||||
@@ -416,7 +407,7 @@ if(BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
|
||||
|
||||
# mkl >= 10.3
|
||||
list(APPEND BLAS_SEARCH_LIBS
|
||||
"${BLAS_mkl_START_GROUP} mkl_blas95 mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP}")
|
||||
"${BLAS_mkl_START_GROUP} mkl_blas95 mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP} ${BLAS_mkl_OMP}")
|
||||
endif()
|
||||
if(BLA_VENDOR MATCHES "^Intel10_64i?lp$" OR BLA_VENDOR STREQUAL "All")
|
||||
# old version
|
||||
@@ -425,7 +416,7 @@ if(BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
|
||||
|
||||
# mkl >= 10.3
|
||||
list(APPEND BLAS_SEARCH_LIBS
|
||||
"${BLAS_mkl_START_GROUP} mkl_blas95_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP}")
|
||||
"${BLAS_mkl_START_GROUP} mkl_blas95_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP} ${BLAS_mkl_OMP}")
|
||||
endif()
|
||||
if(BLA_VENDOR MATCHES "^Intel10_64i?lp_seq$" OR BLA_VENDOR STREQUAL "All")
|
||||
list(APPEND BLAS_SEARCH_LIBS
|
||||
@@ -481,7 +472,7 @@ if(BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
|
||||
|
||||
# mkl >= 10.3
|
||||
list(APPEND BLAS_SEARCH_LIBS
|
||||
"${BLAS_mkl_START_GROUP} mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP}")
|
||||
"${BLAS_mkl_START_GROUP} mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP} ${BLAS_mkl_OMP}")
|
||||
endif()
|
||||
if(BLA_VENDOR MATCHES "^Intel10_64i?lp$" OR BLA_VENDOR STREQUAL "All")
|
||||
# old version
|
||||
@@ -490,7 +481,7 @@ if(BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
|
||||
|
||||
# mkl >= 10.3
|
||||
list(APPEND BLAS_SEARCH_LIBS
|
||||
"${BLAS_mkl_START_GROUP} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP}")
|
||||
"${BLAS_mkl_START_GROUP} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP} ${BLAS_mkl_OMP}")
|
||||
endif()
|
||||
if(BLA_VENDOR MATCHES "^Intel10_64i?lp_seq$" OR BLA_VENDOR STREQUAL "All")
|
||||
list(APPEND BLAS_SEARCH_LIBS
|
||||
@@ -553,7 +544,7 @@ if(BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
|
||||
${BLAS_mkl_SEARCH_SYMBOL}
|
||||
""
|
||||
"${SEARCH_LIBS}"
|
||||
"${BLAS_mkl_OMP};${CMAKE_THREAD_LIBS_INIT};${BLAS_mkl_LM};${BLAS_mkl_LDL}"
|
||||
"${CMAKE_THREAD_LIBS_INIT};${BLAS_mkl_LM};${BLAS_mkl_LDL}"
|
||||
"${BLAS_mkl_MKLROOT}"
|
||||
"${BLAS_mkl_LIB_PATH_SUFFIXES}"
|
||||
)
|
||||
|
@@ -1,25 +1,39 @@
|
||||
foreach(vendor IN LISTS CMake_TEST_FindBLAS)
|
||||
add_test(NAME FindBLAS.Test_${vendor} COMMAND
|
||||
foreach(variant IN LISTS CMake_TEST_FindBLAS)
|
||||
if(variant MATCHES "^([^.]+)\\.(.*)$")
|
||||
set(vendor "${CMAKE_MATCH_1}")
|
||||
set(alt_compiler "-DCMAKE_C_COMPILER=${CMAKE_MATCH_2}")
|
||||
else()
|
||||
set(vendor "${variant}")
|
||||
set(alt_compiler "")
|
||||
endif()
|
||||
add_test(NAME FindBLAS.Test_${variant} COMMAND
|
||||
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/FindBLAS/Test"
|
||||
"${CMake_BINARY_DIR}/Tests/FindBLAS/Test_${vendor}"
|
||||
"${CMake_BINARY_DIR}/Tests/FindBLAS/Test_${variant}"
|
||||
${build_generator_args}
|
||||
--build-project TestFindBLAS
|
||||
--build-options ${build_options} -DBLA_VENDOR=${vendor}
|
||||
--build-options ${build_options} ${alt_compiler} -DBLA_VENDOR=${vendor}
|
||||
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
|
||||
)
|
||||
endforeach()
|
||||
|
||||
foreach(vendor IN LISTS CMake_TEST_FindBLAS_STATIC)
|
||||
add_test(NAME FindBLAS.Test_${vendor}_Static COMMAND
|
||||
foreach(variant IN LISTS CMake_TEST_FindBLAS_STATIC)
|
||||
if(variant MATCHES "^([^.]+)\\.(.*)$")
|
||||
set(vendor "${CMAKE_MATCH_1}")
|
||||
set(alt_compiler "-DCMAKE_C_COMPILER=${CMAKE_MATCH_2}")
|
||||
else()
|
||||
set(vendor "${variant}")
|
||||
set(alt_compiler "")
|
||||
endif()
|
||||
add_test(NAME FindBLAS.Test_${variant}_Static COMMAND
|
||||
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/FindBLAS/Test"
|
||||
"${CMake_BINARY_DIR}/Tests/FindBLAS/Test_${vendor}_Static"
|
||||
"${CMake_BINARY_DIR}/Tests/FindBLAS/Test_${variant}_Static"
|
||||
${build_generator_args}
|
||||
--build-project TestFindBLAS
|
||||
--build-options ${build_options} -DBLA_VENDOR=${vendor} -DBLA_STATIC=ON
|
||||
--build-options ${build_options} ${alt_compiler} -DBLA_VENDOR=${vendor} -DBLA_STATIC=ON
|
||||
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
|
||||
)
|
||||
endforeach()
|
||||
|
@@ -1,25 +1,39 @@
|
||||
foreach(vendor IN LISTS CMake_TEST_FindLAPACK)
|
||||
add_test(NAME FindLAPACK.Test_${vendor} COMMAND
|
||||
foreach(variant IN LISTS CMake_TEST_FindLAPACK)
|
||||
if(variant MATCHES "^([^.]+)\\.(.*)$")
|
||||
set(vendor "${CMAKE_MATCH_1}")
|
||||
set(alt_compiler "-DCMAKE_C_COMPILER=${CMAKE_MATCH_2}")
|
||||
else()
|
||||
set(vendor "${variant}")
|
||||
set(alt_compiler "")
|
||||
endif()
|
||||
add_test(NAME FindLAPACK.Test_${variant} COMMAND
|
||||
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/FindLAPACK/Test"
|
||||
"${CMake_BINARY_DIR}/Tests/FindLAPACK/Test_${vendor}"
|
||||
"${CMake_BINARY_DIR}/Tests/FindLAPACK/Test_${variant}"
|
||||
${build_generator_args}
|
||||
--build-project TestFindLAPACK
|
||||
--build-options ${build_options} -DBLA_VENDOR=${vendor}
|
||||
--build-options ${build_options} ${alt_compiler} -DBLA_VENDOR=${vendor}
|
||||
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
|
||||
)
|
||||
endforeach()
|
||||
|
||||
foreach(vendor IN LISTS CMake_TEST_FindLAPACK_STATIC)
|
||||
add_test(NAME FindLAPACK.Test_${vendor}_Static COMMAND
|
||||
foreach(variant IN LISTS CMake_TEST_FindLAPACK_STATIC)
|
||||
if(variant MATCHES "^([^.]+)\\.(.*)$")
|
||||
set(vendor "${CMAKE_MATCH_1}")
|
||||
set(alt_compiler "-DCMAKE_C_COMPILER=${CMAKE_MATCH_2}")
|
||||
else()
|
||||
set(vendor "${variant}")
|
||||
set(alt_compiler "")
|
||||
endif()
|
||||
add_test(NAME FindLAPACK.Test_${variant}_Static COMMAND
|
||||
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/FindLAPACK/Test"
|
||||
"${CMake_BINARY_DIR}/Tests/FindLAPACK/Test_${vendor}_Static"
|
||||
"${CMake_BINARY_DIR}/Tests/FindLAPACK/Test_${variant}_Static"
|
||||
${build_generator_args}
|
||||
--build-project TestFindLAPACK
|
||||
--build-options ${build_options} -DBLA_VENDOR=${vendor} -DBLA_STATIC=ON
|
||||
--build-options ${build_options} ${alt_compiler} -DBLA_VENDOR=${vendor} -DBLA_STATIC=ON
|
||||
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
|
||||
)
|
||||
endforeach()
|
||||
|
Reference in New Issue
Block a user