|  | 
|  | 1 | +安装与编译C++预测库 | 
|  | 2 | +=========================== | 
|  | 3 | + | 
|  | 4 | +直接下载安装 | 
|  | 5 | +------------- | 
|  | 6 | + | 
|  | 7 | +====================== ======================================== | 
|  | 8 | +版本说明 C++预测库  | 
|  | 9 | +====================== ======================================== | 
|  | 10 | +cpu_avx_mkl `fluid.tgz <https://guest:@paddleci.ngrok.io/repository/download/Manylinux1_CpuAvxCp27cp27mu/.lastSuccessful/fluid.tgz>`_  | 
|  | 11 | +cpu_avx_openblas `fluid.tgz <https://guest:@paddleci.ngrok.io/repository/download/Manylinux1_CpuAvxOpenblas/.lastSuccessful/fluid.tgz>`_ | 
|  | 12 | +cpu_noavx_openblas `fluid.tgz <https://guest:@paddleci.ngrok.io/repository/download/Manylinux1_CpuNoavxOpenblas/.lastSuccessful/fluid.tgz>`_ | 
|  | 13 | +cuda7.5_cudnn5_avx_mkl `fluid.tgz <https://guest:@paddleci.ngrok.io/repository/download/Manylinux1_Cuda75cudnn5cp27cp27mu/.lastSuccessful/fluid.tgz>`_ | 
|  | 14 | +cuda8.0_cudnn5_avx_mkl `fluid.tgz <https://guest:@paddleci.ngrok.io/repository/download/Manylinux1_Cuda80cudnn5cp27cp27mu/.lastSuccessful/fluid.tgz>`_ | 
|  | 15 | +cuda8.0_cudnn7_avx_mkl `fluid.tgz <https://guest:@paddleci.ngrok.io/repository/download/Manylinux1_Cuda8cudnn7cp27cp27mu/.lastSuccessful/fluid.tgz>`_ | 
|  | 16 | +====================== ======================================== | 
|  | 17 | + | 
|  | 18 | +从源码编译 | 
|  | 19 | +---------- | 
|  | 20 | +用户也可以从 PaddlePaddle 核心代码编译C++预测库,只需在编译时配制下面这些编译选项: | 
|  | 21 | + | 
|  | 22 | +================= ========= | 
|  | 23 | +选项 值  | 
|  | 24 | +================= ========= | 
|  | 25 | +CMAKE_BUILD_TYPE Release | 
|  | 26 | +FLUID_INSTALL_DIR 安装路径  | 
|  | 27 | +WITH_FLUID_ONLY ON(推荐) | 
|  | 28 | +WITH_SWIG_PY OFF(推荐 | 
|  | 29 | +WITH_PYTHON OFF(推荐) | 
|  | 30 | +WITH_GPU ON/OFF | 
|  | 31 | +WITH_MKL ON/OFF | 
|  | 32 | +================= ========= | 
|  | 33 | + | 
|  | 34 | +建议按照推荐值设置,以避免链接不必要的库。其它可选编译选项按需进行设定。 | 
|  | 35 | + | 
|  | 36 | +下面的代码片段从github拉取最新代码,配制编译选项(需要将PADDLE_ROOT替换为PaddlePaddle预测库的安装路径): | 
|  | 37 | + | 
|  | 38 | + .. code-block:: bash | 
|  | 39 | +
 | 
|  | 40 | + pip install paddlepaddle-gpu | 
|  | 41 | + PADDLE_ROOT=/path/of/capi | 
|  | 42 | + git clone https://github.com/PaddlePaddle/Paddle.git | 
|  | 43 | + cd Paddle | 
|  | 44 | + mkdir build | 
|  | 45 | + cd build | 
|  | 46 | + cmake -DFLUID_INSTALL_DIR=$PADDLE_ROOT \ | 
|  | 47 | + -DCMAKE_BUILD_TYPE=Release \ | 
|  | 48 | + -DWITH_FLUID_ONLY=ON \ | 
|  | 49 | + -DWITH_SWIG_PY=OFF \ | 
|  | 50 | + -DWITH_PYTHON=OFF \ | 
|  | 51 | + -DWITH_MKL=OFF \ | 
|  | 52 | + -DWITH_GPU=OFF \ | 
|  | 53 | + .. | 
|  | 54 | + make | 
|  | 55 | + make inference_lib_dist | 
|  | 56 | +
 | 
|  | 57 | +成功编译后,使用C++预测库所需的依赖(包括:(1)编译出的PaddlePaddle预测库和头文件;(2)第三方链接库和头文件;(3)版本信息与编译选项信息) | 
|  | 58 | +均会存放于PADDLE_ROOT目录中。目录结构如下: | 
|  | 59 | + | 
|  | 60 | + .. code-block:: text | 
|  | 61 | +
 | 
|  | 62 | + PaddleRoot/ | 
|  | 63 | + ├── CMakeCache.txt | 
|  | 64 | + ├── paddle | 
|  | 65 | + │   └── fluid | 
|  | 66 | + │   ├── framework | 
|  | 67 | + │   ├── inference | 
|  | 68 | + │   ├── memory | 
|  | 69 | + │   ├── platform | 
|  | 70 | + │   ├── pybind | 
|  | 71 | + │   └── string | 
|  | 72 | + ├── third_party | 
|  | 73 | + │   ├── boost | 
|  | 74 | + │   │   └── boost | 
|  | 75 | + │   ├── eigen3 | 
|  | 76 | + │   │   ├── Eigen | 
|  | 77 | + │   │   └── unsupported | 
|  | 78 | + │   └── install | 
|  | 79 | + │   ├── gflags | 
|  | 80 | + │   ├── glog | 
|  | 81 | + │   ├── mklml | 
|  | 82 | + │   ├── protobuf | 
|  | 83 | + │   ├── snappy | 
|  | 84 | + │   ├── snappystream | 
|  | 85 | + │   └── zlib | 
|  | 86 | + └── version.txt | 
|  | 87 | +  | 
|  | 88 | +version.txt 中记录了该预测库的版本信息,包括Git Commit ID、使用OpenBlas或MKL数学库、CUDA/CUDNN版本号,如: | 
|  | 89 | + | 
|  | 90 | + .. code-block:: text | 
|  | 91 | +
 | 
|  | 92 | + GIT COMMIT ID: c95cd4742f02bb009e651a00b07b21c979637dc8 | 
|  | 93 | + WITH_MKL: ON | 
|  | 94 | + WITH_GPU: ON | 
|  | 95 | + CUDA version: 8.0 | 
|  | 96 | + CUDNN version: v5 | 
0 commit comments