Skip to content

Commit a0077e5

Browse files
authored
[DCU] update dcu docs for develop (#6538)
* [DCU] update dcu docs for develop * update docs
1 parent 59bcf4b commit a0077e5

11 files changed

+271
-511
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
# 海光 DCU 运行示例
2+
3+
**预先要求**:请先根据文档 [海光 DCU 安装说明](./install_cn.html) 准备海光 DCU 运行环境,建议以下步骤都在 docker 环境中运行。
4+
5+
## 训练示例
6+
7+
[ResNet50_vd](https://github.com/PaddlePaddle/PaddleClas/blob/release/2.5/docs/zh_CN/quick_start/quick_start_classification_new_user.md) 模型为例,介绍如何使用海光 DCU 进行训练。
8+
9+
### 一、下载套件代码
10+
11+
```bash
12+
# 下载套件源码
13+
git clone https://github.com/PaddlePaddle/PaddleClas.git
14+
cd PaddleClas/
15+
16+
# 安装 Python 依赖库
17+
pip install -r requirements.txt
18+
19+
# 编译安装 paddleclas
20+
python setup.py install
21+
```
22+
23+
### 二、准备训练数据
24+
25+
进入 `PaddleClas/dataset` 目录,下载并解压 `flowers102` 数据集:
26+
27+
```bash
28+
# 准备数据集 - 将数据集下载到对应的目录下,并解压
29+
cd PaddleClas/dataset
30+
wget https://paddle-imagenet-models-name.bj.bcebos.com/data/flowers102.zip
31+
unzip flowers102.zip
32+
33+
# 下载解压完成之后,当前目录结构如下
34+
PaddleClas/dataset/flowers102
35+
├── flowers102_label_list.txt
36+
├── jpg
37+
├── train_extra_list.txt
38+
├── train_list.txt
39+
└── val_list.txt
40+
```
41+
42+
### 三、运行四卡训练
43+
44+
```bash
45+
# 进入套件目录
46+
cd PaddleClas/
47+
48+
# 四卡训练
49+
python -m paddle.distributed.launch --devices "0,1,2,3" \
50+
tools/train.py -c ./ppcls/configs/quick_start/ResNet50_vd.yaml \
51+
-o Arch.pretrained=True \
52+
-o Global.device=gpu
53+
# 训练完成之后,预期得到输出如下
54+
# ppcls INFO: [Eval][Epoch 20][best metric: 0.9245098829269409]
55+
# ppcls INFO: Already save model in ./output/ResNet50_vd/epoch_20
56+
# ppcls INFO: Already save model in ./output/ResNet50_vd/latest
57+
58+
# 单卡评估 - 使用上一步训练得到的模型进行评估
59+
python tools/eval.py -c ./ppcls/configs/quick_start/ResNet50_vd.yaml \
60+
-o Arch.pretrained="output/ResNet50_vd/best_model" \
61+
-o Global.device=gpu
62+
# 评估完成之后,预期得到输出如下
63+
# [Eval][Epoch 0][Avg]CELoss: 0.51397, loss: 0.51397, top1: 0.91569, top5: 0.98039
64+
```
65+
66+
## 推理示例
67+
68+
[ResNet50](https://paddle-inference-dist.bj.bcebos.com/Paddle-Inference-Demo/resnet50.tgz) 模型为例,介绍如何使用海光 DCU 进行推理。
69+
70+
### 一、下载推理程序
71+
72+
```bash
73+
# 下载 Paddle-Inference-Demo 示例代码,并进入 Python 代码目录
74+
git clone https://github.com/PaddlePaddle/Paddle-Inference-Demo.git
75+
```
76+
77+
### 二、准备推理模型
78+
79+
```bash
80+
# 进入 python gpu 推理示例程序目录
81+
cd Paddle-Inference-Demo/python/gpu/resnet50
82+
83+
# 下载推理模型文件并解压
84+
wget https://paddle-inference-dist.bj.bcebos.com/Paddle-Inference-Demo/resnet50.tgz
85+
tar xzf resnet50.tgz
86+
87+
# 准备预测示例图片
88+
wget https://paddle-inference-dist.bj.bcebos.com/inference_demo/python/resnet50/ILSVRC2012_val_00000247.jpeg
89+
90+
# 准备完成后的模型和图片目录如下
91+
Paddle-Inference-Demo/python/gpu/resnet50
92+
├── ILSVRC2012_val_00000247.jpeg
93+
└── resnet50
94+
   ├── inference.pdiparams
95+
   ├── inference.pdiparams.info
96+
   └── inference.pdmodel
97+
```
98+
99+
### 三、运行推理程序
100+
101+
```bash
102+
# 运行 Python 推理程序
103+
python infer_resnet.py \
104+
--model_file=./resnet50/inference.pdmodel \
105+
--params_file=./resnet50/inference.pdiparams
106+
107+
# 预期得到输出如下
108+
# class index: 13
109+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
.. _cn_rocm_information:
2+
3+
####################
4+
海光 DCU 芯片
5+
####################
6+
7+
海光 Z100 系列芯片基于通用 GPGPU 架构设计,是海光(HYGON)推出的一款面向各种应用场景的通用 GPU 产品,更加适合为⼈⼯智能计算提供强⼤的算⼒。更多海光 DCU 芯片详情及技术指标请 `点击这里 <https://www.hygon.cn/>`_ 。
8+
9+
飞桨框架支持基于海光 DCU 芯片的训练和推理,请参考以下内容快速体验:
10+
11+
- `海光 DCU 安装说明 <./install_cn.html>`_ : 海光 DCU 安装说明
12+
- `海光 DCU 运行示例 <./example_cn.html>`_ : 海光 DCU 运行示例
13+
- `海光 DCU 支持模型 <./support_cn.html>`_ : 海光 DCU 支持模型
14+
15+
.. toctree::
16+
:hidden:
17+
18+
install_cn.md
19+
example_cn.md
20+
support_cn.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# 海光 DCU 安装说明
2+
3+
飞桨框架 DCU 版支持海光 DCU 的训练和推理,提供两种安装方式:
4+
5+
1. 通过飞桨官网发布的 wheel 包安装
6+
2. 通过源代码编译安装得到 wheel 包
7+
8+
## 海光 DCU 系统要求
9+
10+
| 要求类型 | 要求内容 |
11+
| --------- | -------- |
12+
| 芯片型号 | 海光 Z100 系列芯片,包括 Z100、Z100L |
13+
| 操作系统 | Linux 操作系统,包括 CentOS、KylinV10 |
14+
15+
## 运行环境准备
16+
17+
推荐使用飞桨官方发布的海光 DCU 开发镜像,该镜像预装有海光 DCU 基础运行环境库(DTK)。
18+
19+
```bash
20+
# 拉取镜像
21+
docker pull registry.baidubce.com/device/paddle-dcu:dtk23.10.1-kylinv10-gcc73-py310
22+
23+
# 参考如下命令,启动容器
24+
docker run -it --name paddle-dcu-dev -v $(pwd):/work \
25+
--workdir=/work --shm-size=128G --network=host \
26+
--device=/dev/kfd --device=/dev/dri --group-add video \
27+
--cap-add=SYS_PTRACE --security-opt seccomp=unconfined \
28+
registry.baidubce.com/device/paddle-dcu:dtk23.10.1-kylinv10-gcc73-py310 /bin/bash
29+
30+
# 检查容器内是否可以正常识别海光 DCU 设备
31+
rocm-smi
32+
33+
# 预期得到输出如下
34+
============System Management Interface ============
35+
====================================================
36+
DCU Temp AvgPwr Fan Perf PwrCap VRAM% DCU%
37+
0 30.0c 38.0W 0.0% auto 280.0W 0% 0%
38+
1 30.0c 41.0W 0.0% auto 280.0W 0% 0%
39+
2 29.0c 38.0W 0.0% auto 280.0W 0% 0%
40+
3 29.0c 39.0W 0.0% auto 280.0W 0% 0%
41+
====================================================
42+
===================End of SMI Log===================
43+
```
44+
45+
## 安装飞桨框架
46+
47+
**注意**:飞桨框架 DCU 版仅支持海光 C86 架构。
48+
49+
### 安装方式一:wheel 包安装
50+
51+
在启动的 docker 容器中,下载并安装飞桨官网发布的 wheel 包。
52+
53+
```bash
54+
# 下载 wheel 包
55+
wget https://paddle-device.bj.bcebos.com/0.0.0/dcu/paddlepaddle_rocm-0.0.0-cp310-cp310-linux_x86_64.whl
56+
57+
# 安装 wheel 包
58+
pip install -U paddlepaddle_rocm-0.0.0-cp310-cp310-linux_x86_64.whl
59+
```
60+
61+
### 安装方式二:源代码编译安装
62+
63+
在启动的 docker 容器中,下载 Paddle 源码并编译,CMAKE 编译选项含义请参见[编译选项表](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/install/Tables.html#Compile)
64+
65+
```bash
66+
# 下载 Paddle 源码
67+
git clone https://github.com/PaddlePaddle/Paddle.git -b develop
68+
cd Paddle
69+
70+
# 创建编译目录
71+
mkdir build && cd build
72+
73+
# cmake 编译命令
74+
cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_CXX_FLAGS="-Wno-error -w" \
75+
-DPY_VERSION=3.10 -DPYTHON_EXECUTABLE=`which python3` -DWITH_CUSTOM_DEVICE=OFF \
76+
-DWITH_TESTING=OFF -DON_INFER=ON -DWITH_DISTRIBUTE=ON -DWITH_MKL=ON \
77+
-DWITH_ROCM=ON -DWITH_RCCL=ON
78+
79+
# make 编译命令
80+
make -j16
81+
82+
# 编译产出在 build/python/dist/ 路径下,使用 pip 安装即可
83+
pip install -U paddlepaddle_rocm-0.0.0-cp310-cp310-linux_x86_64.whl
84+
```
85+
86+
## 基础功能检查
87+
88+
安装完成后,在 docker 容器中输入如下命令进行飞桨基础健康功能的检查。
89+
90+
```bash
91+
# 检查当前安装版本
92+
python -c "import paddle; paddle.version.show()"
93+
# 预期得到输出如下
94+
commit: d37bd8bcf75cf51f6c1117526f3f67d04946ebb9
95+
cuda: False
96+
cudnn: False
97+
nccl: 0
98+
99+
# 飞桨基础健康检查
100+
python -c "import paddle; paddle.utils.run_check()"
101+
# 预期得到输出如下
102+
Running verify PaddlePaddle program ...
103+
PaddlePaddle works well on 1 GPU.
104+
PaddlePaddle works well on 8 GPUs.
105+
PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.
106+
```
107+
108+
## 如何卸载
109+
110+
请使用以下命令卸载:
111+
112+
```bash
113+
pip uninstall paddlepaddle-rocm
114+
```

docs/guides/hardware_support/rocm_docs/paddle_rocm_cn.md renamed to docs/guides/hardware_support/dcu/support_cn.md

+13-14
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1+
# 海光 DCU 支持模型
12

2-
# 飞桨框架 ROCm 版支持模型
3-
4-
目前 Paddle ROCm 版基于海光 CPU(X86)和 DCU 支持以下模型的单机单卡/单机多卡的训练与推理。
3+
飞桨框架在海光 DCU 上经验证的模型的支持情况如下:
54

65
## 图像分类
76

@@ -123,14 +122,14 @@
123122

124123
模型放置在飞桨模型套件中,各领域套件是 github.com/PaddlePaddle 下的独立 repo,git clone 下载即可获取所需的模型文件:
125124

126-
| 领域 | 套件名称 | 分支/版本 |
127-
| ----------- | --------------- | ---------------- |
128-
| 图像分类 | PaddleClas | release/2.3 |
129-
| 目标检测 | PaddleDetection | release/2.2 |
130-
| 图像分割 | PaddleSeg | release/v2.0 |
131-
| 自然语言处理 | PaddleNLP | develop |
132-
| 字符识别 | PaddleOCR | release/2.3 |
133-
| 推荐系统 | PaddleRec | release/2.1.0 |
134-
| 视频分类 | PaddleVideo | develop |
135-
| 语音合成 | Parakeet | develop |
136-
| 生成对抗网络 | PaddleGAN | develop |
125+
| 领域 | 套件名称 |
126+
| ----------- | --------------- |
127+
| 图像分类 | PaddleClas |
128+
| 目标检测 | PaddleDetection |
129+
| 图像分割 | PaddleSeg |
130+
| 自然语言处理 | PaddleNLP |
131+
| 字符识别 | PaddleOCR |
132+
| 推荐系统 | PaddleRec |
133+
| 视频分类 | PaddleVideo |
134+
| 语音合成 | Parakeet |
135+
| 生成对抗网络 | PaddleGAN |

docs/guides/hardware_support/hardware_info_cn.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
| 服务端 CPU | x86 | Intel | 常见 CPU 型号如 Xeon、Core 全系列 | [安装](https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/pip/linux-pip.html) | [源码编译](https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/compile/linux-compile.html) | ✔️ | |
1010
| 服务端 GPU | | NVIDIA | Ada Lovelace、Hopper、 Ampere、Turing、 Volta 架构 | [安装](https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/pip/linux-pip.html) | [源码编译](https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/compile/linux-compile.html) | ✔️ | |
1111
| AI 加速芯片 | 达芬奇 | 华为 | 昇腾 910 系列 | [安装](./npu/install_cn.html#wheel) | [源码编译](./npu/install_cn.html) | | ✔️ |
12-
| AI 加速芯片 | | 海光 | 海光 DCU | [安装](./rocm_docs/paddle_install_cn.html#wheel) | [源码编译](./rocm_docs/paddle_install_cn.html#anzhuangfangshier-tongguoyuanmabianyianzhuang) | | [支持模型](./rocm_docs/paddle_rocm_cn.html) |
12+
| AI 加速芯片 | GPGPU | 海光 | 海光 Z100 系列 | [安装](./dcu/install_cn.html#wheel) | [源码编译](./dcu/install_cn.html) | | [支持模型](./dcu/support_cn.html) |
1313
| AI 加速芯片 | XPU | 百度 | 昆仑 R200、R300 等 | [安装](./xpu/install_cn.html#wheel) | [源码编译](./xpu/install_cn.html#xpu) | | [支持模型](./xpu/support_cn.html) |
1414
| AI 加速芯片 | IPU | Graphcore | GC200 | | | | ✔️ |
1515
| AI 加速芯片 | MLU | 寒武纪 | MLU370 系列 | [安装](./mlu/install_cn.html#wheel) | [源码编译](./mlu/install_cn.html) | | [支持模型](./mlu/support_cn.html) |
@@ -25,11 +25,11 @@
2525
| 服务端 CPU | x86 | Intel | 常见 CPU 型号如 Xeon、Core 全系列以及 NUC | [预编译库](https://paddleinference.paddlepaddle.org.cn/user_guides/download_lib.html) | [源码编译](https://paddleinference.paddlepaddle.org.cn/user_guides/source_compile.html) | ✔️ | |
2626
| 服务端 GPU | | NVIDIA | Ada Lovelace、Hopper、 Ampere、Turing、 Volta 架构 | [预编译库](https://paddleinference.paddlepaddle.org.cn/user_guides/download_lib.html) | [源码编译](https://paddleinference.paddlepaddle.org.cn/user_guides/source_compile.html) | ✔️ | |
2727
| 移动端 GPU | | NVIDIA | Jetson 系列 | [预编译库](https://paddleinference.paddlepaddle.org.cn/user_guides/download_lib.html) | [源码编译](https://paddleinference.paddlepaddle.org.cn/user_guides/source_compile.html) | ✔️ | |
28-
| AI 加速芯片 | 达芬奇 | 华为 | 昇腾 910 系列 | [预编译库](./npu/install_cn.html#wheel) | [源码编译](./npu/install_cn.html) | | ✔️ |
29-
| AI 加速芯片 | MLU | 寒武纪 | MLU370 系列 | [预编译库](./mlu/install_cn.html#wheel) | [源码编译](./mlu/install_cn.html) | | ✔️ |
28+
| AI 加速芯片 | 达芬奇 | 华为 | 昇腾 910 系列 | | [源码编译](./npu/install_cn.html) | | ✔️ |
29+
| AI 加速芯片 | MLU | 寒武纪 | MLU370 系列 | | [源码编译](./mlu/install_cn.html) | | ✔️ |
3030
| AI 加速芯片 | MUSA | 摩尔线程 | MTT S 系列 GPU | | | | |
31-
| AI 加速芯片 | | 海光 | 海光 DCU | [预编译库](./rocm_docs/paddle_install_cn.html) | [源码编译](./rocm_docs/paddle_install_cn.html) | | [支持模型](./rocm_docs/paddle_rocm_cn.html) |
32-
| AI 加速芯片 | XPU | 百度 | 昆仑 R200、R300 等 | [预编译库](https://www.paddlepaddle.org.cn/inference/master/guides/hardware_support/xpu_kunlun_cn.html) | [源码编译](https://www.paddlepaddle.org.cn/inference/master/guides/hardware_support/xpu_kunlun_cn.html) | | [支持模型](./xpu/support_cn.html) |
31+
| AI 加速芯片 | GPGPU | 海光 | 海光 Z100 系列 | | [源码编译](https://www.paddlepaddle.org.cn/inference/master/guides/hardware_support/dcu_hygon_cn.html) | | [支持模型](./dcu/support_cn.html) |
32+
| AI 加速芯片 | XPU | 百度 | 昆仑 R200、R300 等 | | [源码编译](https://www.paddlepaddle.org.cn/inference/master/guides/hardware_support/xpu_kunlun_cn.html) | | [支持模型](./xpu/support_cn.html) |
3333
| 服务端 CPU | ARM | 飞腾 | FT-2000+/64、S2500 | |[源码编译](../../install/compile/arm-compile.html#anchor-1) | | |
3434
| 服务端 CPU | ARM | 华为 | 鲲鹏 920 2426SK | |[源码编译](../../install/compile/arm-compile.html) | | |
3535
| 服务端 CPU | MIPS | 龙芯 | 龙芯 3A4000、3A5000、3C5000L | |[源码编译](../../install/compile/mips-compile.html#anchor-0) | | |

docs/guides/hardware_support/index_cn.rst

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@
88

99
- `飞桨硬件支持 <./hardware_info_cn.html>`_ : 说明飞桨产品支持的硬件。
1010
- `昆仑 XPU 芯片运行飞桨 <./xpu/index_cn.html>`_ : 介绍如何在昆仑 XPU 芯片环境上安装和使用飞桨。
11-
- `海光 DCU 芯片运行飞桨 <./rocm_docs/index_cn.html>`_ : 介绍如何在海光 DCU 芯片环境上安装和使用飞桨。
12-
- `昇腾 NPU 芯片运行飞桨 <./npu/index_cn.html>`_ : 介绍如何在昇腾 NPU 环境上安装和使用飞桨
13-
- `寒武纪 MLU 芯片运行飞桨 <./mlu/index_cn.html>`_ : 介绍如何在寒武纪 MLU 环境上安装和使用飞桨
11+
- `海光 DCU 芯片运行飞桨 <./dcu/index_cn.html>`_ : 介绍如何在海光 DCU 芯片环境上安装和使用飞桨。
12+
- `昇腾 NPU 芯片运行飞桨 <./npu/index_cn.html>`_ : 介绍如何在昇腾 NPU 芯片环境上安装和使用飞桨
13+
- `寒武纪 MLU 芯片运行飞桨 <./mlu/index_cn.html>`_ : 介绍如何在寒武纪 MLU 芯片环境上安装和使用飞桨
1414

1515
.. toctree::
1616
:hidden:
1717

1818
hardware_info_cn.md
1919
xpu/index_cn.rst
20-
rocm_docs/index_cn.rst
20+
dcu/index_cn.rst
2121
npu/index_cn.rst
2222
mlu/index_cn.rst

docs/guides/hardware_support/rocm_docs/index_cn.rst

-22
This file was deleted.

0 commit comments

Comments
 (0)