Skip to content

Commit dd4b29c

Browse files
authored
cherry-pick the inference update for win test=develop (#18246)
* cherry-pick the inference update for win test=develop * test=develop
1 parent d021900 commit dd4b29c

File tree

2 files changed

+71
-35
lines changed

2 files changed

+71
-35
lines changed

cmake/inference_lib.cmake

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,21 @@ endif ()
117117

118118
if (WITH_MKLML)
119119
set(dst_dir "${FLUID_INSTALL_DIR}/third_party/install/mklml")
120-
copy(mklml_lib
121-
SRCS ${MKLML_LIB} ${MKLML_IOMP_LIB} ${MKLML_INC_DIR}
122-
DSTS ${dst_dir}/lib ${dst_dir}/lib ${dst_dir}
123-
DEPS mklml
124-
)
120+
if(WIN32)
121+
copy(mklml_lib
122+
SRCS ${MKLML_LIB} ${MKLML_IOMP_LIB} ${MKLML_SHARED_LIB}
123+
${MKLML_SHARED_LIB_DEPS} ${MKLML_SHARED_IOMP_LIB} ${MKLML_INC_DIR}
124+
DSTS ${dst_dir}/lib ${dst_dir}/lib ${dst_dir}/lib
125+
${dst_dir}/lib ${dst_dir}/lib ${dst_dir}
126+
DEPS mklml
127+
)
128+
else()
129+
copy(mklml_lib
130+
SRCS ${MKLML_LIB} ${MKLML_IOMP_LIB} ${MKLML_INC_DIR}
131+
DSTS ${dst_dir}/lib ${dst_dir}/lib ${dst_dir}
132+
DEPS mklml
133+
)
134+
endif()
125135
elseif (NOT CBLAS_FOUND OR WIN32)
126136
set(dst_dir "${FLUID_INSTALL_DIR}/third_party/install/openblas")
127137
copy(openblas_lib
@@ -133,11 +143,19 @@ endif ()
133143

134144
if (WITH_MKLDNN)
135145
set(dst_dir "${FLUID_INSTALL_DIR}/third_party/install/mkldnn")
136-
copy(mkldnn_lib
137-
SRCS ${MKLDNN_INC_DIR} ${MKLDNN_SHARED_LIB}
138-
DSTS ${dst_dir} ${dst_dir}/lib
139-
DEPS mkldnn_shared_lib
140-
)
146+
if(WIN32)
147+
copy(mkldnn_lib
148+
SRCS ${MKLDNN_INC_DIR} ${MKLDNN_SHARED_LIB} ${MKLDNN_LIB}
149+
DSTS ${dst_dir} ${dst_dir}/lib ${dst_dir}/lib
150+
DEPS mkldnn_shared_lib
151+
)
152+
else()
153+
copy(mkldnn_lib
154+
SRCS ${MKLDNN_INC_DIR} ${MKLDNN_SHARED_LIB}
155+
DSTS ${dst_dir} ${dst_dir}/lib
156+
DEPS mkldnn_shared_lib
157+
)
158+
endif()
141159
endif ()
142160

143161
if (WITH_NGRAPH)

paddle/fluid/inference/api/demo_ci/CMakeLists.txt

Lines changed: 43 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -23,24 +23,24 @@ if(NOT DEFINED DEMO_NAME)
2323
endif()
2424

2525
include_directories("${PADDLE_LIB}/")
26-
include_directories("${PADDLE_LIB}/fluid_inference_install_dir/")
27-
include_directories("${PADDLE_LIB}/third_party/install/protobuf/include")
28-
include_directories("${PADDLE_LIB}/third_party/install/glog/include")
29-
include_directories("${PADDLE_LIB}/third_party/install/gflags/include")
30-
include_directories("${PADDLE_LIB}/third_party/install/xxhash/include")
31-
include_directories("${PADDLE_LIB}/third_party/install/snappy/include")
32-
include_directories("${PADDLE_LIB}/third_party/install/snappystream/include")
33-
include_directories("${PADDLE_LIB}/third_party/install/zlib/include")
26+
set(PADDLE_LIB_THIRD_PARTY_PATH "${PADDLE_LIB}/third_party/install/")
27+
include_directories("${PADDLE_LIB_THIRD_PARTY_PATH}protobuf/include")
28+
include_directories("${PADDLE_LIB_THIRD_PARTY_PATH}glog/include")
29+
include_directories("${PADDLE_LIB_THIRD_PARTY_PATH}gflags/include")
30+
include_directories("${PADDLE_LIB_THIRD_PARTY_PATH}xxhash/include")
31+
include_directories("${PADDLE_LIB_THIRD_PARTY_PATH}snappy/include")
32+
include_directories("${PADDLE_LIB_THIRD_PARTY_PATH}snappystream/include")
33+
include_directories("${PADDLE_LIB_THIRD_PARTY_PATH}zlib/include")
3434
include_directories("${PADDLE_LIB}/third_party/boost")
3535
include_directories("${PADDLE_LIB}/third_party/eigen3")
3636

37-
link_directories("${PADDLE_LIB}/third_party/install/snappy/lib")
38-
link_directories("${PADDLE_LIB}/third_party/install/snappystream/lib")
39-
link_directories("${PADDLE_LIB}/third_party/install/zlib/lib")
40-
link_directories("${PADDLE_LIB}/third_party/install/protobuf/lib")
41-
link_directories("${PADDLE_LIB}/third_party/install/glog/lib")
42-
link_directories("${PADDLE_LIB}/third_party/install/gflags/lib")
43-
link_directories("${PADDLE_LIB}/third_party/install/xxhash/lib")
37+
link_directories("${PADDLE_LIB_THIRD_PARTY_PATH}snappy/lib")
38+
link_directories("${PADDLE_LIB_THIRD_PARTY_PATH}snappystream/lib")
39+
link_directories("${PADDLE_LIB_THIRD_PARTY_PATH}zlib/lib")
40+
link_directories("${PADDLE_LIB_THIRD_PARTY_PATH}protobuf/lib")
41+
link_directories("${PADDLE_LIB_THIRD_PARTY_PATH}glog/lib")
42+
link_directories("${PADDLE_LIB_THIRD_PARTY_PATH}gflags/lib")
43+
link_directories("${PADDLE_LIB_THIRD_PARTY_PATH}xxhash/lib")
4444
link_directories("${PADDLE_LIB}/paddle/lib")
4545

4646
if (WIN32)
@@ -76,7 +76,7 @@ if (NOT WIN32)
7676
endif(NOT WIN32)
7777

7878
if (NOT WIN32)
79-
set(NGRAPH_PATH "${PADDLE_LIB}/third_party/install/ngraph")
79+
set(NGRAPH_PATH "${PADDLE_LIB_THIRD_PARTY_PATH}ngraph")
8080
if(EXISTS ${NGRAPH_PATH})
8181
include(GNUInstallDirs)
8282
include_directories("${NGRAPH_PATH}/include")
@@ -86,15 +86,18 @@ if (NOT WIN32)
8686
endif()
8787

8888
if(WITH_MKL)
89-
include_directories("${PADDLE_LIB}/third_party/install/mklml/include")
90-
if(NOT WIN32)
91-
set(MATH_LIB ${PADDLE_LIB}/third_party/install/mklml/lib/libmklml_intel${CMAKE_SHARED_LIBRARY_SUFFIX}
92-
${PADDLE_LIB}/third_party/install/mklml/lib/libiomp5${CMAKE_SHARED_LIBRARY_SUFFIX})
89+
set(MATH_LIB_PATH "${PADDLE_LIB_THIRD_PARTY_PATH}mklml")
90+
include_directories("${MATH_LIB_PATH}/include")
91+
if(WIN32)
92+
set(MATH_DLL ${MATH_LIB_PATH}/lib/mklml${CMAKE_SHARED_LIBRARY_SUFFIX}
93+
${MATH_LIB_PATH}/lib/libiomp5md${CMAKE_SHARED_LIBRARY_SUFFIX}
94+
${MATH_LIB_PATH}/lib/msvcr120${CMAKE_SHARED_LIBRARY_SUFFIX}
95+
)
9396
else()
94-
set(MATH_LIB ${PADDLE_LIB}/third_party/install/mklml/lib/libmklml${CMAKE_SHARED_LIBRARY_SUFFIX}
95-
${PADDLE_LIB}/third_party/install/mklml/lib/libiomp5md${CMAKE_SHARED_LIBRARY_SUFFIX})
97+
set(MATH_LIB ${MATH_LIB_PATH}/lib/libmklml_intel${CMAKE_SHARED_LIBRARY_SUFFIX}
98+
${MATH_LIB_PATH}/lib/libiomp5${CMAKE_SHARED_LIBRARY_SUFFIX})
9699
endif()
97-
set(MKLDNN_PATH "${PADDLE_LIB}/third_party/install/mkldnn")
100+
set(MKLDNN_PATH "${PADDLE_LIB_THIRD_PARTY_PATH}mkldnn")
98101
if(EXISTS ${MKLDNN_PATH})
99102
include_directories("${MKLDNN_PATH}/include")
100103
if(WIN32)
@@ -104,7 +107,10 @@ if(WITH_MKL)
104107
endif(WIN32)
105108
endif()
106109
else()
107-
set(MATH_LIB ${PADDLE_LIB}/third_party/install/openblas/lib/libopenblas${CMAKE_STATIC_LIBRARY_SUFFIX})
110+
set(MATH_LIB ${PADDLE_LIB_THIRD_PARTY_PATH}openblas/lib/libopenblas${CMAKE_STATIC_LIBRARY_SUFFIX})
111+
if(WIN32)
112+
set(MATH_DLL ${PADDLE_LIB_THIRD_PARTY_PATH}openblas/lib/openblas${CMAKE_SHARED_LIBRARY_SUFFIX})
113+
endif()
108114
endif()
109115

110116
# Note: libpaddle_inference_api.so/a must put before libpaddle_fluid.so/a
@@ -123,7 +129,7 @@ if (NOT WIN32)
123129
else()
124130
set(DEPS ${DEPS}
125131
${MATH_LIB} ${MKLDNN_LIB}
126-
glog gflags_static protobuf snappy zlibstatic xxhash snappystream ${EXTERNAL_LIB})
132+
glog gflags_static libprotobuf snappy zlibstatic xxhash snappystream ${EXTERNAL_LIB})
127133
set(DEPS ${DEPS} libcmt shlwapi.lib)
128134
endif(NOT WIN32)
129135

@@ -143,3 +149,15 @@ endif()
143149

144150
add_executable(${DEMO_NAME} ${DEMO_NAME}.cc)
145151
target_link_libraries(${DEMO_NAME} ${DEPS})
152+
if(WIN32)
153+
if(WITH_MKL)
154+
add_custom_command(TARGET ${DEMO_NAME} POST_BUILD
155+
COMMAND ${CMAKE_COMMAND} -E copy ${MKLDNN_PATH}/lib/mkldnn.dll ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}
156+
COMMAND ${CMAKE_COMMAND} -E copy ${MATH_DLL} ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}
157+
)
158+
else()
159+
add_custom_command(TARGET ${DEMO_NAME} POST_BUILD
160+
COMMAND ${CMAKE_COMMAND} -E copy ${MATH_DLL} ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}
161+
)
162+
endif()
163+
endif()

0 commit comments

Comments
 (0)