From a53f3f2fa1c79ec33a198f88b81257b3ce3b6ef6 Mon Sep 17 00:00:00 2001 From: xuxinyi04 Date: Tue, 19 Mar 2024 07:48:46 +0000 Subject: [PATCH 1/7] optimize_windows_pipeline --- paddle/scripts/paddle_build.bat | 23 ++++- test/CMakeLists.txt | 53 ++++++----- test/cpp/CMakeLists.txt | 3 + test/ir/CMakeLists.txt | 18 ++-- test/ir/inference/CMakeLists.txt | 87 +++++++++++-------- tools/group_case_for_parallel.py | 12 ++- .../windows/check_only_change_python_files.py | 74 ++++++++++++++++ tools/windows/run_unittests.sh | 26 +++--- 8 files changed, 212 insertions(+), 84 deletions(-) create mode 100644 tools/windows/check_only_change_python_files.py diff --git a/paddle/scripts/paddle_build.bat b/paddle/scripts/paddle_build.bat index a1b04cffbc3f93..8650efa9ecaa18 100644 --- a/paddle/scripts/paddle_build.bat +++ b/paddle/scripts/paddle_build.bat @@ -73,6 +73,7 @@ if not defined WITH_UNITY_BUILD set WITH_UNITY_BUILD=OFF if not defined NEW_RELEASE_ALL set NEW_RELEASE_ALL=ON if not defined NEW_RELEASE_PYPI set NEW_RELEASE_PYPI=OFF if not defined NEW_RELEASE_JIT set NEW_RELEASE_JIT=OFF +if not defined WITH_CPP_TEST set WITH_CPP_TEST=ON rem variable to control pipeline process if not defined WITH_TPCACHE set WITH_TPCACHE=OFF @@ -81,9 +82,13 @@ if not defined WITH_SCCACHE set WITH_SCCACHE=OFF if not defined INFERENCE_DEMO_INSTALL_DIR set INFERENCE_DEMO_INSTALL_DIR=%cache_dir:\=/%/inference_demo if not defined LOG_LEVEL set LOG_LEVEL=normal if not defined PRECISION_TEST set PRECISION_TEST=OFF +if not defined WIN_UNITTEST_LEVEL set WIN_UNITTEST_LEVEL=0 +rem LEVEL 0: run all test +rem LEVEL 1: skip all speed up tests besides single_card_tests_mem0 +rem LEVEL 2: skip all if not defined NIGHTLY_MODE set NIGHTLY_MODE=OFF if not defined retry_times set retry_times=1 -if not defined PYTHON_ROOT set PYTHON_ROOT=C:\Python37 +if not defined PYTHON_ROOT set PYTHON_ROOT=C:\Python38 if not defined BUILD_DIR set BUILD_DIR=build if not defined TEST_INFERENCE set TEST_INFERENCE=ON @@ -243,6 +248,7 @@ set MSVC_STATIC_CRT=OFF set ON_INFER=ON set WITH_TENSORRT=ON set WITH_INFERENCE_API_TEST=OFF +set WIN_UNITTEST_LEVEL=2 if not defined CUDA_ARCH_NAME set CUDA_ARCH_NAME=Auto call :cmake || goto cmake_error @@ -491,6 +497,12 @@ echo %task_name%|findstr build >nul && ( :cmake_impl cd /d %work_dir%\%BUILD_DIR% +rem whether to run cpp test +python -m pip install github +python -m pip install PyGithub +python %work_dir%\tools\windows\check_only_change_python_files.py +if exist %work_dir%\%BUILD_DIR%\only_change_python_file.txt set WITH_CPP_TEST=OFF +echo WITH_CPP_TEST: %WITH_CPP_TEST% echo cmake .. -G %GENERATOR% -DCMAKE_BUILD_TYPE=Release -DWITH_AVX=%WITH_AVX% -DWITH_GPU=%WITH_GPU% -DWITH_MKL=%WITH_MKL% ^ -DWITH_TESTING=%WITH_TESTING% -DWITH_PYTHON=%WITH_PYTHON% -DPYTHON_EXECUTABLE=%PYTHON_EXECUTABLE% -DON_INFER=%ON_INFER% ^ -DWITH_INFERENCE_API_TEST=%WITH_INFERENCE_API_TEST% -DTHIRD_PARTY_PATH=%THIRD_PARTY_PATH% ^ @@ -498,7 +510,8 @@ echo cmake .. -G %GENERATOR% -DCMAKE_BUILD_TYPE=Release -DWITH_AVX=%WITH_AVX% -D -DWITH_TENSORRT=%WITH_TENSORRT% -DTENSORRT_ROOT="%TENSORRT_ROOT%" -DMSVC_STATIC_CRT=%MSVC_STATIC_CRT% ^ -DWITH_UNITY_BUILD=%WITH_UNITY_BUILD% -DCUDA_ARCH_NAME=%CUDA_ARCH_NAME% -DCUDA_ARCH_BIN=%CUDA_ARCH_BIN% -DCUB_PATH=%THIRD_PARTY_HOME%/cub ^ -DCUDA_TOOLKIT_ROOT_DIR="%CUDA_TOOLKIT_ROOT_DIR%" -DNEW_RELEASE_ALL=%NEW_RELEASE_ALL% -DNEW_RELEASE_PYPI=%NEW_RELEASE_PYPI% ^ --DNEW_RELEASE_JIT=%NEW_RELEASE_JIT% -DWITH_ONNXRUNTIME=%WITH_ONNXRUNTIME% +-DNEW_RELEASE_JIT=%NEW_RELEASE_JIT% -DWITH_ONNXRUNTIME=%WITH_ONNXRUNTIME% -DWITH_CPP_TEST=%WITH_CPP_TEST% ^ +-DWIN_UNITTEST_LEVEL=%WIN_UNITTEST_LEVEL% echo cmake .. -G %GENERATOR% -DCMAKE_BUILD_TYPE=Release -DWITH_AVX=%WITH_AVX% -DWITH_GPU=%WITH_GPU% -DWITH_MKL=%WITH_MKL% ^ -DWITH_TESTING=%WITH_TESTING% -DWITH_PYTHON=%WITH_PYTHON% -DPYTHON_EXECUTABLE=%PYTHON_EXECUTABLE% -DON_INFER=%ON_INFER% ^ @@ -507,7 +520,8 @@ echo cmake .. -G %GENERATOR% -DCMAKE_BUILD_TYPE=Release -DWITH_AVX=%WITH_AVX% -D -DWITH_TENSORRT=%WITH_TENSORRT% -DTENSORRT_ROOT="%TENSORRT_ROOT%" -DMSVC_STATIC_CRT=%MSVC_STATIC_CRT% ^ -DWITH_UNITY_BUILD=%WITH_UNITY_BUILD% -DCUDA_ARCH_NAME=%CUDA_ARCH_NAME% -DCUDA_ARCH_BIN=%CUDA_ARCH_BIN% -DCUB_PATH=%THIRD_PARTY_HOME%/cub ^ -DCUDA_TOOLKIT_ROOT_DIR="%CUDA_TOOLKIT_ROOT_DIR%" -DNEW_RELEASE_ALL=%NEW_RELEASE_ALL% -DNEW_RELEASE_PYPI=%NEW_RELEASE_PYPI% ^ --DNEW_RELEASE_JIT=%NEW_RELEASE_JIT% -DWITH_ONNXRUNTIME=%WITH_ONNXRUNTIME% >> %work_dir%\win_cmake.sh +-DNEW_RELEASE_JIT=%NEW_RELEASE_JIT% -DWITH_ONNXRUNTIME=%WITH_ONNXRUNTIME% -DWITH_CPP_TEST=%WITH_CPP_TEST% ^ +-DWIN_UNITTEST_LEVEL=%WIN_UNITTEST_LEVEL% >> %work_dir%\win_cmake.sh cmake .. -G %GENERATOR% -DCMAKE_BUILD_TYPE=Release -DWITH_AVX=%WITH_AVX% -DWITH_GPU=%WITH_GPU% -DWITH_MKL=%WITH_MKL% ^ -DWITH_TESTING=%WITH_TESTING% -DWITH_PYTHON=%WITH_PYTHON% -DPYTHON_EXECUTABLE=%PYTHON_EXECUTABLE% -DON_INFER=%ON_INFER% ^ @@ -516,7 +530,8 @@ cmake .. -G %GENERATOR% -DCMAKE_BUILD_TYPE=Release -DWITH_AVX=%WITH_AVX% -DWITH_ -DWITH_TENSORRT=%WITH_TENSORRT% -DTENSORRT_ROOT="%TENSORRT_ROOT%" -DMSVC_STATIC_CRT=%MSVC_STATIC_CRT% ^ -DWITH_UNITY_BUILD=%WITH_UNITY_BUILD% -DCUDA_ARCH_NAME=%CUDA_ARCH_NAME% -DCUDA_ARCH_BIN=%CUDA_ARCH_BIN% -DCUB_PATH=%THIRD_PARTY_HOME%/cub ^ -DCUDA_TOOLKIT_ROOT_DIR="%CUDA_TOOLKIT_ROOT_DIR%" -DNEW_RELEASE_ALL=%NEW_RELEASE_ALL% -DNEW_RELEASE_PYPI=%NEW_RELEASE_PYPI% ^ --DNEW_RELEASE_JIT=%NEW_RELEASE_JIT% -DWITH_ONNXRUNTIME=%WITH_ONNXRUNTIME% +-DNEW_RELEASE_JIT=%NEW_RELEASE_JIT% -DWITH_ONNXRUNTIME=%WITH_ONNXRUNTIME% -DWITH_CPP_TEST=%WITH_CPP_TEST% ^ +-DWIN_UNITTEST_LEVEL=%WIN_UNITTEST_LEVEL% goto:eof :cmake_error diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index fd305ce6e89557..75933e03b23439 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -141,26 +141,43 @@ if(WITH_TESTING) add_subdirectory(ir/pir/cinn) endif() - add_subdirectory(amp) - add_subdirectory(asp) - add_subdirectory(autograd) + if(NOT WIN32 OR WIN_UNITTEST_LEVEL EQUAL 0) + add_subdirectory(amp) + add_subdirectory(asp) + add_subdirectory(autograd) + add_subdirectory(custom_kernel) + add_subdirectory(custom_op) + add_subdirectory(custom_runtime) + add_subdirectory(dataset) + add_subdirectory(cpp_extension) + add_subdirectory(dygraph_to_static) + add_subdirectory(prim) + add_subdirectory(sot) + add_subdirectory(standalone_executor) + add_subdirectory(tokenizer) + add_subdirectory(rpc) + endif() + add_subdirectory(book) # add_subdirectory(composite_ops) add_subdirectory(contrib) add_subdirectory(cpp) - add_subdirectory(custom_kernel) - add_subdirectory(custom_op) - add_subdirectory(custom_runtime) - add_subdirectory(dataset) - add_subdirectory(cpp_extension) + add_subdirectory(distribution) + add_subdirectory(ir) + add_subdirectory(indexing) + add_subdirectory(legacy_test) + add_subdirectory(quantization) + add_subdirectory(rnn) + add_subdirectory(sequence) + # add_subdirectory(white_list) + if(WITH_DISTRIBUTE) add_subdirectory(collective) add_subdirectory(auto_parallel) add_subdirectory(distributed_passes) add_subdirectory(ps) endif() - add_subdirectory(distribution) - add_subdirectory(dygraph_to_static) + if(NOT WIN32 OR NOT WITH_GPU) add_subdirectory(fft) endif() @@ -168,21 +185,11 @@ if(WITH_TESTING) if(WITH_IPU) add_subdirectory(ipu) endif() - add_subdirectory(ir) - add_subdirectory(indexing) - add_subdirectory(legacy_test) - if(WITH_MKLDNN) + + if(WITH_MKLDNN AND (NOT WIN32 OR WIN_UNITTEST_LEVEL EQUAL 0)) add_subdirectory(mkldnn) endif() - add_subdirectory(prim) - add_subdirectory(quantization) - add_subdirectory(rnn) - add_subdirectory(rpc) - add_subdirectory(sequence) - add_subdirectory(sot) - add_subdirectory(standalone_executor) - add_subdirectory(tokenizer) - # add_subdirectory(white_list) + if(WITH_XPU) add_subdirectory(xpu) endif() diff --git a/test/cpp/CMakeLists.txt b/test/cpp/CMakeLists.txt index 5256aec68452d9..80fa665640448a 100644 --- a/test/cpp/CMakeLists.txt +++ b/test/cpp/CMakeLists.txt @@ -1,3 +1,6 @@ +if(WIN32 AND NOT WITH_CPP_TEST) + return() +endif() add_subdirectory(auto_parallel) add_subdirectory(phi) add_subdirectory(jit) diff --git a/test/ir/CMakeLists.txt b/test/ir/CMakeLists.txt index 232ef033e2b35b..bb515737b98251 100644 --- a/test/ir/CMakeLists.txt +++ b/test/ir/CMakeLists.txt @@ -10,13 +10,17 @@ if(((NOT WITH_GPU) AND (NOT WITH_ROCM)) list(REMOVE_ITEM TEST_IR_PASSES test_ir_fusion_group_pass) endif() -foreach(target ${TEST_IR_PASSES}) - py_test_modules(${target} MODULES ${target}) - set_tests_properties(${target} PROPERTIES LABELS "RUN_TYPE=INFER") -endforeach() +if(NOT WIN32 OR WIN_UNITTEST_LEVEL EQUAL 0) + foreach(target ${TEST_IR_PASSES}) + py_test_modules(${target} MODULES ${target}) + set_tests_properties(${target} PROPERTIES LABELS "RUN_TYPE=INFER") + endforeach() +endif() add_subdirectory(inference) -add_subdirectory(pir) -set_tests_properties(test_fuse_resnet_unit PROPERTIES TIMEOUT 120) -set_tests_properties(test_convert_to_mixed_precision PROPERTIES TIMEOUT 300) +if(NOT WIN32 OR WIN_UNITTEST_LEVEL EQUAL 0) + add_subdirectory(pir) + set_tests_properties(test_fuse_resnet_unit PROPERTIES TIMEOUT 120) + set_tests_properties(test_convert_to_mixed_precision PROPERTIES TIMEOUT 300) +endif() diff --git a/test/ir/inference/CMakeLists.txt b/test/ir/inference/CMakeLists.txt index 84abbaa986e61c..486e71e9dc6902 100755 --- a/test/ir/inference/CMakeLists.txt +++ b/test/ir/inference/CMakeLists.txt @@ -49,8 +49,12 @@ if(WIN32) "test_trt_convert_quantize_dequantize_linear") list(REMOVE_ITEM TEST_TRT_IR_PASSES "test_trt_explicit_quantization") list(REMOVE_ITEM TEST_TRT_IR_PASSES "test_trt_explicit_quantization_resnet") + list(REMOVE_ITEM TEST_INFERENCE_IR_PASSES + "test_trt_explicit_quantization_resnet") list(REMOVE_ITEM TEST_TRT_IR_PASSES "test_trt_explicit_quantization_mobilenet") + list(REMOVE_ITEM TEST_INFERENCE_IR_PASSES + "test_trt_explicit_quantization_mobilenet") endif() # Only for cpu(mkl + openblas) @@ -110,7 +114,7 @@ foreach(TEST_INFERENCE_IR_PASS ${TEST_ONEDNN_IR_PASSES}) list(REMOVE_ITEM TEST_INFERENCE_IR_PASSES ${TEST_INFERENCE_IR_PASS}) endforeach() -if(WITH_MKLDNN) +if(WITH_MKLDNN AND (NOT WIN32 OR WIN_UNITTEST_LEVEL EQUAL 0)) foreach(target ${TEST_MKLDNN_IR_PASSES}) py_test_modules(${target} MODULES ${target}) set_tests_properties(${target} PROPERTIES LABELS "RUN_TYPE=INFER") @@ -175,8 +179,10 @@ if(WITH_GPU AND TENSORRT_FOUND) PROPERTIES TIMEOUT 300) set_tests_properties(test_trt_explicit_quantization_mobilenet PROPERTIES TIMEOUT 300) + else() + set_tests_properties(test_trt_convert_fill_constant PROPERTIES TIMEOUT 450) endif() - if(WITH_MKLDNN) + if(WITH_MKLDNN AND (NOT WIN32 OR WIN_UNITTEST_LEVEL EQUAL 0)) set_tests_properties(test_save_optimized_model_pass PROPERTIES TIMEOUT 300) endif() @@ -231,12 +237,16 @@ if(WITH_GPU AND TENSORRT_FOUND) PROPERTIES TIMEOUT 120) set_tests_properties(test_conv_elementwise_add_act_fuse_pass PROPERTIES TIMEOUT 120) - set_tests_properties(test_onednn_conv_bias_fuse_pass PROPERTIES TIMEOUT 300) - set_tests_properties(test_onednn_conv_concat_activation_fuse_pass - PROPERTIES TIMEOUT 300) - set_tests_properties(test_onednn_multi_gru_fuse_pass PROPERTIES TIMEOUT 120) - set_tests_properties(test_onednn_multi_gru_seq_fuse_pass PROPERTIES TIMEOUT - 120) + if(NOT WIN32 OR WIN_UNITTEST_LEVEL EQUAL 0) + set_tests_properties(test_onednn_conv_bias_fuse_pass PROPERTIES TIMEOUT + 300) + set_tests_properties(test_onednn_conv_concat_activation_fuse_pass + PROPERTIES TIMEOUT 300) + set_tests_properties(test_onednn_multi_gru_fuse_pass PROPERTIES TIMEOUT + 120) + set_tests_properties(test_onednn_multi_gru_seq_fuse_pass + PROPERTIES TIMEOUT 120) + endif() set_tests_properties(test_flatten2_matmul_fuse_pass PROPERTIES TIMEOUT 240) set_tests_properties(test_squeeze2_matmul_fuse_pass PROPERTIES TIMEOUT 240) set_tests_properties(test_reshape2_matmul_fuse_pass PROPERTIES TIMEOUT 240) @@ -275,38 +285,43 @@ if(WITH_GPU AND TENSORRT_FOUND) endif() if(WITH_MKLDNN) - set_tests_properties(test_onednn_conv_bn_fuse_pass PROPERTIES TIMEOUT 120) - set_tests_properties(test_onednn_conv_elementwise_add_fuse_pass - PROPERTIES TIMEOUT 120) - set_tests_properties(test_mkldnn_depthwise_conv_pass PROPERTIES TIMEOUT 120) - set_tests_properties(test_onednn_reshape_transpose_matmul_fuse_pass - PROPERTIES TIMEOUT 100) - set_tests_properties(test_mkldnn_mish_op PROPERTIES TIMEOUT 300) - set_tests_properties(test_mkldnn_conv3d_op PROPERTIES TIMEOUT 300) - set_tests_properties(test_mkldnn_prelu_op PROPERTIES TIMEOUT 300) set_tests_properties(test_conv_act_onednn_fuse_pass PROPERTIES TIMEOUT 120) set_tests_properties(test_conv_transpose_eltwiseadd_bn_fuse_pass PROPERTIES TIMEOUT 250) - set_tests_properties(test_onednn_matmul_transpose_reshape_fuse_pass - PROPERTIES TIMEOUT 100) - set_tests_properties(test_conv_transpose_bn_fuse_pass PROPERTIES TIMEOUT - 300) - set_tests_properties(test_mkldnn_conv_hard_sigmoid_fuse_pass - PROPERTIES TIMEOUT 300) - set_tests_properties(test_mkldnn_conv_hard_swish_fuse_pass - PROPERTIES TIMEOUT 300) - set_tests_properties(test_onednn_batch_norm_act_fuse_pass PROPERTIES TIMEOUT - 100) - set_tests_properties(test_mkldnn_matmul_v2_transpose_reshape_fuse_pass - PROPERTIES TIMEOUT 100) - set_tests_properties(test_mkldnn_conv_transpose_bias_fuse_pass - PROPERTIES TIMEOUT 100) set_tests_properties(test_conv_eltwiseadd_bn_fuse_pass PROPERTIES TIMEOUT 300) - set_tests_properties(test_mkldnn_conv_mish_fuse_pass PROPERTIES TIMEOUT 300) - set_tests_properties(test_onednn_fc_activation_fuse_pass PROPERTIES TIMEOUT - 300) - set_tests_properties(test_mkldnn_conv_affine_channel_fuse_pass - PROPERTIES TIMEOUT 60) + if(NOT WIN32 OR WIN_UNITTEST_LEVEL EQUAL 0) + set_tests_properties(test_onednn_conv_bn_fuse_pass PROPERTIES TIMEOUT 120) + set_tests_properties(test_onednn_conv_elementwise_add_fuse_pass + PROPERTIES TIMEOUT 120) + set_tests_properties(test_mkldnn_depthwise_conv_pass PROPERTIES TIMEOUT + 120) + set_tests_properties(test_onednn_reshape_transpose_matmul_fuse_pass + PROPERTIES TIMEOUT 100) + set_tests_properties(test_mkldnn_mish_op PROPERTIES TIMEOUT 300) + set_tests_properties(test_mkldnn_conv3d_op PROPERTIES TIMEOUT 300) + set_tests_properties(test_mkldnn_prelu_op PROPERTIES TIMEOUT 300) + + set_tests_properties(test_onednn_matmul_transpose_reshape_fuse_pass + PROPERTIES TIMEOUT 100) + set_tests_properties(test_conv_transpose_bn_fuse_pass PROPERTIES TIMEOUT + 300) + set_tests_properties(test_mkldnn_conv_hard_sigmoid_fuse_pass + PROPERTIES TIMEOUT 300) + set_tests_properties(test_mkldnn_conv_hard_swish_fuse_pass + PROPERTIES TIMEOUT 300) + set_tests_properties(test_onednn_batch_norm_act_fuse_pass + PROPERTIES TIMEOUT 100) + set_tests_properties(test_mkldnn_matmul_v2_transpose_reshape_fuse_pass + PROPERTIES TIMEOUT 100) + set_tests_properties(test_mkldnn_conv_transpose_bias_fuse_pass + PROPERTIES TIMEOUT 100) + set_tests_properties(test_mkldnn_conv_mish_fuse_pass PROPERTIES TIMEOUT + 300) + set_tests_properties(test_onednn_fc_activation_fuse_pass + PROPERTIES TIMEOUT 300) + set_tests_properties(test_mkldnn_conv_affine_channel_fuse_pass + PROPERTIES TIMEOUT 60) + endif() endif() endif() diff --git a/tools/group_case_for_parallel.py b/tools/group_case_for_parallel.py index 0f48c1db26918b..66187ca4b06078 100644 --- a/tools/group_case_for_parallel.py +++ b/tools/group_case_for_parallel.py @@ -29,9 +29,15 @@ def group_case_for_parallel(rootPath): 'exclusive_card_tests', 'exclusive_card_tests_mem0', ]: - os.system( - f'cd {rootPath}/tools && wget --no-proxy https://paddle-docker-tar.bj.bcebos.com/pre_test_bak_20230908/{filename} --no-check-certificate' - ) + OS_NAME = sys.platform + if OS_NAME.startswith('win'): + os.system( + f'cd {rootPath}/tools && wget --no-proxy https://paddle-windows.bj.bcebos.com/pre_test_bak_20230908/{filename} --no-check-certificate' + ) + else: + os.system( + f'cd {rootPath}/tools && wget --no-proxy https://paddle-docker-tar.bj.bcebos.com/pre_test_bak_20230908/{filename} --no-check-certificate' + ) # get nightly tests nightly_tests_file = open('%s/tools/nightly_case' % rootPath, 'r') diff --git a/tools/windows/check_only_change_python_files.py b/tools/windows/check_only_change_python_files.py new file mode 100644 index 00000000000000..cfd16d1db8c81b --- /dev/null +++ b/tools/windows/check_only_change_python_files.py @@ -0,0 +1,74 @@ +# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" For the PR that only modified the unit test, get cases in pull request. """ + +import os +import ssl +import sys + +from github import Github + +PADDLE_ROOT = os.getenv('PADDLE_ROOT', '/paddle/') +PADDLE_ROOT += '/' +PADDLE_ROOT = PADDLE_ROOT.replace('//', '/') +ssl._create_default_https_context = ssl._create_unverified_context + + +class PRChecker: + """PR Checker.""" + + def __init__(self): + self.github = Github(os.getenv('GITHUB_API_TOKEN'), timeout=60) + self.repo = self.github.get_repo('PaddlePaddle/Paddle') + self.pr = None + + def init(self): + """Get pull request.""" + pr_id = os.getenv('GIT_PR_ID') + if not pr_id: + print('PREC No PR ID') + sys.exit(0) + self.pr = self.repo.get_pull(int(pr_id)) + + def get_pr_files(self): + """Get files in pull request.""" + page = 0 + file_dict = {} + while True: + files = self.pr.get_files().get_page(page) + if not files: + break + for f in files: + file_dict[PADDLE_ROOT + f.filename] = f.status + page += 1 + print("pr modify files: %s" % file_dict) + return file_dict + + def check_only_change_python_file(self): + file_dict = self.get_pr_files() + for filename in file_dict: + if not ( + filename.startswith(PADDLE_ROOT + 'python/') + and filename.endwith('.py') + ): + return False + return True + + +if __name__ == '__main__': + pr_checker = PRChecker() + pr_checker.init() + if pr_checker.check_only_change_python_file(): + with open('only_change_python_file.txt', 'w') as f: + f.write('yes') diff --git a/tools/windows/run_unittests.sh b/tools/windows/run_unittests.sh index f99f7c8cc58e7a..57913014a4e499 100644 --- a/tools/windows/run_unittests.sh +++ b/tools/windows/run_unittests.sh @@ -702,19 +702,23 @@ export FLAGS_call_stack_level=2 if [ "${WITH_GPU:-OFF}" == "ON" ];then single_ut_mem_0_startTime_s=`date +%s` - while read line - do - run_unittest_gpu "$line" 16 - done < $PADDLE_ROOT/tools/single_card_tests_mem0_new - single_ut_mem_0_endTime_s=`date +%s` - single_ut_mem_0_Time_s=`expr $single_ut_mem_0_endTime_s - $single_ut_mem_0_startTime_s` - echo "ipipe_log_param_1_mem_0_TestCases_Total_Time: $single_ut_mem_0_Time_s s" + if [ ${WIN_UNITTEST_LEVEL:-0} == "2" ]; then + echo "ipipe_log_param_1_mem_0_TestCases_Total_Time: 0 s" + else + while read line + do + run_unittest_gpu "$line" 16 + done < $PADDLE_ROOT/tools/single_card_tests_mem0_new + single_ut_mem_0_endTime_s=`date +%s` + single_ut_mem_0_Time_s=`expr $single_ut_mem_0_endTime_s - $single_ut_mem_0_startTime_s` + echo "ipipe_log_param_1_mem_0_TestCases_Total_Time: $single_ut_mem_0_Time_s s" + fi single_ut_startTime_s=`date +%s` while read line do num=`echo $line | awk -F"$" '{print NF-1}'` - para_num=`expr $num / 3` + para_num=`expr $num / 2` if [ $para_num -eq 0 ]; then para_num=4 fi @@ -737,7 +741,7 @@ if [ "${WITH_GPU:-OFF}" == "ON" ];then while read line do num=`echo $line | awk -F"$" '{print NF-1}'` - para_num=`expr $num / 3` + para_num=`expr $num / 2` if [ $para_num -eq 0 ]; then para_num=4 fi @@ -762,7 +766,7 @@ if [ "${WITH_GPU:-OFF}" == "ON" ];then while read line do num=`echo $line | awk -F"$" '{print NF-1}'` - para_num=`expr $num / 3` + para_num=`expr $num / 2` if [ $para_num -eq 0 ]; then para_num=4 fi @@ -775,7 +779,7 @@ if [ "${WITH_GPU:-OFF}" == "ON" ];then noparallel_ut_startTime_s=`date +%s` while read line do - run_unittest_gpu "$line" 3 + run_unittest_gpu "$line" 8 done < $PADDLE_ROOT/tools/no_parallel_case_file noparallel_ut_endTime_s=`date +%s` noparallel_ut_Time_s=`expr $noparallel_ut_endTime_s - $noparallel_ut_startTime_s` From 8088a05047b571a9f4ce34e5f2b5b51d3126ca47 Mon Sep 17 00:00:00 2001 From: xuxinyi04 Date: Tue, 19 Mar 2024 08:01:11 +0000 Subject: [PATCH 2/7] fix --- tools/windows/check_only_change_python_files.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/windows/check_only_change_python_files.py b/tools/windows/check_only_change_python_files.py index cfd16d1db8c81b..98ee7ac3eaf01e 100644 --- a/tools/windows/check_only_change_python_files.py +++ b/tools/windows/check_only_change_python_files.py @@ -60,7 +60,7 @@ def check_only_change_python_file(self): for filename in file_dict: if not ( filename.startswith(PADDLE_ROOT + 'python/') - and filename.endwith('.py') + and filename.endswith('.py') ): return False return True From 6840666822718358227dcd6f06142240a0f95719 Mon Sep 17 00:00:00 2001 From: xuxinyi04 Date: Tue, 19 Mar 2024 13:17:31 +0000 Subject: [PATCH 3/7] fix --- paddle/scripts/paddle_build.bat | 4 ++-- test/CMakeLists.txt | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/paddle/scripts/paddle_build.bat b/paddle/scripts/paddle_build.bat index 8650efa9ecaa18..9e88859b531028 100644 --- a/paddle/scripts/paddle_build.bat +++ b/paddle/scripts/paddle_build.bat @@ -84,8 +84,8 @@ if not defined LOG_LEVEL set LOG_LEVEL=normal if not defined PRECISION_TEST set PRECISION_TEST=OFF if not defined WIN_UNITTEST_LEVEL set WIN_UNITTEST_LEVEL=0 rem LEVEL 0: run all test -rem LEVEL 1: skip all speed up tests besides single_card_tests_mem0 -rem LEVEL 2: skip all +rem LEVEL 1: skip tests unrelated to cuda or trt +rem LEVEL 2: skip tests unrelated to cuda or trt and skip tests without GPU memory if not defined NIGHTLY_MODE set NIGHTLY_MODE=OFF if not defined retry_times set retry_times=1 if not defined PYTHON_ROOT set PYTHON_ROOT=C:\Python38 diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 75933e03b23439..d2765cee0fff07 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -141,7 +141,9 @@ if(WITH_TESTING) add_subdirectory(ir/pir/cinn) endif() - if(NOT WIN32 OR WIN_UNITTEST_LEVEL EQUAL 0) + if(WIN32 AND WIN_UNITTEST_LEVEL GREATER 0) + message(STATUS "Skip tests unrelated to cuda or trt") + else() add_subdirectory(amp) add_subdirectory(asp) add_subdirectory(autograd) From 1de8d1db004b161e7e78e1dfb8181e7020a33b4c Mon Sep 17 00:00:00 2001 From: xuxinyi04 Date: Wed, 20 Mar 2024 12:12:50 +0000 Subject: [PATCH 4/7] fix_cmakelists --- paddle/scripts/paddle_build.bat | 6 +- test/CMakeLists.txt | 9 +-- test/ir/CMakeLists.txt | 11 ++- test/ir/inference/CMakeLists.txt | 133 +++++++++++++++---------------- 4 files changed, 76 insertions(+), 83 deletions(-) diff --git a/paddle/scripts/paddle_build.bat b/paddle/scripts/paddle_build.bat index 9e88859b531028..9179b8204ced3c 100644 --- a/paddle/scripts/paddle_build.bat +++ b/paddle/scripts/paddle_build.bat @@ -84,8 +84,10 @@ if not defined LOG_LEVEL set LOG_LEVEL=normal if not defined PRECISION_TEST set PRECISION_TEST=OFF if not defined WIN_UNITTEST_LEVEL set WIN_UNITTEST_LEVEL=0 rem LEVEL 0: run all test -rem LEVEL 1: skip tests unrelated to cuda or trt -rem LEVEL 2: skip tests unrelated to cuda or trt and skip tests without GPU memory +rem LEVEL 1: For unittests unrelated to CUDA/TRT, only run on PR-CI-Windows-Infernece(CUDA 11.2), +rem skip it on PR-CI-Windows(CUDA 12.0) +rem LEVEL 2: For unittests unrelated to CUDA/TRT or unittests without GPU memory, only run on +rem PR-CI-Windows-Infernece(CUDA 11.2), skip it on PR-CI-Windows(CUDA 12.0) if not defined NIGHTLY_MODE set NIGHTLY_MODE=OFF if not defined retry_times set retry_times=1 if not defined PYTHON_ROOT set PYTHON_ROOT=C:\Python38 diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index d2765cee0fff07..d51929033d916d 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -142,7 +142,7 @@ if(WITH_TESTING) endif() if(WIN32 AND WIN_UNITTEST_LEVEL GREATER 0) - message(STATUS "Skip tests unrelated to cuda or trt") + message(STATUS "Skip tests unrelated to CUDA/TRT") else() add_subdirectory(amp) add_subdirectory(asp) @@ -158,6 +158,9 @@ if(WITH_TESTING) add_subdirectory(standalone_executor) add_subdirectory(tokenizer) add_subdirectory(rpc) + if(WITH_MKLDNN) + add_subdirectory(mkldnn) + endif() endif() add_subdirectory(book) @@ -188,10 +191,6 @@ if(WITH_TESTING) add_subdirectory(ipu) endif() - if(WITH_MKLDNN AND (NOT WIN32 OR WIN_UNITTEST_LEVEL EQUAL 0)) - add_subdirectory(mkldnn) - endif() - if(WITH_XPU) add_subdirectory(xpu) endif() diff --git a/test/ir/CMakeLists.txt b/test/ir/CMakeLists.txt index bb515737b98251..039682b4889478 100644 --- a/test/ir/CMakeLists.txt +++ b/test/ir/CMakeLists.txt @@ -10,17 +10,16 @@ if(((NOT WITH_GPU) AND (NOT WITH_ROCM)) list(REMOVE_ITEM TEST_IR_PASSES test_ir_fusion_group_pass) endif() -if(NOT WIN32 OR WIN_UNITTEST_LEVEL EQUAL 0) +if(WIN32 AND WIN_UNITTEST_LEVEL GREATER 0) + message(STATUS "Skip tests unrelated to CUDA/TRT") +else() foreach(target ${TEST_IR_PASSES}) py_test_modules(${target} MODULES ${target}) set_tests_properties(${target} PROPERTIES LABELS "RUN_TYPE=INFER") endforeach() -endif() - -add_subdirectory(inference) - -if(NOT WIN32 OR WIN_UNITTEST_LEVEL EQUAL 0) add_subdirectory(pir) set_tests_properties(test_fuse_resnet_unit PROPERTIES TIMEOUT 120) set_tests_properties(test_convert_to_mixed_precision PROPERTIES TIMEOUT 300) endif() + +add_subdirectory(inference) diff --git a/test/ir/inference/CMakeLists.txt b/test/ir/inference/CMakeLists.txt index 486e71e9dc6902..2bed40ceca0b36 100755 --- a/test/ir/inference/CMakeLists.txt +++ b/test/ir/inference/CMakeLists.txt @@ -114,7 +114,9 @@ foreach(TEST_INFERENCE_IR_PASS ${TEST_ONEDNN_IR_PASSES}) list(REMOVE_ITEM TEST_INFERENCE_IR_PASSES ${TEST_INFERENCE_IR_PASS}) endforeach() -if(WITH_MKLDNN AND (NOT WIN32 OR WIN_UNITTEST_LEVEL EQUAL 0)) +if(WIN32 AND WIN_UNITTEST_LEVEL GREATER 0) + message(STATUS "Skip tests unrelated to CUDA/TRT") +elseif(WITH_MKLDNN) foreach(target ${TEST_MKLDNN_IR_PASSES}) py_test_modules(${target} MODULES ${target}) set_tests_properties(${target} PROPERTIES LABELS "RUN_TYPE=INFER") @@ -182,9 +184,6 @@ if(WITH_GPU AND TENSORRT_FOUND) else() set_tests_properties(test_trt_convert_fill_constant PROPERTIES TIMEOUT 450) endif() - if(WITH_MKLDNN AND (NOT WIN32 OR WIN_UNITTEST_LEVEL EQUAL 0)) - set_tests_properties(test_save_optimized_model_pass PROPERTIES TIMEOUT 300) - endif() if(WITH_NV_JETSON) set_tests_properties( @@ -214,9 +213,7 @@ if(WITH_GPU AND TENSORRT_FOUND) set_tests_properties(test_trt_nearest_interp_v2_op PROPERTIES TIMEOUT 30) set_tests_properties(test_trt_multiclass_nms3_op PROPERTIES TIMEOUT 60) - if(WITH_MKLDNN - AND TENSORRT_FOUND - AND WITH_GPU) + if(WITH_MKLDNN) set_tests_properties(test_merge_layernorm_fuse_pass PROPERTIES TIMEOUT 180) set_tests_properties(test_skip_merge_layernorm_fuse_pass PROPERTIES TIMEOUT 180) @@ -237,16 +234,6 @@ if(WITH_GPU AND TENSORRT_FOUND) PROPERTIES TIMEOUT 120) set_tests_properties(test_conv_elementwise_add_act_fuse_pass PROPERTIES TIMEOUT 120) - if(NOT WIN32 OR WIN_UNITTEST_LEVEL EQUAL 0) - set_tests_properties(test_onednn_conv_bias_fuse_pass PROPERTIES TIMEOUT - 300) - set_tests_properties(test_onednn_conv_concat_activation_fuse_pass - PROPERTIES TIMEOUT 300) - set_tests_properties(test_onednn_multi_gru_fuse_pass PROPERTIES TIMEOUT - 120) - set_tests_properties(test_onednn_multi_gru_seq_fuse_pass - PROPERTIES TIMEOUT 120) - endif() set_tests_properties(test_flatten2_matmul_fuse_pass PROPERTIES TIMEOUT 240) set_tests_properties(test_squeeze2_matmul_fuse_pass PROPERTIES TIMEOUT 240) set_tests_properties(test_reshape2_matmul_fuse_pass PROPERTIES TIMEOUT 240) @@ -254,6 +241,12 @@ if(WITH_GPU AND TENSORRT_FOUND) 240) set_tests_properties(test_shuffle_channel_detect_pass PROPERTIES TIMEOUT 120) + set_tests_properties(test_conv_act_onednn_fuse_pass PROPERTIES TIMEOUT 120) + set_tests_properties(test_conv_transpose_eltwiseadd_bn_fuse_pass + PROPERTIES TIMEOUT 250) + set_tests_properties(test_conv_eltwiseadd_bn_fuse_pass PROPERTIES TIMEOUT + 300) + set_tests_properties(test_save_optimized_model_pass PROPERTIES TIMEOUT 300) if(WIN32) set_tests_properties(test_matmul_scale_fuse_pass PROPERTIES TIMEOUT 300) set_tests_properties(test_matmul_v2_scale_fuse_pass PROPERTIES TIMEOUT @@ -265,63 +258,63 @@ if(WITH_GPU AND TENSORRT_FOUND) set_tests_properties(test_map_matmul_to_mul_pass PROPERTIES TIMEOUT 360) set_tests_properties(test_layernorm_shift_partition_pass PROPERTIES TIMEOUT 360) - else() - set_tests_properties(test_matmul_scale_fuse_pass PROPERTIES TIMEOUT 60) - set_tests_properties(test_matmul_v2_scale_fuse_pass PROPERTIES TIMEOUT 60) - set_tests_properties(test_map_matmul_v2_to_matmul_pass PROPERTIES TIMEOUT - 120) - set_tests_properties(test_map_matmul_v2_to_mul_pass PROPERTIES TIMEOUT - 120) - set_tests_properties(test_map_matmul_to_mul_pass PROPERTIES TIMEOUT 120) - set_tests_properties(test_element_groupnorm_act_fuse_pass + elseif(WIN_UNITTEST_LEVEL EQUAL 0) + set_tests_properties(test_onednn_conv_bias_fuse_pass PROPERTIES TIMEOUT + 300) + set_tests_properties(test_onednn_conv_concat_activation_fuse_pass + PROPERTIES TIMEOUT 300) + set_tests_properties(test_onednn_multi_gru_fuse_pass PROPERTIES TIMEOUT + 120) + set_tests_properties(test_onednn_multi_gru_seq_fuse_pass PROPERTIES TIMEOUT 120) - set_tests_properties(test_preln_groupnorm_act_fuse_pass PROPERTIES TIMEOUT - 120) - set_tests_properties(test_groupnorm_act_pass_fuse_pass PROPERTIES TIMEOUT - 120) - set_tests_properties(test_split_layernorm_to_math_ops_pass - PROPERTIES TIMEOUT 240) endif() endif() - - if(WITH_MKLDNN) - set_tests_properties(test_conv_act_onednn_fuse_pass PROPERTIES TIMEOUT 120) - set_tests_properties(test_conv_transpose_eltwiseadd_bn_fuse_pass - PROPERTIES TIMEOUT 250) - set_tests_properties(test_conv_eltwiseadd_bn_fuse_pass PROPERTIES TIMEOUT - 300) - if(NOT WIN32 OR WIN_UNITTEST_LEVEL EQUAL 0) - set_tests_properties(test_onednn_conv_bn_fuse_pass PROPERTIES TIMEOUT 120) - set_tests_properties(test_onednn_conv_elementwise_add_fuse_pass - PROPERTIES TIMEOUT 120) - set_tests_properties(test_mkldnn_depthwise_conv_pass PROPERTIES TIMEOUT + if(WIN32 AND WIN_UNITTEST_LEVEL GREATER 0) + message(STATUS "Skip tests unrelated to CUDA/TRT") + else() + set_tests_properties(test_matmul_scale_fuse_pass PROPERTIES TIMEOUT 60) + set_tests_properties(test_matmul_v2_scale_fuse_pass PROPERTIES TIMEOUT 60) + set_tests_properties(test_map_matmul_v2_to_matmul_pass PROPERTIES TIMEOUT 120) - set_tests_properties(test_onednn_reshape_transpose_matmul_fuse_pass - PROPERTIES TIMEOUT 100) - set_tests_properties(test_mkldnn_mish_op PROPERTIES TIMEOUT 300) - set_tests_properties(test_mkldnn_conv3d_op PROPERTIES TIMEOUT 300) - set_tests_properties(test_mkldnn_prelu_op PROPERTIES TIMEOUT 300) + set_tests_properties(test_map_matmul_v2_to_mul_pass PROPERTIES TIMEOUT 120) + set_tests_properties(test_map_matmul_to_mul_pass PROPERTIES TIMEOUT 120) + set_tests_properties(test_element_groupnorm_act_fuse_pass PROPERTIES TIMEOUT + 120) + set_tests_properties(test_preln_groupnorm_act_fuse_pass PROPERTIES TIMEOUT + 120) + set_tests_properties(test_groupnorm_act_pass_fuse_pass PROPERTIES TIMEOUT + 120) + set_tests_properties(test_split_layernorm_to_math_ops_pass + PROPERTIES TIMEOUT 240) + set_tests_properties(test_onednn_conv_bn_fuse_pass PROPERTIES TIMEOUT 120) + set_tests_properties(test_onednn_conv_elementwise_add_fuse_pass + PROPERTIES TIMEOUT 120) + set_tests_properties(test_mkldnn_depthwise_conv_pass PROPERTIES TIMEOUT 120) + set_tests_properties(test_onednn_reshape_transpose_matmul_fuse_pass + PROPERTIES TIMEOUT 100) + set_tests_properties(test_mkldnn_mish_op PROPERTIES TIMEOUT 300) + set_tests_properties(test_mkldnn_conv3d_op PROPERTIES TIMEOUT 300) + set_tests_properties(test_mkldnn_prelu_op PROPERTIES TIMEOUT 300) - set_tests_properties(test_onednn_matmul_transpose_reshape_fuse_pass - PROPERTIES TIMEOUT 100) - set_tests_properties(test_conv_transpose_bn_fuse_pass PROPERTIES TIMEOUT - 300) - set_tests_properties(test_mkldnn_conv_hard_sigmoid_fuse_pass - PROPERTIES TIMEOUT 300) - set_tests_properties(test_mkldnn_conv_hard_swish_fuse_pass - PROPERTIES TIMEOUT 300) - set_tests_properties(test_onednn_batch_norm_act_fuse_pass - PROPERTIES TIMEOUT 100) - set_tests_properties(test_mkldnn_matmul_v2_transpose_reshape_fuse_pass - PROPERTIES TIMEOUT 100) - set_tests_properties(test_mkldnn_conv_transpose_bias_fuse_pass - PROPERTIES TIMEOUT 100) - set_tests_properties(test_mkldnn_conv_mish_fuse_pass PROPERTIES TIMEOUT - 300) - set_tests_properties(test_onednn_fc_activation_fuse_pass - PROPERTIES TIMEOUT 300) - set_tests_properties(test_mkldnn_conv_affine_channel_fuse_pass - PROPERTIES TIMEOUT 60) - endif() + set_tests_properties(test_onednn_matmul_transpose_reshape_fuse_pass + PROPERTIES TIMEOUT 100) + set_tests_properties(test_conv_transpose_bn_fuse_pass PROPERTIES TIMEOUT + 300) + set_tests_properties(test_mkldnn_conv_hard_sigmoid_fuse_pass + PROPERTIES TIMEOUT 300) + set_tests_properties(test_mkldnn_conv_hard_swish_fuse_pass + PROPERTIES TIMEOUT 300) + set_tests_properties(test_onednn_batch_norm_act_fuse_pass PROPERTIES TIMEOUT + 100) + set_tests_properties(test_mkldnn_matmul_v2_transpose_reshape_fuse_pass + PROPERTIES TIMEOUT 100) + set_tests_properties(test_mkldnn_conv_transpose_bias_fuse_pass + PROPERTIES TIMEOUT 100) + set_tests_properties(test_mkldnn_conv_mish_fuse_pass PROPERTIES TIMEOUT 300) + set_tests_properties(test_onednn_fc_activation_fuse_pass PROPERTIES TIMEOUT + 300) + set_tests_properties(test_mkldnn_conv_affine_channel_fuse_pass + PROPERTIES TIMEOUT 60) endif() endif() +endif() From 4f614e7abe6993740e911a0c81ce228b96db1db0 Mon Sep 17 00:00:00 2001 From: xuxinyi04 Date: Wed, 20 Mar 2024 12:21:59 +0000 Subject: [PATCH 5/7] fix --- test/ir/inference/CMakeLists.txt | 111 ++++++++++++++++--------------- 1 file changed, 57 insertions(+), 54 deletions(-) diff --git a/test/ir/inference/CMakeLists.txt b/test/ir/inference/CMakeLists.txt index 2bed40ceca0b36..8423b6ecfb6dcf 100755 --- a/test/ir/inference/CMakeLists.txt +++ b/test/ir/inference/CMakeLists.txt @@ -258,63 +258,66 @@ if(WITH_GPU AND TENSORRT_FOUND) set_tests_properties(test_map_matmul_to_mul_pass PROPERTIES TIMEOUT 360) set_tests_properties(test_layernorm_shift_partition_pass PROPERTIES TIMEOUT 360) - elseif(WIN_UNITTEST_LEVEL EQUAL 0) - set_tests_properties(test_onednn_conv_bias_fuse_pass PROPERTIES TIMEOUT - 300) - set_tests_properties(test_onednn_conv_concat_activation_fuse_pass - PROPERTIES TIMEOUT 300) - set_tests_properties(test_onednn_multi_gru_fuse_pass PROPERTIES TIMEOUT - 120) - set_tests_properties(test_onednn_multi_gru_seq_fuse_pass - PROPERTIES TIMEOUT 120) + if(WIN_UNITTEST_LEVEL EQUAL 0) + set_tests_properties(test_onednn_conv_bias_fuse_pass PROPERTIES TIMEOUT + 300) + set_tests_properties(test_onednn_conv_concat_activation_fuse_pass + PROPERTIES TIMEOUT 300) + set_tests_properties(test_onednn_multi_gru_fuse_pass PROPERTIES TIMEOUT + 120) + set_tests_properties(test_onednn_multi_gru_seq_fuse_pass + PROPERTIES TIMEOUT 120) + endif() endif() - endif() - if(WIN32 AND WIN_UNITTEST_LEVEL GREATER 0) - message(STATUS "Skip tests unrelated to CUDA/TRT") - else() - set_tests_properties(test_matmul_scale_fuse_pass PROPERTIES TIMEOUT 60) - set_tests_properties(test_matmul_v2_scale_fuse_pass PROPERTIES TIMEOUT 60) - set_tests_properties(test_map_matmul_v2_to_matmul_pass PROPERTIES TIMEOUT - 120) - set_tests_properties(test_map_matmul_v2_to_mul_pass PROPERTIES TIMEOUT 120) - set_tests_properties(test_map_matmul_to_mul_pass PROPERTIES TIMEOUT 120) - set_tests_properties(test_element_groupnorm_act_fuse_pass PROPERTIES TIMEOUT + if(WIN32 AND WIN_UNITTEST_LEVEL GREATER 0) + message(STATUS "Skip tests unrelated to CUDA/TRT") + else() + set_tests_properties(test_matmul_scale_fuse_pass PROPERTIES TIMEOUT 60) + set_tests_properties(test_matmul_v2_scale_fuse_pass PROPERTIES TIMEOUT 60) + set_tests_properties(test_map_matmul_v2_to_matmul_pass PROPERTIES TIMEOUT + 120) + set_tests_properties(test_map_matmul_v2_to_mul_pass PROPERTIES TIMEOUT + 120) + set_tests_properties(test_map_matmul_to_mul_pass PROPERTIES TIMEOUT 120) + set_tests_properties(test_element_groupnorm_act_fuse_pass + PROPERTIES TIMEOUT 120) + set_tests_properties(test_preln_groupnorm_act_fuse_pass PROPERTIES TIMEOUT 120) - set_tests_properties(test_preln_groupnorm_act_fuse_pass PROPERTIES TIMEOUT - 120) - set_tests_properties(test_groupnorm_act_pass_fuse_pass PROPERTIES TIMEOUT + set_tests_properties(test_groupnorm_act_pass_fuse_pass PROPERTIES TIMEOUT + 120) + set_tests_properties(test_split_layernorm_to_math_ops_pass + PROPERTIES TIMEOUT 240) + set_tests_properties(test_onednn_conv_bn_fuse_pass PROPERTIES TIMEOUT 120) + set_tests_properties(test_onednn_conv_elementwise_add_fuse_pass + PROPERTIES TIMEOUT 120) + set_tests_properties(test_mkldnn_depthwise_conv_pass PROPERTIES TIMEOUT 120) - set_tests_properties(test_split_layernorm_to_math_ops_pass - PROPERTIES TIMEOUT 240) - set_tests_properties(test_onednn_conv_bn_fuse_pass PROPERTIES TIMEOUT 120) - set_tests_properties(test_onednn_conv_elementwise_add_fuse_pass - PROPERTIES TIMEOUT 120) - set_tests_properties(test_mkldnn_depthwise_conv_pass PROPERTIES TIMEOUT 120) - set_tests_properties(test_onednn_reshape_transpose_matmul_fuse_pass - PROPERTIES TIMEOUT 100) - set_tests_properties(test_mkldnn_mish_op PROPERTIES TIMEOUT 300) - set_tests_properties(test_mkldnn_conv3d_op PROPERTIES TIMEOUT 300) - set_tests_properties(test_mkldnn_prelu_op PROPERTIES TIMEOUT 300) + set_tests_properties(test_onednn_reshape_transpose_matmul_fuse_pass + PROPERTIES TIMEOUT 100) + set_tests_properties(test_mkldnn_mish_op PROPERTIES TIMEOUT 300) + set_tests_properties(test_mkldnn_conv3d_op PROPERTIES TIMEOUT 300) + set_tests_properties(test_mkldnn_prelu_op PROPERTIES TIMEOUT 300) - set_tests_properties(test_onednn_matmul_transpose_reshape_fuse_pass - PROPERTIES TIMEOUT 100) - set_tests_properties(test_conv_transpose_bn_fuse_pass PROPERTIES TIMEOUT - 300) - set_tests_properties(test_mkldnn_conv_hard_sigmoid_fuse_pass - PROPERTIES TIMEOUT 300) - set_tests_properties(test_mkldnn_conv_hard_swish_fuse_pass - PROPERTIES TIMEOUT 300) - set_tests_properties(test_onednn_batch_norm_act_fuse_pass PROPERTIES TIMEOUT - 100) - set_tests_properties(test_mkldnn_matmul_v2_transpose_reshape_fuse_pass - PROPERTIES TIMEOUT 100) - set_tests_properties(test_mkldnn_conv_transpose_bias_fuse_pass - PROPERTIES TIMEOUT 100) - set_tests_properties(test_mkldnn_conv_mish_fuse_pass PROPERTIES TIMEOUT 300) - set_tests_properties(test_onednn_fc_activation_fuse_pass PROPERTIES TIMEOUT - 300) - set_tests_properties(test_mkldnn_conv_affine_channel_fuse_pass - PROPERTIES TIMEOUT 60) + set_tests_properties(test_onednn_matmul_transpose_reshape_fuse_pass + PROPERTIES TIMEOUT 100) + set_tests_properties(test_conv_transpose_bn_fuse_pass PROPERTIES TIMEOUT + 300) + set_tests_properties(test_mkldnn_conv_hard_sigmoid_fuse_pass + PROPERTIES TIMEOUT 300) + set_tests_properties(test_mkldnn_conv_hard_swish_fuse_pass + PROPERTIES TIMEOUT 300) + set_tests_properties(test_onednn_batch_norm_act_fuse_pass + PROPERTIES TIMEOUT 100) + set_tests_properties(test_mkldnn_matmul_v2_transpose_reshape_fuse_pass + PROPERTIES TIMEOUT 100) + set_tests_properties(test_mkldnn_conv_transpose_bias_fuse_pass + PROPERTIES TIMEOUT 100) + set_tests_properties(test_mkldnn_conv_mish_fuse_pass PROPERTIES TIMEOUT + 300) + set_tests_properties(test_onednn_fc_activation_fuse_pass + PROPERTIES TIMEOUT 300) + set_tests_properties(test_mkldnn_conv_affine_channel_fuse_pass + PROPERTIES TIMEOUT 60) + endif() endif() endif() -endif() From 956a5e69cbbc0b5fc76ab54220d7c7c3154e5558 Mon Sep 17 00:00:00 2001 From: xuxinyi04 Date: Wed, 20 Mar 2024 13:37:19 +0000 Subject: [PATCH 6/7] fix --- test/ir/inference/CMakeLists.txt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/test/ir/inference/CMakeLists.txt b/test/ir/inference/CMakeLists.txt index 8423b6ecfb6dcf..08ef39aa82082d 100755 --- a/test/ir/inference/CMakeLists.txt +++ b/test/ir/inference/CMakeLists.txt @@ -268,9 +268,6 @@ if(WITH_GPU AND TENSORRT_FOUND) set_tests_properties(test_onednn_multi_gru_seq_fuse_pass PROPERTIES TIMEOUT 120) endif() - endif() - if(WIN32 AND WIN_UNITTEST_LEVEL GREATER 0) - message(STATUS "Skip tests unrelated to CUDA/TRT") else() set_tests_properties(test_matmul_scale_fuse_pass PROPERTIES TIMEOUT 60) set_tests_properties(test_matmul_v2_scale_fuse_pass PROPERTIES TIMEOUT 60) @@ -287,6 +284,10 @@ if(WITH_GPU AND TENSORRT_FOUND) 120) set_tests_properties(test_split_layernorm_to_math_ops_pass PROPERTIES TIMEOUT 240) + endif() + if(WIN32 AND WIN_UNITTEST_LEVEL GREATER 0) + message(STATUS "Skip tests unrelated to CUDA/TRT") + else() set_tests_properties(test_onednn_conv_bn_fuse_pass PROPERTIES TIMEOUT 120) set_tests_properties(test_onednn_conv_elementwise_add_fuse_pass PROPERTIES TIMEOUT 120) From c9a783fce599e4ae874368d18948a66c775bbc85 Mon Sep 17 00:00:00 2001 From: xuxinyi04 Date: Thu, 21 Mar 2024 06:17:26 +0000 Subject: [PATCH 7/7] modify_win_unittest_level --- paddle/scripts/paddle_build.bat | 12 ++++++------ test/CMakeLists.txt | 2 +- test/ir/CMakeLists.txt | 2 +- test/ir/inference/CMakeLists.txt | 6 +++--- tools/windows/run_unittests.sh | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/paddle/scripts/paddle_build.bat b/paddle/scripts/paddle_build.bat index 9179b8204ced3c..5d1e5deb955e08 100644 --- a/paddle/scripts/paddle_build.bat +++ b/paddle/scripts/paddle_build.bat @@ -82,12 +82,12 @@ if not defined WITH_SCCACHE set WITH_SCCACHE=OFF if not defined INFERENCE_DEMO_INSTALL_DIR set INFERENCE_DEMO_INSTALL_DIR=%cache_dir:\=/%/inference_demo if not defined LOG_LEVEL set LOG_LEVEL=normal if not defined PRECISION_TEST set PRECISION_TEST=OFF -if not defined WIN_UNITTEST_LEVEL set WIN_UNITTEST_LEVEL=0 -rem LEVEL 0: run all test +if not defined WIN_UNITTEST_LEVEL set WIN_UNITTEST_LEVEL=2 +rem LEVEL 0: For unittests unrelated to CUDA/TRT or unittests without GPU memory, only run on +rem PR-CI-Windows-Infernece(CUDA 11.2), skip them on PR-CI-Windows(CUDA 12.0) rem LEVEL 1: For unittests unrelated to CUDA/TRT, only run on PR-CI-Windows-Infernece(CUDA 11.2), -rem skip it on PR-CI-Windows(CUDA 12.0) -rem LEVEL 2: For unittests unrelated to CUDA/TRT or unittests without GPU memory, only run on -rem PR-CI-Windows-Infernece(CUDA 11.2), skip it on PR-CI-Windows(CUDA 12.0) +rem skip them on PR-CI-Windows(CUDA 12.0) +rem LEVEL 2: run all test if not defined NIGHTLY_MODE set NIGHTLY_MODE=OFF if not defined retry_times set retry_times=1 if not defined PYTHON_ROOT set PYTHON_ROOT=C:\Python38 @@ -250,7 +250,7 @@ set MSVC_STATIC_CRT=OFF set ON_INFER=ON set WITH_TENSORRT=ON set WITH_INFERENCE_API_TEST=OFF -set WIN_UNITTEST_LEVEL=2 +set WIN_UNITTEST_LEVEL=0 if not defined CUDA_ARCH_NAME set CUDA_ARCH_NAME=Auto call :cmake || goto cmake_error diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index d51929033d916d..535d685a30a98c 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -141,7 +141,7 @@ if(WITH_TESTING) add_subdirectory(ir/pir/cinn) endif() - if(WIN32 AND WIN_UNITTEST_LEVEL GREATER 0) + if(WIN32 AND WIN_UNITTEST_LEVEL LESS 2) message(STATUS "Skip tests unrelated to CUDA/TRT") else() add_subdirectory(amp) diff --git a/test/ir/CMakeLists.txt b/test/ir/CMakeLists.txt index 039682b4889478..134783e11c35db 100644 --- a/test/ir/CMakeLists.txt +++ b/test/ir/CMakeLists.txt @@ -10,7 +10,7 @@ if(((NOT WITH_GPU) AND (NOT WITH_ROCM)) list(REMOVE_ITEM TEST_IR_PASSES test_ir_fusion_group_pass) endif() -if(WIN32 AND WIN_UNITTEST_LEVEL GREATER 0) +if(WIN32 AND WIN_UNITTEST_LEVEL LESS 2) message(STATUS "Skip tests unrelated to CUDA/TRT") else() foreach(target ${TEST_IR_PASSES}) diff --git a/test/ir/inference/CMakeLists.txt b/test/ir/inference/CMakeLists.txt index 08ef39aa82082d..05dfc5c6fa53e1 100755 --- a/test/ir/inference/CMakeLists.txt +++ b/test/ir/inference/CMakeLists.txt @@ -114,7 +114,7 @@ foreach(TEST_INFERENCE_IR_PASS ${TEST_ONEDNN_IR_PASSES}) list(REMOVE_ITEM TEST_INFERENCE_IR_PASSES ${TEST_INFERENCE_IR_PASS}) endforeach() -if(WIN32 AND WIN_UNITTEST_LEVEL GREATER 0) +if(WIN32 AND WIN_UNITTEST_LEVEL LESS 2) message(STATUS "Skip tests unrelated to CUDA/TRT") elseif(WITH_MKLDNN) foreach(target ${TEST_MKLDNN_IR_PASSES}) @@ -258,7 +258,7 @@ if(WITH_GPU AND TENSORRT_FOUND) set_tests_properties(test_map_matmul_to_mul_pass PROPERTIES TIMEOUT 360) set_tests_properties(test_layernorm_shift_partition_pass PROPERTIES TIMEOUT 360) - if(WIN_UNITTEST_LEVEL EQUAL 0) + if(WIN_UNITTEST_LEVEL EQUAL 2) set_tests_properties(test_onednn_conv_bias_fuse_pass PROPERTIES TIMEOUT 300) set_tests_properties(test_onednn_conv_concat_activation_fuse_pass @@ -285,7 +285,7 @@ if(WITH_GPU AND TENSORRT_FOUND) set_tests_properties(test_split_layernorm_to_math_ops_pass PROPERTIES TIMEOUT 240) endif() - if(WIN32 AND WIN_UNITTEST_LEVEL GREATER 0) + if(WIN32 AND WIN_UNITTEST_LEVEL LESS 2) message(STATUS "Skip tests unrelated to CUDA/TRT") else() set_tests_properties(test_onednn_conv_bn_fuse_pass PROPERTIES TIMEOUT 120) diff --git a/tools/windows/run_unittests.sh b/tools/windows/run_unittests.sh index 57913014a4e499..e660bee55069b0 100644 --- a/tools/windows/run_unittests.sh +++ b/tools/windows/run_unittests.sh @@ -702,7 +702,7 @@ export FLAGS_call_stack_level=2 if [ "${WITH_GPU:-OFF}" == "ON" ];then single_ut_mem_0_startTime_s=`date +%s` - if [ ${WIN_UNITTEST_LEVEL:-0} == "2" ]; then + if [ ${WIN_UNITTEST_LEVEL:-2} == "0" ]; then echo "ipipe_log_param_1_mem_0_TestCases_Total_Time: 0 s" else while read line