# GPU部署库编译 FastDeploy当前在GPU环境支持Paddle Inference、ONNX Runtime和TensorRT,但同时在Linux&Windows的GPU环境也同时支持CPU硬件,因此编译时也可以同步将CPU的推理后端OpenVINO编译集成 | 后端 | 平台 | 支持模型格式 | 说明 | | :--- | :---- | :----------- | :--- | | Paddle Inference | Windows(x64)
Linux(x64) | Paddle | 同时支持CPU/GPU,编译开关`ENABLE_PADDLE_BACKEND`为ON或OFF控制, 默认OFF | | ONNX Runtime | Windows(x64)
Linux(x64/aarch64)
Mac(x86/arm64) | Paddle/ONNX | 同时支持CPU/GPU,编译开关`ENABLE_ORT_BACKEND`为ON或OFF控制,默认OFF | | TensorRT | Windows(x64)
Linux(x64) | Paddle/ONNX | 仅支持GPU,编译开关`ENABLE_TRT_BACKEND`为ON或OFF控制,默认OFF | | OpenVINO | Windows(x64)
Linux(x64) | Paddle/ONNX | 仅支持CPU,编译开关`ENABLE_OPENVINO_BACKEND`为ON或OFF控制,默认OFF | 注意编译GPU环境时,需额外指定`WITH_GPU`为ON,设定`CUDA_DIRECTORY`,如若需集成TensorRT,还需同时设定`TRT_DIRECTORY` ## C++ SDK编译安装 ### Linux Linux上编译需满足 - gcc/g++ >= 5.4(推荐8.2) - cmake >= 3.18.0 - cuda >= 11.2 - cudnn >= 8.2 ```bash git clone https://github.com/PaddlePaddle/FastDeploy.git cd FastDeploy mkdir build && cd build cmake .. -DENABLE_ORT_BACKEND=ON \ -DENABLE_PADDLE_BACKEND=ON \ -DENABLE_OPENVINO_BACKEND=ON \ -DENABLE_TRT_BACKEND=ON \ -DWITH_GPU=ON \ -DTRT_DIRECTORY=/Paddle/TensorRT-8.4.1.5 \ -DCUDA_DIRECTORY=/usr/local/cuda \ -DCMAKE_INSTALL_PREFIX=${PWD}/compiled_fastdeploy_sdk \ -DENABLE_VISION=ON \ -DENABLE_TEXT=ON make -j12 make install ``` ### Windows Windows编译需要满足条件 - Windows 10/11 x64 - Visual Studio 2019 - cuda >= 11.2 - cudnn >= 8.2 注意:安装CUDA时需要勾选`Visual Studio Integration`, 或者手动将`C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\visual_studio_integration\MSBuildExtensions\`文件夹下的4个文件复制到`C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations\`文件夹。否则执行cmake命令时可能会遇到`No CUDA toolset found`报错。 在Windows菜单中,找到`x64 Native Tools Command Prompt for VS 2019`打开,执行如下命令 ```bat git clone https://github.com/PaddlePaddle/FastDeploy.git cd FastDeploy mkdir build && cd build cmake .. -G "Visual Studio 16 2019" -A x64 ^ -DENABLE_ORT_BACKEND=ON ^ -DENABLE_PADDLE_BACKEND=ON ^ -DENABLE_OPENVINO_BACKEND=ON ^ -DENABLE_TRT_BACKEND=ON ^ -DENABLE_VISION=ON ^ -DENABLE_TEXT=ON ^ -DWITH_GPU=ON ^ -DTRT_DIRECTORY="D:\Paddle\TensorRT-8.4.1.5" ^ -DCUDA_DIRECTORY="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2" ^ -DCMAKE_INSTALL_PREFIX="D:\Paddle\compiled_fastdeploy" msbuild fastdeploy.sln /m /p:Configuration=Release /p:Platform=x64 msbuild INSTALL.vcxproj /m /p:Configuration=Release /p:Platform=x64 ``` 编译完成后,即在`CMAKE_INSTALL_PREFIX`指定的目录下生成C++推理库 如您使用CMake GUI可参考文档[Windows使用CMakeGUI + Visual Studio 2019 IDE编译](../faq/build_on_win_with_gui.md) ## Python编译安装 ### Linux 编译过程需要满足 - gcc/g++ >= 5.4(推荐8.2) - cmake >= 3.18.0 - python >= 3.6 - cuda >= 11.2 - cudnn >= 8.2 Python打包依赖`wheel`,编译前请先执行`pip install wheel` 所有编译选项通过环境变量导入 ```bash git clone https://github.com/PaddlePaddle/FastDeploy.git cd FastDeploy/python export ENABLE_ORT_BACKEND=ON export ENABLE_PADDLE_BACKEND=ON export ENABLE_OPENVINO_BACKEND=ON export ENABLE_VISION=ON export ENABLE_TEXT=ON export ENABLE_TRT_BACKEND=ON export WITH_GPU=ON export TRT_DIRECTORY=/Paddle/TensorRT-8.4.1.5 export CUDA_DIRECTORY=/usr/local/cuda python setup.py build python setup.py bdist_wheel ``` ### Windows 编译过程同样需要满足 - Windows 10/11 x64 - Visual Studio 2019 - python >= 3.6 - cuda >= 11.2 - cudnn >= 8.2 在Windows菜单中,找到`x64 Native Tools Command Prompt for VS 2019`打开,执行如下命令 ```bat git clone https://github.com/PaddlePaddle/FastDeploy.git cd FastDeploy/python set ENABLE_ORT_BACKEND=ON set ENABLE_PADDLE_BACKEND=ON set ENABLE_OPENVINO_BACKEND=ON set ENABLE_VISION=ON set ENABLE_TEXT=ON set ENABLE_TRT_BACKEND=ON set WITH_GPU=ON set TRT_DIRECTORY=D:\Paddle\TensorRT-8.4.1.5 set CUDA_DIRECTORY=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2 python setup.py build python setup.py bdist_wheel ``` 编译完成即会在`FastDeploy/python/dist`目录下生成编译后的`wheel`包,直接pip install即可 编译过程中,如若修改编译参数,为避免带来缓存影响,可删除`FastDeploy/python`目录下的`build`和`.setuptools-cmake-build`两个子目录后再重新编译