Commit a01952fc authored by yuguo-Jack's avatar yuguo-Jack
Browse files

reamdme

parent b5499578
...@@ -60,23 +60,20 @@ python -c "import paddle; paddle.utils.run_check()" ...@@ -60,23 +60,20 @@ python -c "import paddle; paddle.utils.run_check()"
## 安装方式二:通过源码编译安装 ## 安装方式二:通过源码编译安装
**注意**:可使用 Paddle 支持的 CentOS 7.8 & ROCm 4.0.1 编译镜像,且根据 ROCm 4.0.1 的需求,支持的编译器为 devtoolset-7 **注意**:可使用 Paddle 支持的 CentOS 7.9 & DTK-23.04.1 编译镜像,且根据 DTK-23.04.1 的需求,支持的编译器为 devtoolset-7
**第一步**:准备 ROCm 4.0.1 编译环境 (推荐使用 Paddle 镜像) **第一步**:准备 DTK-23.04.1 编译环境 (推荐使用 Paddle 镜像)
可以直接从 Paddle 的官方镜像库拉取预先装有 ROCm 4.0.1 的 docker 镜像[开发者社区](https://developer.hpccube.com/tool/#sdk) DCU Toolkit 中下载 DTK-22.10.1 解压至 /opt/ 路径下,更换/opt下的原有的 ROCm 4.0.1 文件夹 可以直接从 Paddle 的官方镜像库拉取预先装有 DTK-23.04.1 的 docker 镜像。(如果使用其他版本 DTK,可[开发者社区](https://developer.hpccube.com/tool/#sdk) DCU Toolkit 中下载其他版本 DTK 解压至 /opt/ 路径下,更换/opt下的原有的 DTK-23.04.1 文件夹,并重新 source env.sh)
```bash ```bash
# 拉取镜像 # 拉取镜像
docker pull paddlepaddle/paddle:latest-dev-rocm4.0-miopen2.11 docker pull registry.baidubce.com/device/paddle-dcu:dtk23.04.1-centos79-x86_64-gcc73
# 启动容器,注意这里的参数,例如 shm-size, device 等都需要配置 # 启动容器,注意这里的参数,例如 shm-size, device 等都需要配置
docker run -it --name paddle-rocm-dev --shm-size=128G \ docker run -it --network=host --name=paddle_dev --privileged --device=/dev/kfd --device=/dev/dri --ipc=host --shm-size=16G --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -u root --ulimit stack=-1:-1 --ulimit memlock=-1:-1 -v `pwd`:/home registry.baidubce.com/device/paddle-dcu:dtk23.04.1-centos79-x86_64-gcc73 /bin/bash
--device=/dev/kfd --device=/dev/dri --group-add video \
--cap-add=SYS_PTRACE --security-opt seccomp=unconfined \
paddlepaddle/paddle:latest-dev-rocm4.0-miopen2.11 /bin/bash
# 替换DTK # 替换DTK(可选)
# 检查容器是否可以正确识别海光 DCU 设备 # 检查容器是否可以正确识别海光 DCU 设备
rocm-smi rocm-smi
...@@ -93,44 +90,23 @@ GPU Temp AvgPwr SCLK MCLK Fan Perf PwrCap VRAM% GPU% ...@@ -93,44 +90,23 @@ GPU Temp AvgPwr SCLK MCLK Fan Perf PwrCap VRAM% GPU%
============================= End of ROCm SMI Log ============================== ============================= End of ROCm SMI Log ==============================
``` ```
请在编译之前,检查如下的环境变量是否正确,如果没有则需要安装相应的依赖库,并导出相应的环境变量。以 Paddle 官方的镜像举例,环境变量如下:
```bash
# PATH 与 LD_LIBRARY_PATH 中存在 devtoolset-7,如果没有运行以下命令
source /opt/rh/devtoolset-7/enable
# PATH 中存在 cmake 3.16.0
export PATH=/opt/cmake-3.16/bin:${PATH}
# PATH 与 LD_LIBRARY_PATH 中存在 rocm 4.0.1
export PATH=/opt/rocm/opencl/bin:/opt/rocm/bin:${PATH}
export LD_LIBRARY_PATH=/opt/rocm/lib:${LD_LIBRARY_PATH}
# PATH 中存在 Python 3.7
# 注意:镜像中的 python 3.7 通过 miniconda 安装,请通过 conda activate base 命令加载 Python 3.7 环境
export PATH=/opt/conda/bin:${PATH}
```
**第二步**:下载 Paddle 源码并编译,CMAKE 编译选项含义请参见[编译选项表](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/install/Tables.html#Compile),如果指定 Paddle 版本,需要在编译前指定环境变量 PADDLE_VERSION **第二步**:下载 Paddle 源码并编译,CMAKE 编译选项含义请参见[编译选项表](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/install/Tables.html#Compile),如果指定 Paddle 版本,需要在编译前指定环境变量 PADDLE_VERSION
```bash ```bash
# 下载源码,默认 develop 分支 # 下载源码,默认 develop 分支
git clone -b 2.3.2-dtk-22.10.1 http://developer.hpccube.com/codes/aicomponent/paddle.git git clone -b 2.5.0-dtk-23.10 http://developer.hpccube.com/codes/aicomponent/paddle.git
cd Paddle cd Paddle
# 创建编译目录 # 创建编译目录
mkdir build && cd build mkdir build && cd build
# 指定 Paddle 版本 # 指定 Paddle 版本
export PADDLE_VERSION=2.3.2 export PADDLE_VERSION=2.5.0
# 执行 cmake
export ROCM_PATH=/opt/rocm
cmake .. -DPY_VERSION=3.7 -DWITH_GPU=OFF -DWITH_ROCM=ON -DWITH_RCCL=ON -DWITH_NCCL=OFF -DWITH_TESTING=ON -DWITH_DISTRIBUTE=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_VERBOSE_MAKEFILE=OFF -DWITH_TP_CACHE=ON -DROCM_PATH=${ROCM_PATH} -DWITH_MKLDNN=OFF cmake .. -DPY_VERSION=3.9 -DWITH_GPU=OFF -DWITH_ROCM=ON -DWITH_RCCL=ON -DWITH_NCCL=OFF -DWITH_TESTING=ON -DWITH_DISTRIBUTE=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_VERBOSE_MAKEFILE=OFF -DWITH_TP_CACHE=ON -DROCM_PATH=${ROCM_PATH} -DWITH_MKLDNN=OFF
# 使用以下命令来编译 # 使用以下命令来编译
make -j$(nproc) make -j16
``` ```
**第三步**:安装与验证编译生成的 wheel 包 **第三步**:安装与验证编译生成的 wheel 包
...@@ -139,7 +115,7 @@ make -j$(nproc) ...@@ -139,7 +115,7 @@ make -j$(nproc)
```bash ```bash
# 安装命令 # 安装命令
python -m pip install -U paddlepaddle_rocm-2.3.2-cp37-cp37m-linux_x86_64.whl python -m pip install -U paddlepaddle_rocm-2.5.0-cp39-cp39-linux_x86_64.whl
# 验证命令 # 验证命令
python -c "import paddle; paddle.utils.run_check()" python -c "import paddle; paddle.utils.run_check()"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment