前言
初代芯片910甚至发了Paper,而910B的公开信息少之又少,因此简单总结梳理一下我了解的区别。
910 vs 910B
机内带宽
910:一个子系统内部(0~3卡或4~7卡)可以随意走HCCS,跨子系统需要走PCIe总线。
类似Nvidia V100的形态?
910B:8张卡都通过HCCS接口互联,HCCS接口带宽392GB/s = 7 * 56G
类似Nvidia A100的形态?总带宽弱于A100的600GB/s,但是基本与A800的400GB/s持平。
从机内互联这个角度来看,说910B是对标A100的好像没毛病!
可不要小瞧这个 fullmesh 的优化,据说这直接让切分维度为 8 的 tp 并行的速度提升了整整 10 倍。想想也不奇怪,因为tp的通信量是非常恐怖的,拿低带宽的 PCIe 来 tp 通信本就是非常不合理的。
机间带宽
Ascend芯片的一大亮点就是卡内自带了一张RoCE网卡,如果你曾经在GPU集群配置RoCE网络时遇到过“源地址路由”的坑,那么你大可放心,在昇腾服务器上不会给你犯错的机会。因为RoCE平面的路由都交给Ascend的Device OS给你做了,相当于简化了运维人员的工作。
所谓”源地址路由的坑“,如果八张网卡的IP地址都在同一个网段中,则必须为他们分别配置路由规则,否则就会发生从A网卡入的流量从B卡返回,从而导致网络不通。
使用云服务的时候,这个错误容易发生。因为一些云服务的基础服务帮助用户把RoCE网卡IP配置的事情给做了,而且有可能把八张RoCE网卡都放在了同一个网段。
910:每张卡自带一个 100GE 的RoCE网卡。
910B:每张卡自带一个 200GE 的RoCE网卡。
使用 hccn_tool
工具可以直接查看网卡的网速:
hccn_tool -i 3 -status -g
...
Speed: 200000Mb/s # 200GE 网卡
...
此处RoCE网卡的带宽提升据说也是使用了”叠片技术”,具体细节旧不清楚了。
显存
- 910:32GB的HBM2
- 910B:64GB的HBM2e
使用 npu-smi
工具可以查看一张卡的显存大小
$ npu-smi info -i 0 -t memory
...
HBM Capacity(MB) : 65536
...
这里需要补充说明一个点,正如前面所说的,Ascend内部运行着一个操作系统(即 Device OS)。在910芯片上Device OS只用DDR空间,剩下的32GB的HBM空间全部交给了用户;在910B上取消了DDR空间,Device OS通过Mirror的方式使用HBM空间,占用了部分(小于2GB)宝贵的HBM空间,因此用户可用的空间只有62GB左右了。
这里相较A100芯片的80GB显存,的确是略逊一筹了。事实上这个影响也许比想象中还要大:
- 在大模型时代模型的参数量正在指数级增长,一张卡的显存有的时候比计算量还要金贵,他直接决定了多少张卡能放得下一整个模型。
- 另外,在并行策略方面,如果八张卡能放下的参数量有限,那么意味着整个模型的并行策略会更加复杂一些。
再说到HBM的工艺,这可是影响显存读写速率的关键因素。
V100和Ascend910均采用HBM2,A100和Ascend910B均采用HBM2e,这里也是符合910B对标A100的结论的。
但是,我们再看看Nvidia的后面几代芯片:
H100:HBM3
H200(23年底发布):HBM3e
可以说采用的HBM工艺上,NV已经遥遥领先了,虽说背后的HBM技术是三星和海力士提供的,但是能够拿到供货也算是一种实力的体现吧。
至此HBM工艺应该暂告一段落,到了HBM4,似乎整个架构会发生较大的颠覆,拭目以待。
FP32的计算性能
使用过910的人都知道910有一个大问题,就是对FP32的计算能力非常弱,仅部分vector计算单元支持fp32的计算。要知道DaVinci Core计算单元中真正的算力担当可是Cube计算单元!
因此在进行模型迁移的时候往往需要做一些无奈的妥协(使用混合精度),然而混合精度又非常容易引发算子溢出(定位难度极大,往往需要做全量的算子dump,然后一步一步的找溢出的位置)。
据了解,自动驾驶场景下FP32精度的使用规模非常大,因此上面提到的问题也更容易遇到。
好在910B的Cude计算单元支持了fp32类型的计算,因此上面这个问题也得到了解决。
参考
- Ascend: a Scalable and Unified Architecture for Ubiquitous Deep Neural Network Computing : Industry Track Paper:https://ieeexplore.ieee.org/document/9407221
- GPU 进阶笔记(二):华为昇腾 910B GPU 相关(2023):https://arthurchiao.art/blog/gpu-advanced-notes-2-zh/
- GPU 进阶笔记(三):华为 NPU/GPU 演进(2024):https://arthurchiao.art/blog/gpu-advanced-notes-3-zh/
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 nz_nuaa@163.com