@@ -224,7 +224,8 @@ endif()
224224
225225# Determine Compiler Family
226226if (CXX_COMPILER_NAME STREQUAL "dpcpp" OR CXX_COMPILER_NAME STREQUAL "dpcpp.exe"
227- OR CXX_COMPILER_NAME STREQUAL "icpx" OR CXX_COMPILER_NAME STREQUAL "icx.exe" )
227+ OR CXX_COMPILER_NAME STREQUAL "icpx" OR CXX_COMPILER_NAME STREQUAL "icx.exe"
228+ OR CXX_COMPILER_NAME STREQUAL "mpiicpx" OR CXX_COMPILER_NAME STREQUAL "mpiicx.bat" )
228229 set (SYCL_COMPILER ON )
229230endif ()
230231if (C_COMPILER_NAME MATCHES "^clang" OR CXX_COMPILER_NAME MATCHES "^clang" )
@@ -408,7 +409,7 @@ endif()
408409
409410# Define MKL_THREADING
410411# All APIs support sequential threading
411- # SYCL API supports oneTBB and OpenMP threadings, but OpenMP threading might have composability problem on CPU device with other SYCL kernels
412+ # SYCL API supports oneTBB and OpenMP threadings
412413if (SYCL_COMPILER)
413414 set (MKL_SYCL_THREADING_LIST "sequential" "intel_thread" "tbb_thread" )
414415 set (DEFAULT_MKL_SYCL_THREADING tbb_thread)
@@ -420,12 +421,6 @@ if(SYCL_COMPILER)
420421 set (SYCL_COMPILER OFF )
421422 mkl_message (STATUS "MKL::MKL_SYCL target will not be available." )
422423 endif ()
423- if (MKL_SYCL_THREADING STREQUAL "intel_thread" )
424- mkl_message (STATUS "Using MKL::MKL_SYCL* targets with intel_thread may have potential composability problems on CPU device with other SYCL kernels." )
425- add_custom_target (MKL_SYCL_MESSAGE
426- COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --red
427- "Warning: Using MKL::MKL_SYCL* targets with intel_thread may have potential composability problems on CPU device with other SYCL kernels." )
428- endif ()
429424endif ()
430425# C, Fortran API
431426set (MKL_THREADING_LIST "sequential" "intel_thread" "tbb_thread" )
@@ -509,12 +504,20 @@ if(SYCL_COMPILER)
509504 list (APPEND MKL_SYCL_COPT "-fsycl" )
510505 list (APPEND MKL_SYCL_LOPT "-fsycl" )
511506 if (MKL_SYCL_LINK STREQUAL "static" )
512- list (APPEND MKL_SYCL_LOPT "-fsycl-device-code-split=per_kernel" )
507+ if (WIN32 )
508+ list (APPEND MKL_SYCL_LOPT "-fsycl-device-code-split:per_kernel" )
509+ else ()
510+ list (APPEND MKL_SYCL_LOPT "-fsycl-device-code-split=per_kernel" )
511+ endif ()
513512 endif ()
514513endif ()
515514if (ENABLE_OMP_OFFLOAD)
516515 if (MKL_LINK STREQUAL "static" )
517- list (APPEND MKL_OFFLOAD_LOPT "-fsycl-device-code-split=per_kernel" )
516+ if (WIN32 )
517+ list (APPEND MKL_OFFLOAD_LOPT "-fsycl-device-code-split:per_kernel" )
518+ else ()
519+ list (APPEND MKL_OFFLOAD_LOPT "-fsycl-device-code-split=per_kernel" )
520+ endif ()
518521 endif ()
519522endif ()
520523
@@ -998,7 +1001,6 @@ if(SYCL_COMPILER)
9981001 if (NOT TARGET MKL::MKL_SYCL)
9991002 add_library (MKL::MKL_SYCL INTERFACE IMPORTED GLOBAL )
10001003 add_library (MKL::MKL_DPCPP ALIAS MKL::MKL_SYCL )
1001- add_dependencies (MKL::MKL_SYCL MKL_SYCL_MESSAGE )
10021004 endif ()
10031005 target_compile_options (MKL::MKL_SYCL INTERFACE $<$<COMPILE_LANGUAGE :CXX >:${MKL_SYCL_COPT} >)
10041006 target_link_libraries (MKL::MKL_SYCL INTERFACE ${MKL_SYCL_LINK_LINE} ${MKL_SYCL_THREAD_LIB} ${MKL_SYCL_SUPP_LINK} )
@@ -1011,7 +1013,6 @@ if(SYCL_COMPILER)
10111013 endif ()
10121014 string (TOUPPER ${MKL_SYCL_DOMAIN} MKL_SYCL_DOMAIN)
10131015 add_library (MKL::MKL_SYCL::${MKL_SYCL_DOMAIN} INTERFACE IMPORTED GLOBAL )
1014- add_dependencies (MKL::MKL_SYCL::${MKL_SYCL_DOMAIN} MKL_SYCL_MESSAGE )
10151016 target_compile_options (MKL::MKL_SYCL::${MKL_SYCL_DOMAIN} INTERFACE $<$<COMPILE_LANGUAGE :CXX >:${MKL_SYCL_COPT} >)
10161017 # Only dynamic link has domain specific libraries
10171018 # Domain specific targets still use mkl_sycl for static
0 commit comments