Commit 3cf51dc5 authored by Jaikrishnan Menon's avatar Jaikrishnan Menon

CMake: Skip MKL-DNN on OSX/Darwin

Currently MKL-DNN isn't supported on this platform
parent 305a9a8a
......@@ -17,33 +17,35 @@ include(ExternalProject)
# Fetch and install MKL-DNN
#----------------------------------------------------------------------------------------------------------
SET(MKLDNN_GIT_REPO_URL https://github.com/01org/mkl-dnn)
set(EXTERNAL_INSTALL_LOCATION ${CMAKE_BINARY_DIR}/external)
# The 'BUILD_BYPRODUCTS' argument was introduced in CMake 3.2.
if (${CMAKE_VERSION} VERSION_LESS 3.2)
ExternalProject_Add(
ext_mkldnn
GIT_REPOSITORY ${MKLDNN_GIT_REPO_URL}
UPDATE_COMMAND ""
PATCH_COMMAND git am ${CMAKE_SOURCE_DIR}/third-party/patches/mkldnn-cmake-openmp.patch
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_INSTALL_LOCATION}
)
else()
ExternalProject_Add(
ext_mkldnn
GIT_REPOSITORY ${MKLDNN_GIT_REPO_URL}
UPDATE_COMMAND ""
PATCH_COMMAND git am ${CMAKE_SOURCE_DIR}/third-party/patches/mkldnn-cmake-openmp.patch
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_INSTALL_LOCATION}
BUILD_BYPRODUCTS "${EXTERNAL_INSTALL_LOCATION}/include/mkldnn.hpp"
)
endif()
ExternalProject_Get_Property(ext_mkldnn source_dir binary_dir)
ExternalProject_Add_Step(
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET(MKLDNN_GIT_REPO_URL https://github.com/01org/mkl-dnn)
set(EXTERNAL_INSTALL_LOCATION ${CMAKE_BINARY_DIR}/external)
# The 'BUILD_BYPRODUCTS' argument was introduced in CMake 3.2.
if(${CMAKE_VERSION} VERSION_LESS 3.2)
ExternalProject_Add(
ext_mkldnn
GIT_REPOSITORY ${MKLDNN_GIT_REPO_URL}
UPDATE_COMMAND ""
PATCH_COMMAND git am ${CMAKE_SOURCE_DIR}/third-party/patches/mkldnn-cmake-openmp.patch
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_INSTALL_LOCATION}
)
else()
ExternalProject_Add(
ext_mkldnn
GIT_REPOSITORY ${MKLDNN_GIT_REPO_URL}
UPDATE_COMMAND ""
PATCH_COMMAND git am ${CMAKE_SOURCE_DIR}/third-party/patches/mkldnn-cmake-openmp.patch
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_INSTALL_LOCATION}
BUILD_BYPRODUCTS "${EXTERNAL_INSTALL_LOCATION}/include/mkldnn.hpp"
)
endif()
ExternalProject_Get_Property(ext_mkldnn source_dir binary_dir)
ExternalProject_Add_Step(
ext_mkldnn
PrepareMKL
COMMAND ${source_dir}/scripts/prepare_mkl.sh
......@@ -51,7 +53,8 @@ ExternalProject_Add_Step(
DEPENDERS configure
)
#----------------------------------------------------------------------------------------------------------
set(MKLDNN_INCLUDE_DIR "${EXTERNAL_INSTALL_LOCATION}/include" PARENT_SCOPE)
set(MKLDNN_LIB_DIR "${EXTERNAL_INSTALL_LOCATION}/lib" PARENT_SCOPE)
set(MKLDNN_INCLUDE_DIR "${EXTERNAL_INSTALL_LOCATION}/include" PARENT_SCOPE)
set(MKLDNN_LIB_DIR "${EXTERNAL_INSTALL_LOCATION}/lib" PARENT_SCOPE)
endif()
\ No newline at end of file
......@@ -15,23 +15,17 @@ include_directories(
SYSTEM
${GTEST_INCLUDE_DIR}
${EIGEN_INCLUDE_DIR}
${MKLDNN_INCLUDE_DIR}
)
include_directories(
${NGRAPH_INCLUDE_DIR}
)
link_directories(
${MKLDNN_LIB_DIR}
)
set (SRC
main.cpp
build_graph.cpp
eigen.cpp
element_type.cpp
mkldnn.cpp
op.cpp
input_output_assign.cpp
tensor.cpp
......@@ -41,15 +35,26 @@ set (SRC
uuid.cpp
)
if(MKLDNN_INCLUDE_DIR)
include_directories(${MKLDNN_INCLUDE_DIR})
link_directories(${MKLDNN_LIB_DIR})
set(SRC ${SRC} mkldnn.cpp)
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DCURDIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}\\\"")
add_executable(unit-test ${SRC})
target_link_libraries(unit-test ngraph libgtest mkldnn pthread)
if(MKLDNN_INCLUDE_DIR)
target_link_libraries(unit-test mkldnn)
add_dependencies(unit-test ext_mkldnn)
endif()
target_link_libraries(unit-test ngraph libgtest pthread)
target_link_libraries(unit-test ${CMAKE_DL_LIBS})
add_dependencies(unit-test ngraph libgtest eigen ext_mkldnn)
add_dependencies(unit-test ngraph libgtest eigen)
add_custom_target(check
COMMAND ${PROJECT_BINARY_DIR}/test/unit-test
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment