Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
FluidDoc
提交
9c354d55
F
FluidDoc
项目概览
PaddlePaddle
/
FluidDoc
通知
5
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
23
列表
看板
标记
里程碑
合并请求
111
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
FluidDoc
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
23
Issue
23
列表
看板
标记
里程碑
合并请求
111
合并请求
111
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9c354d55
编写于
7月 03, 2019
作者:
L
lilong12
提交者:
xsrobin
7月 03, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix some misspelling (#987)
上级
a3947c42
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
8 addition
and
8 deletion
+8
-8
doc/fluid/advanced_usage/best_practice/dist_training_gpu.rst
doc/fluid/advanced_usage/best_practice/dist_training_gpu.rst
+8
-8
未找到文件。
doc/fluid/advanced_usage/best_practice/dist_training_gpu.rst
浏览文件 @
9c354d55
...
...
@@ -27,14 +27,14 @@ PaddlePaddle Fluid可以支持在现代GPU [#]_ 服务器集群上完成高性
"通信模式", "pserver模式;NCCL2模式(collective [#]_ )", "配置方法参考::ref:`cluster_howto`"
"执行模式", "单进程;单进程ParallelGraph;多进程", "配置方法参考::ref:`cluster_howto`"
"同步AllReduce操作", "开启则使每次调用等待AllReduce同步", "设置环境变量 :code:`FLAGS_sync_nccl_allreduce`"
"CPU线程数", "int值,配置使用的CPU线程数", "参考本
片
后续说明"
"CPU线程数", "int值,配置使用的CPU线程数", "参考本
篇
后续说明"
"预先分配足够的显存", "0~1之间的float值,预先分配显存的占比", "设置环境变量 :code:`FLAGS_fraction_of_gpu_memory_to_use`"
"scope drop频率", "int值,设置每隔N个batch的迭代之后执行一次清理scope", "设置 :code:`fluid.ExecutionStrategy().num_iteration_per_drop_scope`"
"fetch频率", "代码配置", "参考本
片
后续说明"
"fetch频率", "代码配置", "参考本
篇
后续说明"
"启用RDMA多机通信", "如果机器硬件支持,可以选择开启RDMA支持", "配置环境变量 :code:`NCCL_IB_DISABLE` "
"使用GPU完成部分图片预处理", "代码配置", "参考本
片
后续说明"
"设置通信频率(batch merge)", "代码配置", "参考本
片
后续说明"
"优化reader性能", "代码优化", "参考本
片
后续说明"
"使用GPU完成部分图片预处理", "代码配置", "参考本
篇
后续说明"
"设置通信频率(batch merge)", "代码配置", "参考本
篇
后续说明"
"优化reader性能", "代码优化", "参考本
篇
后续说明"
"混合精度", "FP32训练;混合FP32,FP16训练(在V100下启用TensorCore)", "参考项目:`图像分类 <https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/image_classification>`_ "
...
...
@@ -43,7 +43,7 @@ PaddlePaddle Fluid可以支持在现代GPU [#]_ 服务器集群上完成高性
GPU分布式训练场景,使用多进程+NCCL2模式(collective)通常可以获得最好的性能。参考 :ref:`cluster_howto` 配置您的程序使用多进程NCCL2模式训练。
在进程模式下,每台服务器的每个GPU卡都会对应启动一个训练进程,
在
多
进程模式下,每台服务器的每个GPU卡都会对应启动一个训练进程,
集群中的所有进程之间会互相通信完成训练。以此方式最大限度的降低进程内部资源抢占的开销。
对比在单进程开启ParallelGraph方法,多进程模式不但可以获得更高性能,
而且无需考虑reader在多卡下io性能不足的问题,直接使用多进程提升数据读取IO效率。
...
...
@@ -72,7 +72,7 @@ GPU分布式训练场景,使用多进程+NCCL2模式(collective)通常可
+++++++++++++++++
PaddlePaddle Fluid使用“线程池” [#]_ 模型调度并执行Op,Op在启动GPU计算之前,
通常需要CPU的协助,然而如果Op本身占用时间很小,“线程池”模型下又
回
带来额外的调度开销。
通常需要CPU的协助,然而如果Op本身占用时间很小,“线程池”模型下又
会
带来额外的调度开销。
使用多进程模式时,如果神经网络的计算图 [#]_ 节点间有较高的并发度,
即使每个进程只在一个GPU上运行,使用多个线程可以更大限度的提升GPU利用率。
这项配置需要根据运行模型的情况来配置,通常在多进程模式,设置线程数为1和4,
...
...
@@ -155,7 +155,7 @@ PaddlePaddle Fluid使用“线程池” [#]_ 模型调度并执行Op,Op在启
增大batch_size或使用设置通信频率(batch merge)
++++++++++++++++++++++++++++++++++++++++++
分布式同步训练,跨
界
点通信或多或少会带来性能影响,增大训练的batch_size,
分布式同步训练,跨
节
点通信或多或少会带来性能影响,增大训练的batch_size,
可以保持通信开销不变的情况下,增大计算吞吐从而降低通信在整个训练过程中的占比来提升总体的训练吞吐。
然而增大batch_size会带来同等比例的显存消耗提升,为了进一步的增大batch_size,Fluid提供“batch merge”功能,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录