searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

分布式通信原语

2024-08-23 09:39:33
68
0

一. HCCL 介绍

HCCL:Huawei Collective Communication Library,即华为集合通信库,为昇腾分布式集群训练推理提供数据/模型并行的高性能集合通信方案。

RoCE(RDMA over Converged Ethernet)协议是一种能在以太网上进行RDMA(远程内存直接访问)的集群网络通信协议,它大大降低了以太网通信的延迟,提高了带宽的利用率。

HCCS,Huawei Cache Coherence System,华为缓存一致性系统,当前主要用于鲲鹏CPU/昇腾NPU片间高速互联。

特性

HCCL

通信算法

ring / mesh + ring/HD/pair-wise/etc.

通信链路(协议)

NPU网卡:NIC/RoCE

HCCSHuawei Cache Coherent System/PCIe

通信操作

allreduce / broadcast / reduce

reducescatter / allgather / all2allv / 

send / recv 

通信域管理

全局通信域

子通信域

基于全局/子通信域配置算法

二. HCCL集群部署、集群维测实战使用

1.单机硬件压测: 测试CPU、内存、硬盘、NPU等硬件性能

常用指令:ascend-dmi --dg -i aicore -q

2. 单机整机验证:测试芯片及网口状态,带宽、算力等规格

常用指令:for i in {0..7}; do sudo  hccn_tool -i $i -link -g ; done

3.集群验证-组网性能:测试多机集合通信联通性和性能

常用指令:mpirun -f hostfile -n 16 ./bin/all_reduce_test -p 8 -b 8K -e 64M -f 2 -d fp32 -o sum

三. 通信原语介绍

1.Broadcast

某个节点想把自身的数据发送到集群中的其他节点,那么就可以使用广播Broadcast的操作。

2.Scatter

将主节点的数据进行划分并散布至其他指定的节点。

3.Reduce

Reduce 称为规约运算,是一系列简单运算操作的统称。 细分可以包括:SUM、MIN、MAX、PROD、LOR等类型的规约操作。

4.Gather

将多个 Sender 上的数据收集到单个节点上,Gather 可以理解为反向的 Scatter。

5.All Gather

All Gather会收集所有数据到所有节点上。 All Gather = Gather + Broadcast。

6. All-Reduce

All Reduce则是在所有的节点上都应用同样的Reduce操作。 All Reduce操作可通过Reduce + Broadcast 或者 Reduce-Scatter + All-Gather 操作完成。

7.Reduce Scatter

Reduce Scatter操作会将个节点的输入先进行求和,然后在第0维度按卡数切分,将数据分发到对应的卡上。

8.All to All

All to All作为全交换操作,通过All to All通信,可以让每个节点都获取其他节点的值。将节点i的发送缓冲区中的第j块数据发送给节点j,节点j将接收到的来自节点i的数据块放在自身接收缓冲区的第i块位置。

 

0条评论
0 / 1000
樊****宇
2文章数
0粉丝数
樊****宇
2 文章 | 0 粉丝
樊****宇
2文章数
0粉丝数
樊****宇
2 文章 | 0 粉丝
原创

分布式通信原语

2024-08-23 09:39:33
68
0

一. HCCL 介绍

HCCL:Huawei Collective Communication Library,即华为集合通信库,为昇腾分布式集群训练推理提供数据/模型并行的高性能集合通信方案。

RoCE(RDMA over Converged Ethernet)协议是一种能在以太网上进行RDMA(远程内存直接访问)的集群网络通信协议,它大大降低了以太网通信的延迟,提高了带宽的利用率。

HCCS,Huawei Cache Coherence System,华为缓存一致性系统,当前主要用于鲲鹏CPU/昇腾NPU片间高速互联。

特性

HCCL

通信算法

ring / mesh + ring/HD/pair-wise/etc.

通信链路(协议)

NPU网卡:NIC/RoCE

HCCSHuawei Cache Coherent System/PCIe

通信操作

allreduce / broadcast / reduce

reducescatter / allgather / all2allv / 

send / recv 

通信域管理

全局通信域

子通信域

基于全局/子通信域配置算法

二. HCCL集群部署、集群维测实战使用

1.单机硬件压测: 测试CPU、内存、硬盘、NPU等硬件性能

常用指令:ascend-dmi --dg -i aicore -q

2. 单机整机验证:测试芯片及网口状态,带宽、算力等规格

常用指令:for i in {0..7}; do sudo  hccn_tool -i $i -link -g ; done

3.集群验证-组网性能:测试多机集合通信联通性和性能

常用指令:mpirun -f hostfile -n 16 ./bin/all_reduce_test -p 8 -b 8K -e 64M -f 2 -d fp32 -o sum

三. 通信原语介绍

1.Broadcast

某个节点想把自身的数据发送到集群中的其他节点,那么就可以使用广播Broadcast的操作。

2.Scatter

将主节点的数据进行划分并散布至其他指定的节点。

3.Reduce

Reduce 称为规约运算,是一系列简单运算操作的统称。 细分可以包括:SUM、MIN、MAX、PROD、LOR等类型的规约操作。

4.Gather

将多个 Sender 上的数据收集到单个节点上,Gather 可以理解为反向的 Scatter。

5.All Gather

All Gather会收集所有数据到所有节点上。 All Gather = Gather + Broadcast。

6. All-Reduce

All Reduce则是在所有的节点上都应用同样的Reduce操作。 All Reduce操作可通过Reduce + Broadcast 或者 Reduce-Scatter + All-Gather 操作完成。

7.Reduce Scatter

Reduce Scatter操作会将个节点的输入先进行求和,然后在第0维度按卡数切分,将数据分发到对应的卡上。

8.All to All

All to All作为全交换操作,通过All to All通信,可以让每个节点都获取其他节点的值。将节点i的发送缓冲区中的第j块数据发送给节点j,节点j将接收到的来自节点i的数据块放在自身接收缓冲区的第i块位置。

 

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0