Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

映射文档 No. 147/148/149/150/151/152/153 #6041

Merged
merged 8 commits into from
Aug 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
## [参数完全一致]torch.distributed.all_gather_object

### [torch.distributed.all_gather_object](https://pytorch.org/docs/stable/distributed.html?highlight=all_gather_object#torch.distributed.all_gather_object)

```python
torch.distributed.all_gather_object(object_list, obj, group=None)
```

### [paddle.distributed.all_gather_object](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/distributed/all_gather_object_cn.html)

```python
paddle.distributed.all_gather_object(object_list, obj, group=None)
```

功能一致,参数完全一致,具体如下:

### 参数映射

| PyTorch | PaddlePaddle | 备注 |
| -------- | ------------ | --------------------------------------------- |
| object_list | object_list | 表示用于保存聚合结果的列表。 |
| obj | obj | 表示待聚合的对象。 |
| group | group | 表示执行该操作的进程组实例。 |
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
## [torch 参数更多]torch.distributed.broadcast_object_list

### [torch.distributed.broadcast_object_list](https://pytorch.org/docs/stable/distributed.html?highlight=broadcast_object_list#torch.distributed.broadcast_object_list)

```python
torch.distributed.broadcast_object_list(object_list, src=0, group=None, device=None)
```

### [paddle.distributed.broadcast_object_list](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/distributed/broadcast_object_list_cn.html)

```python
paddle.distributed.broadcast_object_list(object_list, src, group=None)
```

其中 PyTorch 相比 Paddle 支持更多其他参数,具体如下:

### 参数映射

| PyTorch | PaddlePaddle | 备注 |
| ------- | --------------- | ----------------------------------------------------------------- |
| object_list | object_list | 表示在目标进程上为待广播的 object 列表,在其他进程上为用于接收广播结果的 object 列表。 |
| src | src | 表示目标进程的 rank。 |
| group | group | 表示执行该操作的进程组实例。 |
| device | - | 表示如果不为空,则对象在被广播之前将被序列化并转换为 Tensor 后移动到设备上,Paddle 无此参数,暂无转写方式。 |
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
## [torch 参数更多]torch.distributed.irecv

### [torch.distributed.irecv](https://pytorch.org/docs/stable/distributed.html?highlight=send#torch.distributed.irecv)

```python
torch.distributed.irecv(tensor, src=None, group=None, tag=0)
```

### [paddle.distributed.irecv](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/distributed/irecv_cn.html)

```python
paddle.distributed.irecv(tensor, src=0, group=None)
```

其中 PyTorch 相比 Paddle 支持更多其他参数,具体如下:

### 参数映射

| PyTorch | PaddlePaddle | 备注 |
| ------- | --------------- | ----------------------------------------------------------------- |
| tensor | tensor | 表示用于接收数据的 Tensor。 |
| src | src | 表示目标进程的 rank。 |
| group | group | 表示执行该操作的进程组实例。 |
| tag | - | 表示匹配接收标签,Paddle 无此参数,暂无转写方式。 |
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
## [torch 参数更多]torch.distributed.isend

### [torch.distributed.isend](https://pytorch.org/docs/stable/distributed.html#torch.distributed.isend)

```python
torch.distributed.isend(tensor, dst, group=None, tag=0)
```

### [paddle.distributed.isend](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/distributed/isend_cn.html)

```python
paddle.distributed.isend(tensor, dst=0, group=None)
```

其中 PyTorch 相比 Paddle 支持更多其他参数,具体如下:

### 参数映射

| PyTorch | PaddlePaddle | 备注 |
| ------- | --------------- | ----------------------------------------------------------------- |
| tensor | tensor | 表示待发送的 Tensor。 |
| dst | dst | 表示目标进程的 rank。 |
| group | group | 表示执行该操作的进程组实例。 |
| tag | - | 表示匹配接收标签,Paddle 无此参数,暂无转写方式。 |
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ torch.distributed.recv(tensor, src=None, group=None, tag=0)
### [paddle.distributed.recv](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/distributed/recv_cn.html)

```python
paddle.distributed.recv(tensor, src=0, group=None, use_calc_stream=True)
paddle.distributed.recv(tensor, src=0, group=None, sync_op=True)
```

Pytorch 相比 Paddle 支持更多其他参数,具体如下:
Expand All @@ -18,8 +18,8 @@ Pytorch 相比 Paddle 支持更多其他参数,具体如下:

