未验证 提交 aadeff53 编写于 作者: H huzhiqiang 提交者: GitHub

[infrt]Add gpu compile method (#41463)

上级 e4459a40
...@@ -9,6 +9,10 @@ option(INFRT_WITH_TRT "Compile INFRT with TensorRT" OFF) ...@@ -9,6 +9,10 @@ option(INFRT_WITH_TRT "Compile INFRT with TensorRT" OFF)
#TODO(xiaowei) remove fluid #TODO(xiaowei) remove fluid
include_directories(${PADDLE_SOURCE_DIR}/paddle/fluid/platform) include_directories(${PADDLE_SOURCE_DIR}/paddle/fluid/platform)
if(WITH_GPU)
set(INFRT_WITH_GPU ON)
endif()
if (INFRT_WITH_PHI) if (INFRT_WITH_PHI)
add_definitions("-DINFRT_WITH_PHI") add_definitions("-DINFRT_WITH_PHI")
......
...@@ -20,6 +20,9 @@ ...@@ -20,6 +20,9 @@
set -e set -e
# TARGET: CPU/GPU/TensorRt
TARGET=GPU
if [ -z ${BRANCH} ]; then if [ -z ${BRANCH} ]; then
BRANCH="develop" BRANCH="develop"
fi fi
...@@ -32,7 +35,13 @@ function update_pd_ops() { ...@@ -32,7 +35,13 @@ function update_pd_ops() {
# compile and install paddle # compile and install paddle
rm -rf ${PADDLE_ROOT}/build && mkdir -p ${PADDLE_ROOT}/build rm -rf ${PADDLE_ROOT}/build && mkdir -p ${PADDLE_ROOT}/build
cd ${PADDLE_ROOT}/build cd ${PADDLE_ROOT}/build
cmake .. -DWITH_PYTHON=ON -DWITH_MKL=OFF -DWITH_GPU=OFF -DPYTHON_EXECUTABLE=`which python3` -DWITH_XBYAK=OFF -DWITH_NCCL=OFF -DWITH_RCCL=OFF -DWITH_CRYPTO=OFF
INFER_WITH_GPU=OFF
if [ "${TARGET}" == "GPU" ] || [ "${TARGET}" == "gpu" ] || [ "${TARGET}" == "TensorRt" ] || [ "${TARGET}" == "tensorrt" ]; then
INFER_WITH_GPU=ON
fi
cmake .. -DWITH_PYTHON=ON -DWITH_MKL=OFF -DWITH_GPU=$INFER_WITH_GPU -DPYTHON_EXECUTABLE=`which python3` -DWITH_XBYAK=OFF -DWITH_NCCL=OFF -DWITH_RCCL=OFF -DWITH_CRYPTO=OFF
make -j24 paddle_python print_pten_kernels kernel_signature_generator make -j24 paddle_python print_pten_kernels kernel_signature_generator
cd ${PADDLE_ROOT}/build cd ${PADDLE_ROOT}/build
./paddle/phi/tools/print_pten_kernels > ../tools/infrt/kernels.json ./paddle/phi/tools/print_pten_kernels > ../tools/infrt/kernels.json
...@@ -94,7 +103,13 @@ function infrt_gen_and_build() { ...@@ -94,7 +103,13 @@ function infrt_gen_and_build() {
# step2. compile infrt # step2. compile infrt
cd ${PADDLE_ROOT}/build cd ${PADDLE_ROOT}/build
rm -f infrt_summary.txt rm -f infrt_summary.txt
cmake .. -DWITH_MKL=OFF -DWITH_GPU=ON -DWITH_TENSORRT=ON -DWITH_CRYPTO=OFF -DCMAKE_BUILD_TYPE=Release -DWITH_INFRT=ON -DINFRT_WITH_GPU=ON -DINFRT_WITH_TRT=ON -DWITH_PYTHON=OFF -DWITH_TESTING==${WITH_TESTING:-ON}; build_error=$?
INFER_WITH_GPU=OFF
if [ "${TARGET}" == "GPU" ] || [ "${TARGET}" == "gpu" ] || [ "${TARGET}" == "TensorRt" ]; then
INFER_WITH_GPU=ON
fi
cmake .. -DWITH_MKL=OFF -DWITH_GPU=${INFER_WITH_GPU} -DWITH_TENSORRT=ON -DWITH_CRYPTO=OFF -DCMAKE_BUILD_TYPE=Release -DWITH_INFRT=ON -DINFRT_WITH_GPU=ON -DINFRT_WITH_TRT=ON -DWITH_PYTHON=OFF -DWITH_TESTING==${WITH_TESTING:-ON}; build_error=$?
if [ "$build_error" != 0 ];then if [ "$build_error" != 0 ];then
exit 7; exit 7;
fi fi
...@@ -157,28 +172,34 @@ function main() { ...@@ -157,28 +172,34 @@ function main() {
echo " (2)bash infrt_build.sh build_only" echo " (2)bash infrt_build.sh build_only"
echo " (3)bash infrt_build.sh test_only" echo " (3)bash infrt_build.sh test_only"
echo " optional command: --update_pd_ops : pd_ops.td will be updated according to paddle's code." echo " optional command: --update_pd_ops : pd_ops.td will be updated according to paddle's code."
echo " --target= : GPU/gpu/CPU/cpu/TensorRt/tensorrt, default value is GPU."
exit 0 exit 0
fi fi
init init
case $CMD in for i in "$@"; do
build_and_test) case $i in
infrt_gen_and_build ${parallel_number} --target=*)
test_infrt TARGET="${i#*=}"
;; shift
build_only) ;;
infrt_gen_and_build ${parallel_number} build_and_test)
;; infrt_gen_and_build ${parallel_number}
test_only) test_infrt
test_infrt ;;
;; build_only)
*) infrt_gen_and_build ${parallel_number}
print_usage ;;
exit 1 test_only)
;; test_infrt
esac ;;
*)
print_usage
exit 1
;;
esac
done
set +x set +x
if [[ -f ${PADDLE_ROOT}/build/infrt_summary.txt ]];then if [[ -f ${PADDLE_ROOT}/build/infrt_summary.txt ]];then
echo "=====================build summary======================" echo "=====================build summary======================"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册