Skip to content

Commit be61c2d

Browse files
authored
support build whl and inference library nightly,test=windows3 (#30616)
1 parent 5d6a8c7 commit be61c2d

File tree

2 files changed

+76
-20
lines changed

2 files changed

+76
-20
lines changed

paddle/fluid/inference/tests/test.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ function(inference_download_and_uncompress INSTALL_DIR URL FILENAME)
2727
message(STATUS "Download inference test stuff from ${URL}/${FILENAME}")
2828
string(REGEX REPLACE "[-%./\\]" "_" FILENAME_EX ${FILENAME})
2929
string(REGEX MATCH "[^/\\]+$" DOWNLOAD_NAME ${FILENAME})
30-
set(EXTERNAL_PROJECT_NAME "extern_inference_download_${FILENAME_EX}")
30+
set(EXTERNAL_PROJECT_NAME "extern_download_${FILENAME_EX}")
3131
set(UNPACK_DIR "${INSTALL_DIR}/src/${EXTERNAL_PROJECT_NAME}")
3232
ExternalProject_Add(
3333
${EXTERNAL_PROJECT_NAME}

paddle/scripts/paddle_build.bat

Lines changed: 75 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -33,21 +33,28 @@ rem ------initialize common variable------
3333
if not defined GENERATOR set GENERATOR="Visual Studio 14 2015 Win64"
3434
if not defined BRANCH set BRANCH=develop
3535
if not defined WITH_TENSORRT set WITH_TENSORRT=ON
36-
if not defined TENSORRT_ROOT set TENSORRT_ROOT="D:/TensorRT"
36+
if not defined TENSORRT_ROOT set TENSORRT_ROOT=D:/TensorRT
37+
if not defined CUDA_ARCH_NAME set CUDA_ARCH_NAME=Auto
38+
if not defined WITH_GPU set WITH_GPU=ON
3739
if not defined WITH_MKL set WITH_MKL=ON
3840
if not defined WITH_AVX set WITH_AVX=ON
3941
if not defined WITH_TESTING set WITH_TESTING=ON
42+
if not defined MSVC_STATIC_CRT set MSVC_STATIC_CRT=OFF
4043
if not defined WITH_PYTHON set WITH_PYTHON=ON
4144
if not defined ON_INFER set ON_INFER=ON
4245
if not defined WITH_INFERENCE_API_TEST set WITH_INFERENCE_API_TEST=ON
4346
if not defined WITH_STATIC_LIB set WITH_STATIC_LIB=ON
44-
if not defined WITH_CACHE set WITH_CACHE=OFF
4547
if not defined WITH_TPCACHE set WITH_TPCACHE=ON
48+
if not defined WITH_CLCACHE set WITH_CLCACHE=OFF
49+
if not defined WITH_CACHE set WITH_CACHE=OFF
4650
if not defined WITH_UNITY_BUILD set WITH_UNITY_BUILD=OFF
4751
if not defined INFERENCE_DEMO_INSTALL_DIR set INFERENCE_DEMO_INSTALL_DIR=%cache_dir:\=/%/inference_demo
52+
if not defined LOG_LEVEL set LOG_LEVEL=normal
4853

49-
rem -------set cache build work directory-----------
54+
rem -------set cache build directory-----------
5055
rmdir build\python /s/q
56+
rmdir build\paddle_install_dir /s/q
57+
rmdir build\paddle_inference_install_dir /s/q
5158
del build\CMakeCache.txt
5259

5360
: set CI_SKIP_CPP_TEST if only *.py changed
@@ -149,12 +156,11 @@ echo "wincheck_mkl: run Windows MKL/GPU/UnitTest CI tasks on Windows"
149156
echo "wincheck_openbals: run Windows OPENBLAS/CPU CI tasks on Windows"
150157
exit /b 1
151158

159+
rem ------PR CI windows check for MKL/GPU----------
152160
:CASE_wincheck_mkl
153-
154-
rem ------initialize cmake variable for mkl------
155161
set WITH_MKL=ON
156-
set WITH_GPU=OFF
157-
set MSVC_STATIC_CRT=ON
162+
set WITH_GPU=ON
163+
set MSVC_STATIC_CRT=OFF
158164

159165
call :cmake || goto cmake_error
160166
call :build || goto build_error
@@ -164,12 +170,11 @@ call :test_inference || goto test_inference_error
164170
:: call :check_change_of_unittest || goto check_change_of_unittest_error
165171
goto:success
166172

173+
rem ------PR CI windows check for OPENBLAS/CPU------
167174
:CASE_wincheck_openblas
168-
169-
rem ------initialize cmake variable for openblas------
170175
set WITH_MKL=ON
171-
set WITH_GPU=ON
172-
set MSVC_STATIC_CRT=OFF
176+
set WITH_GPU=OFF
177+
set MSVC_STATIC_CRT=ON
173178

174179
call :cmake || goto cmake_error
175180
call :build || goto build_error
@@ -179,6 +184,38 @@ call :test_inference || goto test_inference_error
179184
:: call :check_change_of_unittest || goto check_change_of_unittest_error
180185
goto:success
181186

187+
rem ------Build windows avx whl package------
188+
:CASE_build_avx_whl
189+
set WITH_AVX=ON
190+
set ON_INFER=OFF
191+
set CUDA_ARCH_NAME=All
192+
193+
call :cmake || goto cmake_error
194+
call :build || goto build_error
195+
call :test_whl_pacakage || goto test_whl_pacakage_error
196+
goto:success
197+
198+
rem ------Build windows no-avx whl package------
199+
:CASE_build_no_avx_whl
200+
set WITH_AVX=OFF
201+
set ON_INFER=OFF
202+
set CUDA_ARCH_NAME=All
203+
204+
call :cmake || goto cmake_error
205+
call :build || goto build_error
206+
call :test_whl_pacakage || goto test_whl_pacakage_error
207+
goto:success
208+
209+
rem ------Build windows inference library------
210+
:CASE_build_inference_lib
211+
set WITH_PYTHON=OFF
212+
set CUDA_ARCH_NAME=All
213+
214+
call :cmake || goto cmake_error
215+
call :build || goto build_error
216+
call :zip_file || goto zip_file_error
217+
goto:success
218+
182219
rem "Other configurations are added here"
183220
rem :CASE_wincheck_others
184221
rem call ...
@@ -196,7 +233,7 @@ set start=%start:~4,10%
196233

197234
@ECHO ON
198235
if not defined CUDA_TOOLKIT_ROOT_DIR set CUDA_TOOLKIT_ROOT_DIR=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
199-
set PATH=%CUDA_TOOLKIT_ROOT_DIR%\bin;%CUDA_TOOLKIT_ROOT_DIR%\libnvvp;%PATH%
236+
set PATH=%TENSORRT_ROOT:/=\%\lib;%CUDA_TOOLKIT_ROOT_DIR%\bin;%CUDA_TOOLKIT_ROOT_DIR%\libnvvp;%PATH%
200237
set CUDA_PATH=%CUDA_TOOLKIT_ROOT_DIR%
201238

202239
rem ------set third_party cache dir------
@@ -239,15 +276,15 @@ echo cmake .. -G %GENERATOR% -DWITH_AVX=%WITH_AVX% -DWITH_GPU=%WITH_GPU% -DWITH_
239276
-DWITH_TESTING=%WITH_TESTING% -DWITH_PYTHON=%WITH_PYTHON% -DPYTHON_EXECUTABLE=%PYTHON_EXECUTABLE% -DON_INFER=%ON_INFER% ^
240277
-DWITH_INFERENCE_API_TEST=%WITH_INFERENCE_API_TEST% -DTHIRD_PARTY_PATH=%THIRD_PARTY_PATH% ^
241278
-DINFERENCE_DEMO_INSTALL_DIR=%INFERENCE_DEMO_INSTALL_DIR% -DWITH_STATIC_LIB=%WITH_STATIC_LIB% ^
242-
-DWITH_TENSORRT=%WITH_TENSORRT% -DTENSORRT_ROOT=%TENSORRT_ROOT% -DMSVC_STATIC_CRT=%MSVC_STATIC_CRT% ^
243-
-DWITH_UNITY_BUILD=%WITH_UNITY_BUILD%
279+
-DWITH_TENSORRT=%WITH_TENSORRT% -DTENSORRT_ROOT="%TENSORRT_ROOT%" -DMSVC_STATIC_CRT=%MSVC_STATIC_CRT% ^
280+
-DWITH_UNITY_BUILD=%WITH_UNITY_BUILD% -DCUDA_ARCH_NAME=%CUDA_ARCH_NAME%
244281

245282
cmake .. -G %GENERATOR% -DWITH_AVX=%WITH_AVX% -DWITH_GPU=%WITH_GPU% -DWITH_MKL=%WITH_MKL% ^
246283
-DWITH_TESTING=%WITH_TESTING% -DWITH_PYTHON=%WITH_PYTHON% -DPYTHON_EXECUTABLE=%PYTHON_EXECUTABLE% -DON_INFER=%ON_INFER% ^
247284
-DWITH_INFERENCE_API_TEST=%WITH_INFERENCE_API_TEST% -DTHIRD_PARTY_PATH=%THIRD_PARTY_PATH% ^
248285
-DINFERENCE_DEMO_INSTALL_DIR=%INFERENCE_DEMO_INSTALL_DIR% -DWITH_STATIC_LIB=%WITH_STATIC_LIB% ^
249-
-DWITH_TENSORRT=%WITH_TENSORRT% -DTENSORRT_ROOT=%TENSORRT_ROOT% -DMSVC_STATIC_CRT=%MSVC_STATIC_CRT% ^
250-
-DWITH_UNITY_BUILD=%WITH_UNITY_BUILD%
286+
-DWITH_TENSORRT=%WITH_TENSORRT% -DTENSORRT_ROOT="%TENSORRT_ROOT%" -DMSVC_STATIC_CRT=%MSVC_STATIC_CRT% ^
287+
-DWITH_UNITY_BUILD=%WITH_UNITY_BUILD% -DCUDA_ARCH_NAME=%CUDA_ARCH_NAME%
251288
goto:eof
252289

253290
:cmake_error
@@ -286,9 +323,9 @@ rem clcache.exe -z
286323

287324
echo Build Paddle the %build_times% time:
288325
if "%WITH_CLCACHE%"=="OFF" (
289-
msbuild /m:%PARALLEL_PROJECT_COUNT% /p:Configuration=Release /verbosity:normal paddle.sln
326+
msbuild /m:%PARALLEL_PROJECT_COUNT% /p:Configuration=Release /verbosity:%LOG_LEVEL% paddle.sln
290327
) else (
291-
msbuild /m:%PARALLEL_PROJECT_COUNT% /p:TrackFileAccess=false /p:CLToolExe=clcache.exe /p:CLToolPath=%PYTHON_ROOT%\Scripts /p:Configuration=Release /verbosity:normal paddle.sln
328+
msbuild /m:%PARALLEL_PROJECT_COUNT% /p:TrackFileAccess=false /p:CLToolExe=clcache.exe /p:CLToolPath=%PYTHON_ROOT%\Scripts /p:Configuration=Release /verbosity:%LOG_LEVEL% paddle.sln
292329
)
293330

294331
if %ERRORLEVEL% NEQ 0 (
@@ -328,19 +365,21 @@ setlocal enabledelayedexpansion
328365
for /F %%# in ('wmic os get localdatetime^|findstr 20') do set end=%%#
329366
set end=%end:~4,10%
330367
call :timestamp "%start%" "%end%" "Build"
368+
331369
tree /F %cd%\paddle_inference_install_dir\paddle
332370
%cache_dir%\tools\busybox64.exe du -h -d 0 -k %cd%\paddle_inference_install_dir\paddle\lib > lib_size.txt
333371
set /p libsize=< lib_size.txt
334-
335372
for /F %%i in ("%libsize%") do (
336373
set /a libsize_m=%%i/1024
337374
echo "Windows Paddle_Inference Size: !libsize_m!M"
338375
echo ipipe_log_param_Windows_Paddle_Inference_Size: !libsize_m!M
339376
)
377+
340378
%cache_dir%\tools\busybox64.exe du -h -d 0 %cd%\python\dist > whl_size.txt
341379
set /p whlsize=< whl_size.txt
342380
for /F %%i in ("%whlsize%") do echo "Windows PR whl Size: %%i"
343381
for /F %%i in ("%whlsize%") do echo ipipe_log_param_Windows_PR_whl_Size: %%i
382+
344383
dir /s /b python\dist\*.whl > whl_file.txt
345384
set /p PADDLE_WHL_FILE_WIN=< whl_file.txt
346385

@@ -551,6 +590,23 @@ goto:eof
551590
:check_change_of_unittest_error
552591
exit /b 1
553592

593+
rem ---------------------------------------------------------------------------------------------
594+
:zip_file
595+
tree /F %cd%\paddle_inference_install_dir\paddle
596+
if exist paddle_inference.zip del paddle_inference.zip
597+
python -c "import shutil;shutil.make_archive('paddle_inference', 'zip', root_dir='paddle_inference_install_dir')"
598+
%cache_dir%\tools\busybox64.exe du -h -k paddle_inference.zip > lib_size.txt
599+
set /p libsize=< lib_size.txt
600+
for /F %%i in ("%libsize%") do (
601+
set /a libsize_m=%%i/1024
602+
echo "Windows Paddle_Inference Size: !libsize_m!M"
603+
echo ipipe_log_param_Windows_Paddle_Inference_Size: !libsize_m!M
604+
)
605+
goto:eof
606+
607+
:zip_file_error
608+
echo Tar inference library failed!
609+
exit /b 1
554610

555611
:timestamp
556612
setlocal enabledelayedexpansion

0 commit comments

Comments
 (0)