paddle.distributed目录包含的API支撑飞桨框架大规模分布式训练能力。具体如下:
paddle.distributed.fleet是分布式训练的统一入口API,用于配置分布式训练。
API名称 | API功能 |
---|---|
:ref:`init_parallel_env <cn_api_distributed_init_parallel_env>` |
初始化并行训练环境,支持动态图模式 |
:ref:`launch <>` |
启动分布式训练进程,支持集合通信及参数服务器架构 |
:ref:`spawn <cn_api_distributed_spawn>` |
启动分布式训练进程,仅支持集合通信架构 |
:ref:`get_rank <cn_api_distributed_get_rank>` |
获取当前进程的rank值 |
:ref:`get_world_size <cn_api_distributed_get_world_size>` |
获取当前进程数 |
API名称 | API功能 |
---|---|
:ref:`InMemoryDataset <cn_api_distributed_InMemoryDataset>` |
数据加载到内存中,在训练前随机整理数据 |
:ref:`QueueDataset <cn_api_distributed_QueueDataset>` |
流式数据加载 |
在集群上,对多设备的进程组的参数数据tensor进行计算处理。
API名称 | API功能 |
---|---|
:ref:`reduce <cn_api_distributed_reduce>` |
规约,规约进程组内的tensor,返回结果至指定进程 |
:ref:`ReduceOP <cn_api_distributed_ReduceOp>` |
规约,指定逐元素规约操作 |
:ref:`all_reduce <cn_api_distributed_all_reduce>` |
组规约,规约进程组内的tensor,结果广播至每个进程 |
:ref:`all_gather <cn_api_distributed_all_gather>` |
组聚合,聚合进程组内的tensor,结果广播至每个进程 |
:ref:`broadcast <cn_api_distributed_broadcast>` |
广播一个tensor到每个进程 |
:ref:`scatter <cn_api_distributed_scatter>` |
分发tensor到每个进程 |
:ref:`split <cn_api_distributed_split>` |
切分参数到多个设备 |
:ref:`barrier <cn_api_distributed_barrier>` |
同步路障,进行阻塞操作,实现组内所有进程的同步 |