飞桨框架昆仑XPU版安装说明

飞桨框架支持基于python的训练和原生预测,当前最新版本为2.1,提供两种安装方式:

1. 预编译的支持昆仑XPU的wheel包

目前此wheel包只支持两种环境:

英特尔CPU+昆仑XPU+CentOS系统

飞腾CPU+昆仑XPU+麒麟V10系统

2. 源码编译安装

其他环境请选择源码编译安装。

安装方式一:通过Wheel包安装

下载安装包

环境1:英特尔CPU+昆仑XPU+CentOS系统

Linux发行版建议选择CentOS 7系统

Python3.7

  1. wget https://paddle-wheel.bj.bcebos.com/kunlun/paddlepaddle-2.1.0-cp37-cp37m-linux_x86_64.whl
  1. python3.7 -m pip install -U paddlepaddle-2.1.0-cp37-cp37m-linux_x86_64.whl

Python3.6

  1. wget https://paddle-wheel.bj.bcebos.com/kunlun/paddlepaddle-2.1.0-cp36-cp36m-linux_x86_64.whl
  1. python3.6 -m pip install -U ``paddlepaddle-2.1.0-cp36-cp36m-linux_x86_64.whl

环境2:飞腾CPU+昆仑XPU+麒麟V10系统

如果您想使用预编译的支持昆仑XPU的wheel包,请联系飞桨官方邮件组:Paddle-better@baidu.com

验证安装

安装完成后您可以使用 python 或 python3 进入python解释器,输入

  1. import paddle

再输入

  1. paddle.utils.run_check()

如果出现PaddlePaddle is installed successfully!,说明您已成功安装。

安装方式二:从源码编译支持昆仑XPU的包

环境准备

英特尔CPU+昆仑XPU+CentOS系统

  • 处理器:Intel(R) Xeon(R) Gold 6148 CPU @2.40GHz

  • 操作系统:CentOS 7.8.2003(建议使用CentOS 7)

  • Python版本: 3.6/3.7 (64 bit)

  • pip或pip3版本:9.0.1+ (64 bit)

  • cmake版本:3.15+

  • gcc/g++版本:8.2+

飞腾CPU+昆仑XPU+麒麟V10系统

  • 处理器:Phytium,FT-2000+/64

  • 操作系统:Kylin release V10 (SP1)/(Tercel)-aarch64-Build04/20200711

  • Python版本:3.6/3.7 (64 bit)

  • pip或pip3版本: 9.0.1+ (64 bit)

  • cmake版本:3.15+

  • gcc/g++版本:8.2+

源码编译安装步骤:

(1)Paddle依赖cmake进行编译构建,需要cmake版本>=3.15,如果操作系统提供的源包括了合适版本的cmake,直接安装即可,否则需要

  1. wget https://github.com/Kitware/CMake/releases/download/v3.16.8/cmake-3.16.8.tar.gz
  2. tar -xzf cmake-3.16.8.tar.gz && cd cmake-3.16.8
  3. ./bootstrap && make && sudo make install

(2)Paddle内部使用patchelf来修改动态库的rpath,如果操作系统提供的源包括了patchelf,直接安装即可,否则需要源码安装,请参考

  1. ./bootstrap.sh
  2. ./configure
  3. make
  4. make check
  5. sudo make install

(3)根据requirments.txt安装Python依赖库

(4)将Paddle的源代码克隆到当下目录下的Paddle文件夹中,并进入Paddle目录

  1. git clone https://github.com/PaddlePaddle/Paddle.git
  2. cd Paddle

使用较稳定的版本编译,建议切换到release2.1分支下:

  1. git checkout release/2.1

(5)进行Wheel包的编译,请创建并进入一个叫build的目录下

  1. mkdir build && cd build

具体编译选项含义可参见编译选项表

英特尔CPU+昆仑XPU+CentOS系统

链接过程中打开文件数较多,可能超过系统默认限制导致编译出错,设置进程允许打开的最大文件数:

  1. ulimit -n 2048

执行cmake,完成编译

Python3

  1. cmake .. -DPY_VERSION=3.6
  2. -DCMAKE_BUILD_TYPE=Release
  3. -DWITH_GPU=OFF
  4. -DWITH_XPU=ON
  5. -DON_INFER=ON
  6. -DWITH_PYTHON=ON
  7. -DWITH_AVX=ON
  8. -DWITH_MKL=ON
  9. -DWITH_MKLDNN=ON
  10. -DWITH_XPU_BKCL=ON
  11. -DWITH_DISTRIBUTE=ON
  12. -DWITH_NCCL=OFF
  13. make -j20

Python2

  1. cmake .. -DPY_VERSION=2.7
  2. -DCMAKE_BUILD_TYPE=Release
  3. -DWITH_GPU=OFF
  4. -DWITH_XPU=ON
  5. -DON_INFER=ON
  6. -DWITH_PYTHON=ON
  7. -DWITH_AVX=ON
  8. -DWITH_MKL=ON
  9. -DWITH_MKLDNN=ON
  10. -DWITH_XPU_BKCL=ON
  11. -DWITH_DISTRIBUTE=ON
  12. -DWITH_NCCL=OFF
  13. make -j20

飞腾CPU+昆仑XPU+麒麟V10系统

在该环境下,编译前需要手动拉取XPU SDK,可使用以下命令:

  1. wget https://paddle-wheel.bj.bcebos.com/kunlun/xpu_sdk_v2.0.0.61.tar.gz
  2. tar xvf xpu_sdk_v2.0.0.61.tar.gz
  3. mv output xpu_sdk_v2.0.0.61 xpu_sdk

执行cmake,完成编译

  1. ulimit -n 4096
  2. python_exe="/usr/bin/python3.7"
  3. export XPU_SDK_ROOT=$PWD/xpu_sdk
  4. cmake .. -DPY_VERSION=3.7
  5. -DPYTHON_EXECUTABLE=$python_exe
  6. -DWITH_ARM=ON
  7. -DWITH_AARCH64=ON
  8. -DWITH_TESTING=OFF
  9. -DCMAKE_BUILD_TYPE=Release
  10. -DON_INFER=ON
  11. -DWITH_XBYAK=OFF
  12. -DWITH_XPU=ON
  13. -DWITH_GPU=OFF
  14. -DWITH_LITE=ON
  15. -DLITE_GIT_TAG=release/v2.9
  16. -DXPU_SDK_ROOT=${XPU_SDK_ROOT}
  17. make VERBOSE=1 TARGET=ARMV8 -j32

(6)编译成功后进入Paddle/build/python/dist目录下找到生成的.whl包 。

(7)将生成的.whl包copy至带有昆仑XPU的目标机器上,并在目标机器上根据requirments.txt安装Python依赖库。(如果编译机器同时为带有昆仑XPU的目标机器,略过此步)

(8)在带有昆仑XPU的目标机器安装编译好的.whl包:pip install -U(whl包的名字)或pip3 install -U(whl包的名字)。恭喜,至此您已完成昆仑XPU机器上PaddlePaddle的编译安装。

验证安装

安装完成后您可以使用 python 或 python3 进入python解释器,输入

  1. import paddle

再输入

  1. paddle.utils.run_check()

如果出现PaddlePaddle is installed successfully!,说明您已成功安装。

如何卸载

使用以下命令卸载PaddlePaddle:

  1. pip uninstall paddlepaddle

  1. pip3 uninstall paddlepaddle