_build_cpp.sh 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #!/bin/bash
  2. set -e
  3. # deal cmd input
  4. while [[ "$#" -gt 0 ]]; do
  5. case "$1" in
  6. --with-gpu) WITH_GPU="$2"; shift ;;
  7. --enable-benchmark) ENABLE_BENCHMARK="$2"; shift ;;
  8. --enable-ort-backend) ENABLE_ORT_BACKEND="$2"; shift ;;
  9. --enable-openvino-backend) ENABLE_OPENVINO_BACKEND="$2"; shift ;;
  10. --enable-trt-backend) ENABLE_TRT_BACKEND="$2"; shift ;;
  11. --trt-directory) TRT_DIRECTORY="$2"; shift ;;
  12. *) echo "Unknown parameter passed: $1"; exit 1 ;;
  13. esac
  14. shift
  15. done
  16. export DEBIAN_FRONTEND='noninteractive'
  17. export TZ='Asia/Shanghai'
  18. export CC=/usr/local/gcc-8.2/bin/gcc
  19. export CXX=/usr/local/gcc-8.2/bin/g++
  20. cd /workspace/ultra-infer
  21. wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
  22. yum clean all
  23. yum makecache
  24. yum install -y patchelf rapidjson-devel
  25. ln -sf /opt/_internal/cpython-3.10.0/bin/python3.10 /usr/bin/python
  26. ln -sf /opt/_internal/cpython-3.10.0/bin/pip3.10 /usr/bin/pip
  27. export LD_LIBRARY_PATH=/opt/_internal/cpython-3.10.0/lib:${LD_LIBRARY_PATH}
  28. export PATH=/opt/_internal/cpython-3.10.0/bin:${PATH}
  29. if [ "$ENABLE_TRT_BACKEND" = "ON" ] && [ "$TRT_DIRECTORY" = "Default" ]; then
  30. TRT_VERSION='8.6.1.6'
  31. CUDA_VERSION='11.8'
  32. rm -rf "TensorRT-${TRT_VERSION}" "TensorRT-${TRT_VERSION}.Linux.x86_64-gnu.cuda-${CUDA_VERSION}.tar.gz"
  33. http_proxy= https_proxy= wget "https://fastdeploy.bj.bcebos.com/resource/TensorRT/TensorRT-${TRT_VERSION}.Linux.x86_64-gnu.cuda-${CUDA_VERSION}.tar.gz"
  34. tar -xzvf "TensorRT-${TRT_VERSION}.Linux.x86_64-gnu.cuda-${CUDA_VERSION}.tar.gz"
  35. TRT_DIRECTORY="/workspace/ultra-infer/TensorRT-${TRT_VERSION}"
  36. fi
  37. (
  38. cd /workspace/ultra-infer
  39. rm -rf build && mkdir build && cd build
  40. unset http_proxy https_proxy
  41. cmake \
  42. -DLIBRARY_NAME='ultra_infer_runtime' \
  43. -DCMAKE_INSTALL_PREFIX="${PWD}/ultra_infer_install" \
  44. -DWITH_GPU="${WITH_GPU}" \
  45. -DENABLE_TRT_BACKEND="${ENABLE_TRT_BACKEND}" \
  46. -DTRT_DIRECTORY="${TRT_DIRECTORY}" \
  47. -DENABLE_ORT_BACKEND="${ENABLE_ORT_BACKEND}" \
  48. -DENABLE_PADDLE_BACKEND=OFF \
  49. -DENABLE_OPENVINO_BACKEND="${ENABLE_OPENVINO_BACKEND}" \
  50. -DENABLE_VISION=OFF \
  51. -DENABLE_TEXT=OFF \
  52. -DBUILD_ULTRAINFER_PYTHON=OFF \
  53. -DBUILD_FD_TRITON_BACKEND=ON \
  54. -DENABLE_BENCHMARK="${ENABLE_BENCHMARK}" \
  55. ..
  56. make -j"$(nproc)"
  57. make install
  58. )