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

[infrt]Add gpu compile method (#41463)

上级 e4459a40
......@@ -9,6 +9,10 @@ option(INFRT_WITH_TRT "Compile INFRT with TensorRT" OFF)
#TODO(xiaowei) remove fluid
include_directories(${PADDLE_SOURCE_DIR}/paddle/fluid/platform)
if(WITH_GPU)
set(INFRT_WITH_GPU ON)
endif()
if (INFRT_WITH_PHI)
add_definitions("-DINFRT_WITH_PHI")
......
......@@ -20,6 +20,9 @@
set -e
# TARGET: CPU/GPU/TensorRt
TARGET=GPU
if [ -z ${BRANCH} ]; then
BRANCH="develop"
fi
......@@ -32,7 +35,13 @@ function update_pd_ops() {
# compile and install paddle
rm -rf ${PADDLE_ROOT}/build && mkdir -p ${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
cd ${PADDLE_ROOT}/build
./paddle/phi/tools/print_pten_kernels > ../tools/infrt/kernels.json
......@@ -94,7 +103,13 @@ function infrt_gen_and_build() {
# step2. compile infrt
cd ${PADDLE_ROOT}/build
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
exit 7;
fi
......@@ -157,28 +172,34 @@ function main() {
echo " (2)bash infrt_build.sh build_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 " --target= : GPU/gpu/CPU/cpu/TensorRt/tensorrt, default value is GPU."
exit 0
fi
init
case $CMD in
build_and_test)
infrt_gen_and_build ${parallel_number}
test_infrt
;;
build_only)
infrt_gen_and_build ${parallel_number}
;;
test_only)
test_infrt
;;
*)
print_usage
exit 1
;;
esac
for i in "$@"; do
case $i in
--target=*)
TARGET="${i#*=}"
shift
;;
build_and_test)
infrt_gen_and_build ${parallel_number}
test_infrt
;;
build_only)
infrt_gen_and_build ${parallel_number}
;;
test_only)
test_infrt
;;
*)
print_usage
exit 1
;;
esac
done
set +x
if [[ -f ${PADDLE_ROOT}/build/infrt_summary.txt ]];then
echo "=====================build summary======================"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册