| PyTorch | PaddlePaddle | 备注 |
| ------- | --------------- | ----------------------------------------------------------------- |
| tensor | tensor | 接收数据的 Tensor。 |
| src | src | 发送者的标识符。 |
| group | group | new_group 返回的 Group 实例,或者设置为 None 表示默认地全局组。 |
| tag | - | 匹配接收标签,Paddle 无此参数,暂无转写方式。 |
| - | use_calc_stream | 标识使用计算流还是通信流,PyTorch 无此参数,Paddle 保持默认即可。 |
| tensor | tensor | 表示用于接收数据的 Tensor。 |
| src | src | 表示目标进程的 rank。 |
| group | group | 表示执行该操作的进程组实例。 |
| tag | - | 表示匹配接收标签,Paddle 无此参数,暂无转写方式。 |
| - | sync_op | 表示该操作是否为同步操作,PyTorch 无此参数,Paddle 保持默认即可。 |
Original file line number Diff line number Diff line change
@@ -1,25 +1,36 @@
## [torch 参数更多]torch.distributed.reduce
## [参数不一致]torch.distributed.reduce

### [torch.distributed.reduce](https://pytorch.org/docs/stable/distributed.html#torch.distributed.reduce)

```python
torch.distributed.reduce(tensor, dst, op=<torch.distributed.distributed_c10d.ReduceOp object>, group=None, async_op=False)
torch.distributed.reduce(tensor, dst, op=<RedOpType.SUM: 0>, group=None, async_op=False)
```

### [paddle.distributed.reduce](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/distributed/reduce_cn.html)

```python
paddle.distributed.reduce(tensor, dst, op=ReduceOp.SUM, group=0)
paddle.distributed.reduce(tensor, dst, op=ReduceOp.SUM, group=None, sync_op=True)
```

Pytorch 相比 Paddle 支持更多其他参数,具体如下:
两者功能一致但参数不一致,其中 Pytorch 的 async_op 与 Paddle 的 sync_op 用法不一致,具体如下:

### 参数映射

| PyTorch | PaddlePaddle | 备注 |
| -------- | ------------ | --------------------------------------------- |
| tensor | tensor | 操作的输入 Tensor。 |
| dst | dst | 返回操作结果的目标进程编号。 |
| op | op | 归约的具体操作。 |
| group | group | 工作的进程组编号。 |
| async_op | - | 是否异步操作,Paddle 无此参数,暂无转写方式。 |
| tensor | tensor | 表示操作的输入 Tensor。 |
| dst | dst | 表示目标进程的 rank。 |
| op | op | 表示归约的具体操作。 |
| group | group | 表示执行该操作的进程组实例。 |
| async_op | sync_op | 表示是否异步或同步操作,两者功能相反,需要转写。 |


### 转写示例
#### async_op:表示该操作是否为异步操作
```python
# Pytorch 写法
torch.distributed.reduce(tensor=tensor, dst=dst, op=<RedOpType.SUM: 0>, group=None, async_op=False)

# Paddle 写法
paddle.distributed.reduce(tensor=tensor, dst=dst, op=ReduceOp.SUM, group=None, sync_op=True)
```
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ torch.distributed.send(tensor, dst, group=None, tag=0)
### [paddle.distributed.send](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/distributed/send_cn.html)

```python
paddle.distributed.send(tensor, dst=0, group=None, use_calc_stream=True)
paddle.distributed.send(tensor, dst=0, group=None, sync_op=True)
```

Pytorch 相比 Paddle 支持更多其他参数,具体如下:
Expand All @@ -18,8 +18,8 @@ Pytorch 相比 Paddle 支持更多其他参数,具体如下:

| PyTorch | PaddlePaddle | 备注 |
| ------- | --------------- | ----------------------------------------------------------------- |
| tensor | tensor | 需要发送的 Tensor。 |
| dst | dst | 接收者的标识符。 |
| group | group | new_group 返回的 Group 实例,或者设置为 None 表示默认地全局组。 |
| tag | - | 匹配接收标签,Paddle 无此参数,暂无转写方式。 |
| - | use_calc_stream | 标识使用计算流还是通信流,PyTorch 无此参数,Paddle 保持默认即可。 |
| tensor | tensor | 表示待发送的 Tensor。 |
| dst | dst | 表示目标进程的 rank。 |
| group | group | 表示执行该操作的进程组实例。 |
| tag | - | 表示匹配接收标签,Paddle 无此参数,暂无转写方式。 |
| - | sync_op | 表示该操作是否为同步操作,PyTorch 无此参数,Paddle 保持默认即可。 |