Skip to content

Commit 36bbd04

Browse files
authored
Fix image error for auto-parallel docs (#7179)
1 parent 1c4d1ed commit 36bbd04

File tree

14 files changed

+6
-12
lines changed

14 files changed

+6
-12
lines changed

docs/dev_guides/api_contributing_guides/auto_parallel_op_cn.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
如下图所示,在执行加法计算前,用户只标记了输入 Tensor1 的切分状态为 Shard(0),因此每个设备上只有 Tensor1 的部分数据,Tensor2 没有标记,每个设备上有所有数据。在执行计算前,加法算子首先根据用户标记的张量切分状态,推导出没有标记的输入张量的切分状态,以及输出张量的切分状态,并根据推导得到的切分状态对输入张量进行转换,示例中加法算子推导出 Tensor2 和输出的切分状态为 Shard(0),并对 Tensor2 进行切分状态的转换,转换后每个设备有 Tensor2 的部分数据。 最后利用多设备进行分布式计算得到输出,示例中在每个设备上均执行加法计算,得到计算结果,其切分状态也是 Shard(0)。
66

77
<p align="center">
8-
<img src="https://raw.githubusercontent.com/PaddlePaddle/docs/develop/docs/dev_guides/api_contributing_guides/images/elementwise_spmd.svg" width="70%"/>
8+
<img src="https://raw.githubusercontent.com/PaddlePaddle/docs/develop/docs/dev_guides/api_contributing_guides/images/elementwise_spmd.png" width="70%"/>
99
</p>
1010

1111

@@ -16,13 +16,13 @@
1616

1717
下图是一个 2 机 4 卡的示例,其中 ProcessMesh 被表示为 [[0, 1], [2, 3]]
1818
<p align="center">
19-
<img src="https://raw.githubusercontent.com/PaddlePaddle/docs/develop/docs/dev_guides/api_contributing_guides/images/process_mesh_2-2.svg" width="50%"/>
19+
<img src="https://raw.githubusercontent.com/PaddlePaddle/docs/develop/docs/dev_guides/api_contributing_guides/images/process_mesh_2-2.png" width="50%"/>
2020
</p>
2121

2222
我们可以使用 DimsMapping 来表示数据在 ProcessMesh 上的分布方式,DimsMapping[i] = j 表示张量的第 i 维在 ProcessMesh 的第 j 维上被切分,若 j 为 -1 则表示不切分,在该维上复制。例如张量大小为 (4, 4),process_mesh 的大小为 [2, 2],DimsMapping = [-1, 1] 表示张量的第 0 维不切分,第 1 维在 ProcessMesh 的第 1 维上切分,切分后每个卡上的张量大小为 (2, 1),等价于 Placements 表示的 [Replicate(), Shard(1)]。DimsMapping = [0, 1] 表示张量的第 0 维在 ProcessMesh 的第 0 维上切分,第 1 维在 ProcessMesh 的第 1 维上切分,切分后每个卡上的张量大小为 (1, 1),等价于 Placements 表示的 [Shard(0), Shard(1)]。下图分别展示了 DimsMapping 为 [-1, 1][0, 1] 时的张量切分情况。
2323

2424
<p align="center">
25-
<img src="https://raw.githubusercontent.com/PaddlePaddle/docs/develop/docs/dev_guides/api_contributing_guides/images/DimMapping.svg" width="70%"/>
25+
<img src="https://raw.githubusercontent.com/PaddlePaddle/docs/develop/docs/dev_guides/api_contributing_guides/images/DimMapping.png" width="70%"/>
2626
</p>
2727

2828
## 二、开发流程

docs/dev_guides/api_contributing_guides/images/DimMapping.png

Loading

docs/dev_guides/api_contributing_guides/images/DimMapping.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

docs/dev_guides/api_contributing_guides/images/elementwise_spmd.png

Loading

docs/dev_guides/api_contributing_guides/images/elementwise_spmd.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

docs/dev_guides/api_contributing_guides/images/process_mesh_2-2.png

Loading

docs/dev_guides/api_contributing_guides/images/process_mesh_2-2.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

docs/guides/paddle_v3_features/auto_parallel_cn.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ print(dist_tensor.process_mesh) # {shape: [2,3], process_ids: [0,1,2,3,4,5], dim
5858
print(dist_tensor.placements) # [Shard(dim=0), Replicate()]
5959
```
6060
<figure align="center">
61-
<img src="https://raw.githubusercontent.com/PaddlePaddle/docs/develop/docs/guides/paddle_v3_features/images/auto_parallel/shard.svg" width="70%"/>
61+
<img src="https://raw.githubusercontent.com/PaddlePaddle/docs/develop/docs/guides/paddle_v3_features/images/auto_parallel/shard.png" width="70%"/>
6262
</figure>
6363

6464
对应的张量切分状态如上图所示,从数据行的维度(第 0 维)看,4 行数据被切分成了 2 块,每块 2 行,放置在设备的'x'维上,对应'x'维上的切分状态 Shard(0)。从数据列的维度看,数据没有做并行切分,'y'维上每个设备都拥有完整的 3 列数据,对应在'y'维上的全复制状态 Replicate()。
@@ -77,7 +77,7 @@ print(dist_tensor.placements) # [Shard(dim=0), Shard(dim=1)]
7777
reshard 之后的张量切分状态如下,可以看到数据被切分得更细了:
7878

7979
<figure align="center">
80-
<img src="https://raw.githubusercontent.com/PaddlePaddle/docs/develop/docs/guides/paddle_v3_features/images/auto_parallel/reshard.svg" width="70%"/>
80+
<img src="https://raw.githubusercontent.com/PaddlePaddle/docs/develop/docs/guides/paddle_v3_features/images/auto_parallel/reshard.png" width="70%"/>
8181
</figure>
8282

8383
> 注:用户使用分布式张量的方式与普通的张量基本相同,在使用时不需要关心分布式算子的概念,因此此处不对分布式算子做展开介绍。如果你有开发新算子的需求,请查看[分布式算子开发](../../dev_guides/api_contributing_guides/auto_parallel_op_cn.md)章节内容。
@@ -446,7 +446,7 @@ print(f"max_memory_reserved = {paddle.device.cuda.max_memory_reserved() / 1e6 :
446446
* 二是动态图和静态图架构内核的动静统一,在单卡组网动转静之后,动态图和静态图模式均由统一的内核进行切分推导和通信转换,这些关键的模块逻辑在动态图和静态图两种模式进行了统一的抽象,动静在各自的执行流程中执行相同的规则函数,实现相同的分布式逻辑。
447447

448448
<figure align="center">
449-
<img src="https://raw.githubusercontent.com/PaddlePaddle/docs/develop/docs/guides/paddle_v3_features/images/auto_parallel/to_static.svg" width="70%"/>
449+
<img src="https://raw.githubusercontent.com/PaddlePaddle/docs/develop/docs/guides/paddle_v3_features/images/auto_parallel/to_static.png" width="70%"/>
450450
</figure>
451451

452452

docs/guides/paddle_v3_features/images/auto_parallel/reshard.png

Loading

docs/guides/paddle_v3_features/images/auto_parallel/reshard.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)