晶圆|这款用整块晶圆做的芯片:性能超乎想象( 二 )


Cerebras 硬件也不仅仅用于机器学习 。Joule 超级计算机在 3D 网格中运行的传统硬件上运行计算流体动力学 。他们以两种不同的方式遇到了扩展问题 。由于网络带宽的限制,他们无法通过核心数量来提高性能 。此外,由于缓存未命中,内核通常会在表上留下很多性能,从而导致内存不足 。该内存随后遇到了巨大的带宽瓶颈 。
流体动力学模型的 3D 网格被映射到 WSE 芯片的 2D 网格 。邻居交换、向量 AXPY 和全局向量的点积,这需要局部点积和全局 all-reduce 。由于大量的 SRAM 和每个单独内核的相对较高的复杂性,所有这些操作都可以轻松处理 。
有大量的内核间通信,但片上内部网络足够强大,可以以低延迟处理它们 。网络通过沿着称为“颜色”的虚拟通道而不是预先确定的地址发送消息来实现这一点 。这种基于硬件的通信允许数据在整个芯片上每时钟传输 1 跳 。
Allreduce 可以非常快地完成 。每个内核将其标量发送到它旁边的内核 。当它到达那里时,标量被加在一起并向前发送 。芯片的边缘向东/西向中心发送数据 。一旦它到达中心,就会发生同样的过程,但北/南结果被合并,然后在核心网格上广播回来 。只需1微秒,就可以完成这个allreduce 。作为参考,超级计算机中的典型集群从一个处理器到另一个相邻处理器的单个 MPI 通信需要大约这么长时间 。
无论引入数据的延迟如何,都可以进行计算以实现全带宽 。路由器具有来自每个相邻核心的 4 个传入数据集 。此外,内核可以将其输出重新路由回,这样就不需要将其存储在 SRAM 中 。内核可以同时运行多个线程 。有一个主线程被赋予优先级,但是如果它在等待数据,其他线程就会前进 。通过使用大量 SRAM 和多线程架构保持数据局部性,利用率保持极高 。
晶圆|这款用整块晶圆做的芯片:性能超乎想象
文章图片
对硬件进行低级优化的结果使计算流体动力学速度提高了 200 倍 。这与同样高度优化的大型超级计算机集群相比 。除了速度上的提升,成本,尤其是功耗,也有着巨大的优势 。这种优势在某种程度上是显而易见的,因为将超级计算机集群与单个(尽管是晶圆大小)芯片进行比较 。
不幸的是,软件还没有完全符合要求 。Beta SDK 将于今年晚些时候推出,用于编写自定义内核操作 。这种语言将完全特定于 WSE 的领域 。他们将拥有数学函数和通信库,有望在一定程度上减轻负担 。
除此之外,还有一些功能和工具会有所帮助,但这将是高技能程序员的任务 。这是唯一可以实现这种计算规模的硬件,因此对于那些需要这种性能水平的任务来说,它可能不是进入的巨大障碍 。
Cerebras 将实时计算流体动力学作为利用 WSE 的下一个工作负载 。有相当大的希望,这将打开一个全新的用例 。
【晶圆|这款用整块晶圆做的芯片:性能超乎想象】我们很高兴基于 7nm 的 WSE2 全面推出 。看看 SDK 是否可以允许开发人员生成其他工作负载,WSE 可以带来数量级的性能提升,这将是令人兴奋的 。人工智能是 Cerebras 积极进取的领域,但晶圆级计算可能会改变这个行业,而不仅仅是机器学习 。


推荐阅读