- if(MGE_USE_SYSTEM_LIB)
- find_package(dnnl)
- if(dnnl_FOUND)
- message(STATUS "Using system provided MKL-DNN.")
- set(MGE_USE_SYSTEM_MKLDNN ON)
- return()
- endif()
- endif()
- option(DNNL_BUILD_TESTS "" OFF)
- option(DNNL_BUILD_EXAMPLES "" OFF)
- # we do not want to use OMP now, so config to CPU mode if set to OMP, some dnnl algo
- # will be more fast
- set(DNNL_CPU_RUNTIME
- "SEQ"
- CACHE STRING "config dnnl to DNNL_RUNTIME_SEQ")
- if(MGE_BLAS STREQUAL "MKL")
- option(_DNNL_USE_MKL "" ON)
- set(MKLROOT
- ${MKL_ROOT_DIR}
- CACHE STRING "MKL ROOT FOR DNNL")
- set(MKLLIB libmkl)
- else()
- option(_DNNL_USE_MKL "" OFF)
- endif()
-
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-parameter -Wno-extra")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-parameter -Wno-extra")
- set(DNNL_LIBRARY_TYPE
- STATIC
- CACHE STRING "config dnnl to STATIC")
- add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/intel-mkl-dnn)
|