@@ -17,29 +17,7 @@ cmake_minimum_required(VERSION 3.10)
17
17
project (paddle-custom-gcu CXX C)
18
18
set (CUSTOM_GCU_NAME "paddle-custom-gcu" )
19
19
20
- set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR} /cmake" )
21
- message (STATUS "CMAKE_DEBUG CMAKE_MODULE_PATH is: ${CMAKE_MODULE_PATH} " )
22
- option (VERSION_WITH_GIT "Use git hash to PACKAGE_VERSION" FALSE )
23
-
24
- set (TOPS_RELEASE_VERSION 3.1.0)
25
- if ((NOT DEFINED PACKAGE_VERSION )
26
- OR ("${PACKAGE_VERSION} " STREQUAL "" )
27
- OR ("${PACKAGE_VERSION} " STREQUAL "123.456" ))
28
- if (VERSION_WITH_GIT)
29
- # get Paddle-custom git hash
30
- execute_process (
31
- COMMAND git log -1 --abbrev=7 --format=%h
32
- WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
33
- OUTPUT_VARIABLE _tag
34
- OUTPUT_STRIP_TRAILING_WHITESPACE)
35
- message (STATUS "git hash: ${_tag} " )
36
- else ()
37
- string (TIMESTAMP _tag "%Y%m%d" )
38
- endif ()
39
- set (PACKAGE_VERSION ${TOPS_RELEASE_VERSION} .${_tag} )
40
- endif ()
41
-
42
- message (STATUS "package version: ${PACKAGE_VERSION} " )
20
+ set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR} /cmake" )
43
21
44
22
if (DEFINED PY_VERSION)
45
23
message (STATUS "User define PY_VERSION: ${PY_VERSION} " )
@@ -51,22 +29,15 @@ set(PYTHON_VERSION ${PY_VERSION})
51
29
set (Python_EXECUTABLE "python${PY_VERSION} " )
52
30
message (STATUS "Python_EXECUTABLE: ${Python_EXECUTABLE} " )
53
31
54
- if (NOT DEFINED ENV{PADDLE_VERSION})
55
- set (ENV{PADDLE_VERSION} 3.0.0-beta1)
56
- endif ()
57
-
58
32
include (paddle)
59
33
include (version )
60
34
include (generic)
61
35
include (external/gcu)
62
36
include (external/topscc)
63
37
64
- include_directories (${CMAKE_CURRENT_SOURCE_DIR } )
38
+ include_directories (${CMAKE_SOURCE_DIR } )
65
39
include_directories (/opt/tops/include )
66
40
67
- set (OUTPUT_PADDLE_PACKAGE_VERSION ${PADDLE_VERSION} +${PACKAGE_VERSION} )
68
- string (REPLACE "-beta" "b" OUTPUT_PADDLE_PACKAGE_VERSION
69
- "${OUTPUT_PADDLE_PACKAGE_VERSION} " )
70
41
option (WITH_KERNELS "compile with custom kernels" ON )
71
42
option (WITH_TESTING "compile with unit testing" OFF )
72
43
option (WITH_MKL "compile with mkl support" ON )
@@ -205,13 +176,10 @@ message(STATUS "Git commit id is: ${GIT_HASH}")
205
176
configure_file (${CMAKE_CURRENT_SOURCE_DIR} /setup.py.in
206
177
${CMAKE_CURRENT_BINARY_DIR} /setup.py)
207
178
208
- message (STATUS "CMAKE_DEBUG Git commit id is: ${GIT_HASH} " )
209
- message (STATUS "CMAKE_DEBUG CUSTOM_GCU_SRCS is: ${CUSTOM_GCU_SRCS} " )
210
- message (STATUS "CMAKE_DEBUG GCU_LIBS is: ${GCU_LIBS} " )
211
-
179
+ # packing wheel package
212
180
add_custom_command (
213
- OUTPUT
214
- ${CMAKE_CURRENT_BINARY_DIR} /python/paddle_custom_device/lib ${CUSTOM_GCU_NAME} .so
181
+ TARGET ${CUSTOM_GCU_NAME}
182
+ POST_BUILD
215
183
COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_CURRENT_BINARY_DIR} /python/
216
184
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR} /python/
217
185
COMMAND ${CMAKE_COMMAND} -E make_directory
@@ -220,16 +188,13 @@ add_custom_command(
220
188
${CMAKE_COMMAND} -E copy_if_different
221
189
${CMAKE_CURRENT_BINARY_DIR} /lib${CUSTOM_GCU_NAME} .so
222
190
${CMAKE_CURRENT_BINARY_DIR} /python/paddle_custom_device/
223
- COMMENT "Creating custom device directories------>>>"
224
- DEPENDS ${CUSTOM_GCU_NAME} )
225
- add_custom_target (
226
- CUSTOM_GCU_NAME_shared_lib_copy ALL
227
- DEPENDS
228
- ${CMAKE_CURRENT_BINARY_DIR} /python/paddle_custom_device/lib${CUSTOM_GCU_NAME} .so
229
- )
191
+ COMMENT "Creating custom device directories------>>>" )
230
192
231
193
set (topscc_kernel_lib_targets "" )
232
194
unset (topscc_kernel_lib_targets)
195
+ set (_passes_target_dir
196
+ "${CMAKE_CURRENT_BINARY_DIR} /python/paddle_custom_device/gcu" )
197
+ file (MAKE_DIRECTORY ${_passes_target_dir} )
233
198
foreach (topscc_kernel_lib ${TOPSCC_LIBS} )
234
199
get_filename_component (topscc_kernel_lib_name ${topscc_kernel_lib} NAME_WLE)
235
200
get_filename_component (topscc_kernel_lib_target_name ${topscc_kernel_lib}
@@ -250,29 +215,17 @@ foreach(topscc_kernel_lib ${TOPSCC_LIBS})
250
215
endforeach ()
251
216
add_custom_target (topscc_targets ALL DEPENDS ${topscc_kernel_lib_targets} )
252
217
253
- set (whl_file
254
- "${CMAKE_CURRENT_BINARY_DIR} /dist/paddle_custom_gcu-${OUTPUT_PADDLE_PACKAGE_VERSION} -cp${PY_VERSION_NO_DOT} -cp${PY_VERSION_NO_DOT} -linux_x86_64.whl"
255
- )
256
- set (_passes_target_dir
257
- "${CMAKE_CURRENT_BINARY_DIR} /python/paddle_custom_device/gcu/passes" )
258
- file (MAKE_DIRECTORY ${_passes_target_dir} )
259
- file (GLOB passes_srcs "${CMAKE_CURRENT_SOURCE_DIR} /passes/*" )
260
- foreach (passes_src IN LISTS passes_srcs)
261
- get_filename_component (passes_file_name ${passes_src} NAME )
262
- add_custom_command (
263
- OUTPUT ${_passes_target_dir} /${passes_file_name}
264
- COMMAND ${CMAKE_COMMAND} -E copy_if_different ${passes_src}
265
- ${_passes_target_dir}
266
- DEPENDS ${passes_src} )
267
- list (APPEND passes_bin_files_list "${_passes_target_dir} /${passes_file_name} " )
268
- endforeach ()
269
218
add_custom_command (
270
- OUTPUT ${whl_file}
219
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /python/.timestamp
220
+ COMMAND ${CMAKE_COMMAND} -E remove -f
221
+ ${CMAKE_CURRENT_BINARY_DIR} /python/paddle_custom_device/gcu/passes
222
+ COMMAND ${CMAKE_COMMAND} -E make_directory
223
+ ${CMAKE_CURRENT_BINARY_DIR} /python/paddle_custom_device/gcu/passes
224
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_SOURCE_DIR} /passes/*
225
+ ${CMAKE_CURRENT_BINARY_DIR} /python/paddle_custom_device/gcu/passes
271
226
COMMAND ${Python_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR} /setup.py bdist_wheel
272
- # COMMAND rename 's/_${TOPS_RELEASE_VERSION}/-${TOPS_RELEASE_VERSION}/g'
273
- # ${CMAKE_CURRENT_BINARY_DIR}/dist/*.whl
274
- DEPENDS ${CUSTOM_GCU_NAME} CUSTOM_GCU_NAME_shared_lib_copy topscc_targets
275
- ${CMAKE_CURRENT_BINARY_DIR} /setup.py ${passes_bin_files_list}
227
+ DEPENDS ${CUSTOM_GCU_NAME}
276
228
COMMENT "Packing whl packages------>>>" )
277
229
278
- add_custom_target (python_package ALL DEPENDS ${whl_file} )
230
+ add_custom_target (python_package ALL
231
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR} /python/.timestamp)
0 commit comments