Skip to content

Commit ffd4a06

Browse files
committed
Remove cache variable MKL_THREADING
1 parent 9ff41d8 commit ffd4a06

1 file changed

Lines changed: 8 additions & 20 deletions

File tree

cmake/modules/FindMKL.cmake

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
#
1212
# Optional cache variables:
1313
# MKL_LINK AUTO (default), static, or dynamic
14-
# MKL_THREADING AUTO (default), sequential, gnu_thread, or intel_thread
1514
# MKL_MPI AUTO (default), openmpi, intelmpi, or mpich
1615
#
1716

@@ -59,23 +58,15 @@ if(NOT _mkl_link MATCHES "^(auto|static|dynamic)$")
5958
message(FATAL_ERROR "MKL_LINK must be AUTO, static, or dynamic.")
6059
endif()
6160

62-
if(NOT DEFINED MKL_THREADING)
63-
set(MKL_THREADING AUTO CACHE STRING
64-
"oneMKL threading layer: AUTO, sequential, gnu_thread, or intel_thread")
65-
set_property(CACHE MKL_THREADING PROPERTY STRINGS AUTO sequential gnu_thread intel_thread)
66-
endif()
67-
string(TOLOWER "${MKL_THREADING}" _mkl_threading)
68-
if(_mkl_threading STREQUAL "auto")
69-
set(_mkl_threading sequential)
70-
if(USE_OPENMP)
71-
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
72-
set(_mkl_threading gnu_thread)
73-
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
74-
set(_mkl_threading intel_thread)
75-
endif()
61+
# Keep MKL threading internal: derive it from ABACUS OpenMP support and the
62+
# known compiler/runtime combinations. Unknown OpenMP runtimes use sequential MKL.
63+
set(_mkl_threading sequential)
64+
if(USE_OPENMP)
65+
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
66+
set(_mkl_threading gnu_thread)
67+
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
68+
set(_mkl_threading intel_thread)
7669
endif()
77-
elseif(NOT _mkl_threading MATCHES "^(sequential|gnu_thread|intel_thread)$")
78-
message(FATAL_ERROR "MKL_THREADING must be AUTO, sequential, gnu_thread, or intel_thread.")
7970
endif()
8071

8172
if(ENABLE_MPI)
@@ -198,9 +189,6 @@ if(MKL_FOUND)
198189
set(_mkl_runtime Threads::Threads ${CMAKE_DL_LIBS})
199190
list(APPEND _mkl_runtime m)
200191
if(NOT _mkl_threading STREQUAL "sequential")
201-
if(NOT USE_OPENMP)
202-
message(FATAL_ERROR "MKL_THREADING=${_mkl_threading} requires USE_OPENMP=ON.")
203-
endif()
204192
find_package(OpenMP REQUIRED COMPONENTS CXX)
205193
list(APPEND _mkl_runtime OpenMP::OpenMP_CXX)
206194
endif()

0 commit comments

Comments
 (0)