Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
FluidDoc
提交
c4976259
F
FluidDoc
项目概览
PaddlePaddle
/
FluidDoc
通知
7
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看板
未验证
提交
c4976259
编写于
8月 27, 2020
作者:
D
danleifeng
提交者:
GitHub
8月 27, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add the chinese doc for distributed collective api (#2445)
* add distributed collective api_cn; test=develop
上级
db641bea
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
256 addition
and
1 deletion
+256
-1
doc/fluid/api_cn/api_tree_cn.rst
doc/fluid/api_cn/api_tree_cn.rst
+1
-0
doc/fluid/api_cn/distributed_cn.rst
doc/fluid/api_cn/distributed_cn.rst
+16
-0
doc/fluid/api_cn/distributed_cn/all_gather_cn.rst
doc/fluid/api_cn/distributed_cn/all_gather_cn.rst
+43
-0
doc/fluid/api_cn/distributed_cn/all_reduce_cn.rst
doc/fluid/api_cn/distributed_cn/all_reduce_cn.rst
+38
-0
doc/fluid/api_cn/distributed_cn/barrier_cn.rst
doc/fluid/api_cn/distributed_cn/barrier_cn.rst
+29
-0
doc/fluid/api_cn/distributed_cn/broadcast_cn.rst
doc/fluid/api_cn/distributed_cn/broadcast_cn.rst
+38
-0
doc/fluid/api_cn/distributed_cn/reduce_cn.rst
doc/fluid/api_cn/distributed_cn/reduce_cn.rst
+39
-0
doc/fluid/api_cn/distributed_cn/scatter_cn.rst
doc/fluid/api_cn/distributed_cn/scatter_cn.rst
+44
-0
doc/fluid/api_cn/index_cn.rst
doc/fluid/api_cn/index_cn.rst
+1
-0
scripts/api_white_list.txt
scripts/api_white_list.txt
+7
-1
未找到文件。
doc/fluid/api_cn/api_tree_cn.rst
浏览文件 @
c4976259
...
...
@@ -13,6 +13,7 @@ API接口
data/dataset_cn.rst
data_feeder_cn.rst
dataset_cn.rst
distributed_cn.rst
dygraph_cn.rst
executor_cn.rst
initializer_cn.rst
...
...
doc/fluid/api_cn/distributed_cn.rst
0 → 100644
浏览文件 @
c4976259
=======================
paddle.distributed
=======================
.. toctree::
:maxdepth: 1
distributed_cn/all_gather_cn.rst
distributed_cn/all_reduce_cn.rst
distributed_cn/barrier_cn.rst
distributed_cn/broadcast_cn.rst
distributed_cn/reduce_cn.rst
distributed_cn/scatter_cn.rst
doc/fluid/api_cn/distributed_cn/all_gather_cn.rst
0 → 100644
浏览文件 @
c4976259
.. _cn_api_distributed_all_gather:
all_gather
-------------------------------
.. py:function:: paddle.distributed.all_gather(tensor_list, tensor, group=0)
进程组内所有进程的指定tensor进行聚合操作,并返回给所有进程聚合的结果。
参数
:::::::::
- tensor_list (list) - 操作的输出Tensor列表。列表中的每个元素均为Tensor,每个Tensor的数据类型为:float32、float64、int32、int64。
- tensor (Tensor) - 操作的输入Tensor。Tensor的数据类型为:float32、float64、int32、int64。
- group (int,可选) - 工作的进程组编号,默认为0。
返回
:::::::::
无
代码示例
:::::::::
.. code-block:: python
import paddle
import paddle.prepare_context as prepare_context
paddle.disable_static()
paddle.set_device('gpu:%d'%paddle.ParallelEnv().dev_id)
prepare_context()
tensor_list = []
if paddle.ParallelEnv().local_rank == 0:
np_data1 = np.array([[4, 5, 6], [4, 5, 6]])
np_data2 = np.array([[4, 5, 6], [4, 5, 6]])
data1 = paddle.to_tensor(np_data1)
data2 = paddle.to_tensor(np_data2)
paddle.distributed.all_gather(tensor_list, data1)
else:
np_data1 = np.array([[1, 2, 3], [1, 2, 3]])
np_data2 = np.array([[1, 2, 3], [1, 2, 3]])
data1 = paddle.to_tensor(np_data1)
data2 = paddle.to_tensor(np_data2)
out = paddle.distributed.all_gather(tensor_list, data2)
doc/fluid/api_cn/distributed_cn/all_reduce_cn.rst
0 → 100644
浏览文件 @
c4976259
.. _cn_api_distributed_all_reduce:
all_reduce
-------------------------------
.. py:function:: paddle.distributed.all_reduce(tensor, op=ReduceOp.SUM, group=0)
进程组内所有进程的指定tensor进行归约操作,并返回给所有进程归约的结果。
参数
:::::::::
- tensor (Tensor) - 操作的输入Tensor,同时也会将归约结果返回至此Tensor中。Tensor的数据类型为:float32、float64、int32、int64。
- op (ReduceOp.SUM|ReduceOp.MAX|ReduceOp.Min|ReduceOp.PROD,可选) - 归约的具体操作,比如求和,取最大值,取最小值和求乘积,默认为求和归约。
- group (int,可选) - 工作的进程组编号,默认为0。
返回
:::::::::
无
代码示例
:::::::::
.. code-block:: python
import paddle
from paddle.distributed import ReduceOp
import paddle.prepare_context as prepare_context
paddle.disable_static()
paddle.set_device('gpu:%d'%paddle.ParallelEnv().dev_id)
prepare_context()
if paddle.ParallelEnv().local_rank == 0:
np_data = np.array([[4, 5, 6], [4, 5, 6]])
else:
np_data = np.array([[1, 2, 3], [1, 2, 3]])
data = paddle.to_tensor(np_data)
paddle.distributed.all_reduce(data)
out = data.numpy()
doc/fluid/api_cn/distributed_cn/barrier_cn.rst
0 → 100644
浏览文件 @
c4976259
.. _cn_api_distributed_barrier:
barrier
-------------------------------
.. py:function:: paddle.distributed.barrier(group=0)
同步进程组内的所有进程。
参数
:::::::::
- group (int,可选) - 工作的进程组编号,默认为0。
返回
:::::::::
无
代码示例
:::::::::
.. code-block:: python
import paddle
import paddle.prepare_context as prepare_context
paddle.disable_static()
paddle.set_device('gpu:%d'%paddle.ParallelEnv().dev_id)
prepare_context()
paddle.distributed.barrier()
doc/fluid/api_cn/distributed_cn/broadcast_cn.rst
0 → 100644
浏览文件 @
c4976259
.. _cn_api_distributed_broadcast:
broadcast
-------------------------------
.. py:function:: paddle.distributed.broadcast(tensor, src, group=0)
广播一个Tensor给其他所有进程
参数
:::::::::
- tensor (Tensor) - 如果当前进程编号是源,那么这个Tensor变量将被发送给其他进程,否则这个Tensor将接收源发送过来的数据。Tensor的数据类型为:float32、float64、int32、int64。
- src (int) - 发送源的进程编号。
- group (int,可选) - 工作的进程组编号,默认为0。
返回
:::::::::
无
代码示例
:::::::::
.. code-block:: python
import paddle
import paddle.prepare_context as prepare_context
paddle.disable_static()
paddle.set_device('gpu:%d'%paddle.ParallelEnv().dev_id)
prepare_context()
if paddle.ParallelEnv().local_rank == 0:
np_data = np.array([[4, 5, 6], [4, 5, 6]])
else:
np_data = np.array([[1, 2, 3], [1, 2, 3]])
data = paddle.to_tensor(np_data)
paddle.distributed.broadcast(data, 1)
out = data.numpy()
# [[1, 2, 3], [1, 2, 3]]
doc/fluid/api_cn/distributed_cn/reduce_cn.rst
0 → 100644
浏览文件 @
c4976259
.. _cn_api_distributed_reduce:
reduce
-------------------------------
.. py:function:: paddle.distributed.reduce(tensor, dst, op=ReduceOp.SUM, group=0)
进程组内所有进程的指定tensor进行归约操作,并返回给所有进程归约的结果。
参数
:::::::::
- tensor (Tensor) - 操作的输入Tensor,结果返回至目标进程号的Tensor中。Tensor的数据类型为:float32、float64、int32、int64。
- dst (int) - 返回操作结果的目标进程编号。
- op (ReduceOp.SUM|ReduceOp.MAX|ReduceOp.Min|ReduceOp.PROD,可选) - 归约的具体操作,比如求和,取最大值,取最小值和求乘积,默认为求和归约。
- group (int,可选) - 工作的进程组编号,默认为0。
返回
:::::::::
无
代码示例
:::::::::
.. code-block:: python
import paddle
import paddle.prepare_context as prepare_context
paddle.disable_static()
paddle.set_device('gpu:%d'%paddle.ParallelEnv().dev_id)
prepare_context()
if paddle.ParallelEnv().local_rank == 0:
np_data = np.array([[4, 5, 6], [4, 5, 6]])
else:
np_data = np.array([[1, 2, 3], [1, 2, 3]])
data = paddle.to_tensor(np_data)
paddle.distributed.reduce(data, 0)
out = data.numpy()
# [[5, 7, 9], [5, 7, 9]]
doc/fluid/api_cn/distributed_cn/scatter_cn.rst
0 → 100644
浏览文件 @
c4976259
.. _cn_api_distributed_scatter:
scatter
-------------------------------
.. py:function:: paddle.distributed.scatter(tensor, tensor_list=None, src=0, group=0)
进程组内指定进程源的tensor列表分发到其他所有进程中。
参数
:::::::::
- tensor (Tensor) - 操作的输出Tensor。Tensor的数据类型为:float32、float64、int32、int64。
- tensor_list (list,可选) - 操作的输入Tensor列表,默认为None。列表中的每个元素均为Tensor,每个Tensor的数据类型为:float32、float64、int32、int64。
- src (int,可选) - 操作的源进程号,该进程号的Tensor列表将分发到其他进程中。默认为0。
- group (int,可选) - 工作的进程组编号,默认为0。
返回
:::::::::
无
代码示例
:::::::::
.. code-block:: python
import paddle
import paddle.prepare_context as prepare_context
paddle.disable_static()
paddle.set_device('gpu:%d'%paddle.ParallelEnv().dev_id)
prepare_context()
if paddle.ParallelEnv().local_rank == 0:
np_data1 = np.array([7, 8, 9])
np_data2 = np.array([10, 11, 12])
else:
np_data1 = np.array([1, 2, 3])
np_data2 = np.array([4, 5, 6])
data1 = paddle.to_tensor(np_data1)
data2 = paddle.to_tensor(np_data2)
if paddle.ParallelEnv().local_rank == 0:
paddle.distributed.scatter(data1, src=1)
else:
paddle.distributed.scatter(data1, tensor_list=[data1, data2], src=1)
out = data1.numpy()
doc/fluid/api_cn/index_cn.rst
浏览文件 @
c4976259
...
...
@@ -113,6 +113,7 @@ Note。
data_cn
/
data_reader_cn
.
rst
data_cn
/
dataset_cn
.
rst
dataset_cn
.
rst
distributed_cn
.
rst
dygraph_cn
.
rst
executor_cn
.
rst
initializer_cn
.
rst
...
...
scripts/api_white_list.txt
浏览文件 @
c4976259
...
...
@@ -7,4 +7,10 @@ transpiler_cn/release_memory_cn.rst
transpiler_cn/RoundRobin_cn.rst
optimizer_cn/Dpsgd_cn.rst
io_cn/ComposeNotAligned_cn.rst
dygraph_cn/DataParallel_cn.rst
\ No newline at end of file
dygraph_cn/DataParallel_cn.rst
distributed_cn/all_gather_cn.rst
distributed_cn/all_reduce_cn.rst
distributed_cn/barrier_cn.rst
distributed_cn/broadcast_cn.rst
distributed_cn/reduce_cn.rst
distributed_cn/scatter_cn.rst
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录