新型PPU架构挑战AI加速器,宣称可将CPU性能提升100倍

逢纪说科技 2024-09-28 01:14:05

在AI加速器快速发展的时代,通用CPU并没有获得太多关注。“如果你看看一代又一代的CPU,会发现它们的改进都是渐进式的,”位于芬兰的Flow Computing首席执行官兼联合创办人提莫·瓦尔托宁(Timo Valtonen)表示。

瓦尔托宁的目标是将CPU重新放回它应有的“中央”角色。为了达到这个目标,他和他的团队提出了一个新的模式。与其在笔记本中放入16个相同的CPU核心,制造商可以在相同的空间中放置4个标准的CPU核心和64个Flow Computing所谓的平行处理单元(PPU)核心,进而做到高达100倍的性能提升。瓦尔托宁及其合作者在八月份的Hot Chips大会上阐述了他们的论点。

PPU在运算任务可以平行化的情况下,PPU提供了加速,而传统的CPU无法充分利用这种平行性,将任务转交给像GPU这样的设备则成本过高。

“通常我们会说,“只有在工作负载较大时,平行化才是值得的”,因为否则开销会抵消我们大部分的收益,”德国哈根大学并行计算和VLSI专业教授约格·凯勒(Jörg Keller)表示,他并未参与Flow Computing的研究。“而这种情况现在正在向较小的工作负载转变,这意味着有更多的程序代码区块可以应用这种平行化。”

运算任务大致可以分为两类:顺序任务,其中每个步骤都依赖于前一个步骤的结果;另一类是可以独立完成的平行任务。Flow Computing的CTO兼联合创办人马尔蒂·福塞尔(Martti Forsell)表示,单一架构无法同时针对这两种任务进行优化。因此,这个想法是拥有针对每种任务类型进行优化的独立单元。

“当我们的程序代码中有顺序工作负载时,CPU部分将执行它。而当遇到平行部分时,CPU将分配这部分给PPU。这样我们就能拥有两者的最佳性能,”福塞尔表示。

根据福塞尔的说法,优化并行计算的计算机架构有四个主要要求:容忍内存延迟,这意味着在从内存加载下一块数据时,不会空闲等待;具有足够的带宽来实现所谓多线程间的通信,这些多线程是并行运行的处理器指令链;高效的同步,确保程序代码的平行部分以正确的顺序执行;以及低级平行性,即能够同时使用多个功能单元来执行数学和逻辑运算。对于Flow Computing的新方法,“我们从头开始重新设计了适用于并行计算的架构,”福塞尔表示。

为了隐藏内存访问的延迟,PPU实现了多线程:当每个线程请求内存时,另一个线程可以在第一个线程等待回应时开始运行。为了优化带宽,PPU配备了灵活的通信网络,使任何功能单元都可以根据需要与其他单元通信,还能实现低级平行性。为了解决同步延迟问题,它使用了一种名为“波同步”的专有算法,据称其效率比传统同步协议高出多达10,000倍。

为了展示PPU的强大性能,福塞尔和他的合作者构建了一个概念验证的FPGA实现。他们表示,FPGA的表现与他们的模拟器完全一致,证明了PPU的运行如预期。他们还对PPU设计与现有的CPU进行了多项比较研究。“在我们的初步性能比较中,假设Flow PPU的晶体硅体实现与其中一个比较的商用处理器以相同速度运行,并使用我们的微架构,我们达到了最多100倍的提升,”福塞尔说。

目前,该团队正在为PPU开发编译器,并寻找CPU制造领域的合作伙伴。他们希望能有大型CPU制造商对他们的产品感兴趣,这样他们就可以共同设计。他们的PPU可以与任何指令集架构实现,因此任何CPU都有可能进行升级。

“现在确实是这项技术推向市场的时候了,”凯勒说。“因为现在我们需要移动设备中的节能运算,同时我们也需要高运算性能。”

0 阅读:37

逢纪说科技

简介:感谢大家的关注