@@ -187,14 +187,10 @@ if(WIN32 AND ONEMKL_SYCL_IMPLEMENTATION STREQUAL "dpc++")
187187 endforeach ()
188188 set (CMAKE_CXX_COMPILE_OBJECT "<CMAKE_CXX_COMPILER> -fsycl /nologo <DEFINES> <INCLUDES> /EHsc <FLAGS> /Fo<OBJECT> -c <SOURCE>" )
189189 set (CMAKE_CXX_CREATE_STATIC_LIBRARY "lib /nologo <OBJECTS> /out:<TARGET>" )
190- set (CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_CXX_COMPILER> -fsycl -fsycl-device-code-split=per_kernel /nologo <OBJECTS> -o <TARGET> <LINK_LIBRARIES>" )
191- set (MKL_SYCL_LIB "" )
192- if (ENABLE_MKLGPU_BACKEND OR ENABLE_MKLCPU_BACKEND)
193- find_library (MKL_SYCL_LIB NAMES mkl_sycl
194- HINTS $ENV{MKLROOT} ${MKL_ROOT}
195- PATH_SUFFIXES lib/intel64)
190+ if (CMAKE_VERSION VERSION_LESS "3.25.2" )
191+ set (CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_CXX_COMPILER> -fsycl -fsycl-device-code-split=per_kernel /nologo <OBJECTS> -o <TARGET> <LINK_LIBRARIES>" )
192+ set (CMAKE_CXX_CREATE_SHARED_LIBRARY "<CMAKE_CXX_COMPILER> -fsycl -fsycl-device-code-split=per_kernel /nologo <OBJECTS> <LINK_LIBRARIES> /link /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /dll /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>" )
196193 endif ()
197- set (CMAKE_CXX_CREATE_SHARED_LIBRARY "<CMAKE_CXX_COMPILER> -fsycl -fsycl-device-code-split=per_kernel /nologo <OBJECTS> ${MKL_SYCL_LIB} /link /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /dll /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <LINK_FLAGS> <LINK_LIBRARIES>" )
198194endif ()
199195
200196# Temporary disable sycl 2020 deprecations warnings for cuSOLVER and rocSOLVER
@@ -223,6 +219,28 @@ else()
223219endif ()
224220message (STATUS "TARGET_DOMAINS: ${TARGET_DOMAINS} " )
225221
222+ # Include Intel oneMKL
223+ if (ENABLE_MKLGPU_BACKEND OR ENABLE_MKLCPU_BACKEND)
224+ set (MKL_ARCH intel64)
225+ set (MKL_INTERFACE ilp64)
226+ if (ENABLE_MKLCPU_THREAD_TBB)
227+ set (MKL_THREADING tbb_thread)
228+ else ()
229+ set (MKL_THREADING sequential)
230+ endif ()
231+ if (BUILD_SHARED_LIBS AND NOT WIN32 )
232+ set (MKL_LINK dynamic)
233+ else ()
234+ set (MKL_LINK static )
235+ endif ()
236+ # In case Intel oneMKL package doesn't include MKLConfig,
237+ # use MKLConfig from the repo
238+ find_package (MKL REQUIRED
239+ HINTS ${MKL_ROOT} /lib/cmake
240+ ${MKL_ROOT} /lib/cmake/mkl
241+ ${PROJECT_SOURCE_DIR} /cmake/mkl)
242+ endif ()
243+
226244# Set output directories for the project
227245set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /bin)
228246set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /lib)
0 commit comments