5.6 KiB
Installing from Sources
Download and Setup
You can download PaddlePaddle from the github source.
git clone https://github.com/PaddlePaddle/Paddle paddle
cd paddle
Requirements
To compile the source code, your computer must be equipped with the following dependencies.
- Compiler: GCC >= 4.8 or Clang >= 3.3 (AppleClang >= 5.1)
- CMake: version >= 3.0 (at least CMake 3.4 on Mac OS X)
- BLAS: MKL, OpenBlas or ATLAS
Note: For CUDA 7.0 and CUDA 7.5, GCC 5.0 and up are not supported! For CUDA 8.0, GCC versions later than 5.3 are not supported!
Options
PaddlePaddle supports some build options.
<html>Optional | Description |
---|---|
WITH_GPU | Compile PaddlePaddle with NVIDIA GPU |
WITH_AVX | Compile PaddlePaddle with AVX intrinsics |
WITH_DSO | Compile PaddlePaddle with dynamic linked CUDA |
WITH_TESTING | Compile PaddlePaddle with unit testing |
WITH_SWIG_PY | Compile PaddlePaddle with inference api |
WITH_STYLE_CHECK | Compile PaddlePaddle with style check |
WITH_PYTHON | Compile PaddlePaddle with python interpreter |
WITH_DOUBLE | Compile PaddlePaddle with double precision |
WITH_RDMA | Compile PaddlePaddle with RDMA support |
WITH_TIMER | Compile PaddlePaddle with stats timer |
WITH_PROFILER | Compile PaddlePaddle with GPU profiler |
WITH_DOC | Compile PaddlePaddle with documentation |
ON_COVERALLS | Compile PaddlePaddle with code coverage |
COVERALLS_UPLOAD | Package code coverage data to coveralls |
ON_TRAVIS | Exclude special unit test on Travis CI |
Note:
- The GPU version works best with Cuda Toolkit 8.0 and cuDNN v5.
- Other versions like Cuda Toolkit 7.0, 7.5 and cuDNN v3, v4 are also supported.
- To utilize cuDNN v5, Cuda Toolkit 7.5 is prerequisite and vice versa.
As a simple example, consider the following:
-
BLAS Dependencies(optional)
Paddle will find BLAS from system's default path. But you can specify MKL, OpenBLAS or ATLAS via
MKL_ROOT
,OPENBLAS_ROOT
orATLAS_ROOT
.# specify MKL cmake .. -DMKL_ROOT=<mkl_path> # or specify OpenBLAS cmake .. -DOPENBLAS_ROOT=<openblas_path>
-
Doc Dependencies(optional)
To generate PaddlePaddle's documentation, install dependencies and set
-DWITH_DOC=ON
as follows:pip install 'sphinx>=1.4.0' pip install sphinx_rtd_theme recommonmark # install doxygen on Ubuntu sudo apt-get install doxygen # install doxygen on Mac OS X brew install doxygen # active docs in cmake cmake .. -DWITH_DOC=ON`
Build on Ubuntu 14.04
Install Dependencies
-
CPU Dependencies
# necessary sudo apt-get update sudo apt-get install -y g++ make cmake build-essential libatlas-base-dev python python-pip libpython-dev git sudo pip install wheel numpy sudo pip install 'protobuf>=3.0.0'
-
GPU Dependencies (optional)
To build GPU version, you will need the following installed:
1. a CUDA-capable GPU 2. A supported version of Linux with a gcc compiler and toolchain 3. NVIDIA CUDA Toolkit (available at http://developer.nvidia.com/cuda-downloads) 4. NVIDIA cuDNN Library (availabel at https://developer.nvidia.com/cudnn)
The CUDA development environment relies on tight integration with the host development environment, including the host compiler and C runtime libraries, and is therefore only supported on distribution versions that have been qualified for this CUDA Toolkit release.
After downloading cuDNN library, issue the following commands:
sudo tar -xzf cudnn-7.5-linux-x64-v5.1.tgz -C /usr/local sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
Then you need to set LD_LIBRARY_PATH, PATH environment variables in ~/.bashrc.
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH export PATH=/usr/local/cuda/bin:$PATH
Build and Install
As usual, the best option is to create build folder under paddle project directory.
mkdir build && cd build
Finally, you can build and install PaddlePaddle:
# you can add build option here, such as:
cmake .. -DCMAKE_INSTALL_PREFIX=<path to install>
# please use sudo make install, if you want to install PaddlePaddle into the system
make -j `nproc` && make install
# set PaddlePaddle installation path in ~/.bashrc
export PATH=<path to install>/bin:$PATH
# install PaddlePaddle Python modules.
sudo pip install <path to install>/opt/paddle/share/wheels/*.whl