146 对比148(1 / 1)

但是,在现实中,却鲜有利用超算来为人工智能提供算力。

不仅是我国的超算很少来为它提供,就连美国的超算也不怎么为AI提供算力。

我国的神威.太湖之光,算是一种众核架构,FP64(高精度计算)官宣128PFlops,现在实际可能已经超过1000PFlops。众核搞AI,这事理论上说得过去。

但是,要知道,超算带来的高精度计算很适合传统的HPC领域:

用一些传统的方法(比如有限元之类的东西),去实现某个体系的数值模拟。

毕竟是传统方法嘛,这些方法所用的“程序源码”都比较老,设计上就是给CPU编译的。众核架构确实很适合干这个事。

但AI领域的故事则不然:AI领域希望获得更高的算力,但一般只需要低精度计算。

此时,显卡就非常适合干这个事情。2000张A100大概就能提供1200Pops(int8),轻松击败太湖之光0,性价比更高。而且,AI领域的所谓“源码”都为GPU优化,没人适配众核架构。

超算的算力主要由双精度浮点数FP64组成,而AI主要使用单精度浮点数FP32和半精度浮点数FP16,这三者对应的芯片电路都不一样。

因此用超算跑AI的运算效率比较低,同样的算力应该被用在各类科学计算上,那是能发挥超算作用的领域。

不仅他们的内存性能/计算性能的配比需求不同,AI领域需要单节点具备“大容量的超高带宽内存”,而HPC领域可以靠片上缓存+相对低带宽的内存搞定,对硬件的风格偏好存在明显不同,

而且他们的互联需求不同,HPC领域下,软件的“多节点协同Q”问题,往往是:硬件上靠以太网,软件上靠“科学家们”自己DIY解决,而且单节点差一些也没啥。

AI领域需要更强的互联性能(NVLINK,高速RDMA等各种专门设计的东西),也就需要专门设计更强的互联总线+许多现成的支持库——即使如此,互联性能仍然不足,因此单节点越强越好。

要知道游戏显卡人人都买得起,人人都能用,于是全球的开发者都会学习如何使用GPU折腾AI——

早在十多年前,大名鼎鼎的Alexnet就是在两张GTX580上完成的。

过去的超算,是经典的冯纽曼类型的串行计算主的CPU(有些少量串行但不是如今这种),和如今基于深度学习海量并行计算~的神经网完全不是一类,如今的AI算力绝对主力的GPU(和未来更好的串行计算)完全不是一回事。所以不能直接提供算力。

N卡,比如H100,A100训AI主要靠TensorCore,完成INT8,FP8,FP16,TF32等等混合精度计算。GPU的计算特点是TensorCore+混合精度计算。

sunway处理器计算主要靠向量单元,做FP16,FP32,FP64计算。

异构计算Q(CPU+GPU)带来的额外设计难度和使用难度(如何调配计算资源,如何设计合适的易用的接口给用户,用户写程序的难度和实践成本),松耦合”的“超算”是否还配称之为超算,是否有必要设计新的体系结构(例如现在常见的集群部署模式,使用一个基于Slurm管理的集群,每个节点配备若干CPU和GPU,其1/O等能力和真正的HPC完全无法同日而语,但最大的瓶颈仍然是个体算力的不足而不是1/0开销)。

返回