diff --git a/paddle/scripts/paddle_build.sh b/paddle/scripts/paddle_build.sh index 2cc4bd8d05fb8c399d0e0eaec8c255007b7424b5..9bdd9e14d58dc9b5d3970e322577c19ce2d89201 100755 --- a/paddle/scripts/paddle_build.sh +++ b/paddle/scripts/paddle_build.sh @@ -2388,6 +2388,21 @@ function find_temporary_files() { fi } +function build_pr_and_develop() { + cmake_gen_and_build ${PYTHON_ABI:-""} ${parallel_number} + mkdir ${PADDLE_ROOT}/build/pr_whl && cp ${PADDLE_ROOT}/build/python/dist/*.whl ${PADDLE_ROOT}/build/pr_whl + rm -f ${PADDLE_ROOT}/build/python/dist/*.whl && rm -f ${PADDLE_ROOT}/build/python/build/.timestamp + rm -rf ${PADDLE_ROOT}/build/Makefile ${PADDLE_ROOT}/build/CMakeCache.txt + cmake_change=`git diff --name-only upstream/$BRANCH | grep "cmake/external" || true` + if [ ${cmake_change} ];then + rm -rf ${PADDLE_ROOT}/build/third_party + fi + git checkout . + git checkout -b develop_base_pr upstream/$BRANCH + cmake_gen_and_build ${PYTHON_ABI:-""} ${parallel_number} + mkdir ${PADDLE_ROOT}/build/dev_whl && cp ${PADDLE_ROOT}/build/python/dist/*.whl ${PADDLE_ROOT}/build/dev_whl +} + function main() { local CMD=$1 @@ -2397,6 +2412,9 @@ function main() { build_only) cmake_gen_and_build ${PYTHON_ABI:-""} ${parallel_number} ;; + build_pr_dev) + build_pr_and_develop + ;; build_and_check) set +e check_style_info=$(check_style) diff --git a/tools/ci_model_benchmark.sh b/tools/ci_model_benchmark.sh new file mode 100644 index 0000000000000000000000000000000000000000..574169869376a0e54b5db75b32c80403436a5888 --- /dev/null +++ b/tools/ci_model_benchmark.sh @@ -0,0 +1,104 @@ +#!/bin/bash + +# 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. + + +function check_whl { + pip uninstall -y paddlepaddle_gpu + pip install build/pr_whl/*.whl + [ $? -ne 0 ] && echo "install paddle failed." && exit 1 + + unzip -q build/pr_whl/*.whl -d /tmp/pr + unzip -q build/dev_whl/*.whl -d /tmp/develop + + sed -i '/version.py/d' /tmp/pr/*/RECORD + sed -i '/version.py/d' /tmp/develop/*/RECORD + diff_whl=`diff /tmp/pr/*/RECORD /tmp/develop/*/RECORD|wc -l` + [ $? -ne 0 ] && echo "diff paddle whl failed." && exit 1 + if [ ${diff_whl} -eq 0 ];then + echo "paddle whl does not diff in PR-CI-Model-benchmark, so skip this ci" + echo "ipipe_log_param_isSkipTest_model_benchmark: 1" + echo "cpu_benchmark=ON" >${cfs_dir}/model_benchmark/${AGILE_PULL_ID}/${AGILE_REVISION}/pass.txt + exit 0 + else + echo "ipipe_log_param_isSkipTest_model_benchmark: 0" + fi +} + + +function compile_install_paddle { + export CUDA_ARCH_NAME=${CUDA_ARCH_NAME:-Auto} + export PY_VERSION=3.7 + export WITH_DISTRIBUTE=ON + export WITH_GPU=ON + export WITH_TENSORRT=OFF + export WITH_TESTING=OFF + export WITH_UNITY_BUILD=ON + check_whl + cd /workspace/Paddle + git clone --depth=1 https://github.com/paddlepaddle/benchmark.git + cd benchmark + set +x + wget -q --no-proxy https://xly-devops.bj.bcebos.com/benchmark/new_clone/benchmark/benchmark_allgit.tar.gz + tar xf benchmark_allgit.tar.gz + set -x +} + +function init_benchmark { + cd /workspace/Paddle/benchmark + git clone PaddleClas.bundle PaddleClas + +} + +function prepare_data { + cd ${cache_dir} + if [ -d "benchmark_data" ];then + echo -e "benchmark_data exist!" + else + mkdir benchmark_data && cd benchmark_data + mkdir dataset && cd dataset + wget --no-proxy -q https://paddle-qa.bj.bcebos.com/benchmark_data/Bert.zip + unzip Bert.zip + wget --no-proxy -q https://paddle-qa.bj.bcebos.com/benchmark_data/imagenet100_data.zip + unzip imagenet100_data.zip + fi +} + +function run_model_benchmark { + cd /workspace/Paddle + pip install build/pr_whl/*.whl + cd ${cache_dir}/benchmark_data + export data_path=${cfs_dir}/model_dataset/model_benchmark_data + export prepare_path=${cfs_dir}/model_dataset/model_benchmark_prepare + export BENCHMARK_ROOT=/workspace/Paddle/benchmark + cd ${BENCHMARK_ROOT}/scripts/benchmark_ci + bash model_ci.sh +} + +case $1 in + whl_check) + compile_install_paddle + ;; + run_benchmark) + init_benchmark + prepare_data + run_model_benchmark + ;; + run_all) + compile_install_paddle + prepare_data + run_model_benchmark + ;; +esac