mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-07 12:21:27 +01:00
Reland of PR #94924. The purpose of this PR is to deal with the complicated interactions between MKL and OpenMP. There are two improvements: 1. It uses a flag to avoid infinite mutual recursion in calling find_package(MKL) and find_package(OpenMP) in some cases. 2. The logic of finding iomp5 is improved and now we can test MKLDNN under ASAN. Pull Request resolved: https://github.com/pytorch/pytorch/pull/104224 Approved by: https://github.com/malfet
23 lines
826 B
CMake
23 lines
826 B
CMake
find_package(MKL QUIET)
|
|
|
|
if(NOT TARGET caffe2::mkl)
|
|
add_library(caffe2::mkl INTERFACE IMPORTED)
|
|
endif()
|
|
|
|
target_include_directories(caffe2::mkl INTERFACE ${MKL_INCLUDE_DIR})
|
|
target_link_libraries(caffe2::mkl INTERFACE ${MKL_LIBRARIES})
|
|
foreach(MKL_LIB IN LISTS MKL_LIBRARIES)
|
|
if(EXISTS "${MKL_LIB}")
|
|
get_filename_component(MKL_LINK_DIR "${MKL_LIB}" DIRECTORY)
|
|
if(IS_DIRECTORY "${MKL_LINK_DIR}")
|
|
target_link_directories(caffe2::mkl INTERFACE "${MKL_LINK_DIR}")
|
|
endif()
|
|
endif()
|
|
endforeach()
|
|
|
|
# TODO: This is a hack, it will not pick up architecture dependent
|
|
# MKL libraries correctly; see https://github.com/pytorch/pytorch/issues/73008
|
|
set_property(
|
|
TARGET caffe2::mkl PROPERTY INTERFACE_LINK_DIRECTORIES
|
|
${MKL_ROOT}/lib ${MKL_ROOT}/lib/intel64 ${MKL_ROOT}/lib/intel64_win ${MKL_ROOT}/lib/win-x64)
|