Installing from Sources ========================== * [1. Download and Setup](#download) * [2. Requirements](#requirements) * [3. Build on Ubuntu](#ubuntu) ## Download and Setup You can download PaddlePaddle from the [github source](https://github.com/PaddlePaddle/Paddle). ```bash 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 - **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.
Optional Description
WITH_GPUCompile PaddlePaddle with NVIDIA GPU
WITH_AVXCompile PaddlePaddle with AVX intrinsics
WITH_DSOCompile PaddlePaddle with dynamic linked CUDA
WITH_TESTINGCompile PaddlePaddle with unit testing
WITH_SWIG_PYCompile PaddlePaddle with inference api
WITH_STYLE_CHECKCompile PaddlePaddle with style check
WITH_PYTHONCompile PaddlePaddle with python interpreter
WITH_DOUBLECompile PaddlePaddle with double precision
WITH_RDMACompile PaddlePaddle with RDMA support
WITH_TIMERCompile PaddlePaddle with stats timer
WITH_PROFILERCompile PaddlePaddle with GPU profiler
WITH_DOCCompile PaddlePaddle with documentation
ON_COVERALLSCompile PaddlePaddle with code coverage
COVERALLS_UPLOADPackage code coverage data to coveralls
ON_TRAVISExclude 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: 1. **BLAS Dependencies(optional)** Paddle will find BLAS from system's default path. But you can specify MKL, OpenBLAS or ATLAS via `CBLAS_INC_DIR` and `CBLAS_LIBRARIES`. ```bash cmake .. -DCBLAS_INC_DIR= -DCBLAS_LIBRARIES= ``` 2. **Doc Dependencies(optional)** To generate PaddlePaddle's documentation, install dependencies and set `-DWITH_DOC=ON` as follows: ```bash 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** ```bash # 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: ```bash 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. ```bash 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. ```bash mkdir build && cd build ``` Finally, you can build and install PaddlePaddle: ```bash # you can add build option here, such as: cmake .. -DCMAKE_INSTALL_PREFIX= # 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=/bin:$PATH # install PaddlePaddle Python modules. sudo pip install /opt/paddle/share/wheels/*.whl ```