点击蓝字 关注我们
SUBSCRIBE to US
Flow Computing
在人工智能加速器快速发展的时代,通用CPU并没有得到太多的青睐。总部位于芬兰的Flow Computing的首席执行官兼联合创始人Timo Valtonen表示:“如果你逐代观察CPU,你会看到其渐进式的改进。”
Valtonen的目标是让CPU重新发挥其应有的“核心”作用。为了做到这一点,他和他的团队正在提出一种新的范式。制造商可以将4个标准CPU内核和64个Flow Computing所谓的并行处理单元(PPU)内核放入相同的占用空间中,而不是通过在笔记本电脑中放入16个相同的CPU内核来加速计算,从而获得高达100倍的性能。Valtonen和他的合作者在8月份的IEEE Hot Chips会议上阐述了他们的观点(https://hc2024.hotchips.org/sponsors_courtyard/flow%20computing/)。
PPU在计算任务可并行化的情况下提供了加速,但传统CPU没有很好地利用这种并行性,卸载到GPU之类的东西成本太高。
德国哈根远程大学并行和VLSI教授兼主席Jörg Keller表示:“通常,我们会说只有当我们有大量工作负载时,并行化才有价值’,否则其开销会扼杀我们的大部分收益。”这与Flow Computing无关,“现在,工作负载变小了,这意味着代码中有更多地方可以应用这种并行化。”
计算任务大致可以分为两类:顺序任务,其中每一步都取决于前一步的结果;并行任务,可以独立完成。Flow Computing首席技术官兼联合创始人Martti Forsell表示,单一架构无法针对两种类型的任务进行优化。因此,我们的想法是为每种类型的任务优化单独的单元。
Forsell说:“当我们有一个连续的工作负载作为代码的一部分时,CPU部分将执行它。当涉及到并行部分时,那么CPU将把该部分分配给PPU。这样我们就可以同时操作这两条任务。”
根据Forsell的说法,针对并行性进行优化的计算机体系结构有四个主要要求:容忍内存延迟,这意味着在从内存加载下一块数据时,要找到方法;足够的带宽用于所谓的线程、并行运行的处理器指令链之间的通信;高效同步,这意味着确保代码的并行部分以正确的顺序执行;或者使用实际同时执行数学和逻辑运算的多个功能单元的能力。Forsell说,对于Flow Computing的新方法,我们从头开始重新设计或开始设计并行计算的架构。
为了隐藏内存访问的延迟,PPU实现了多线程:当每个线程调用内存时,另一个线程可以在第一个线程等待响应的同时开始运行。为了优化带宽,PPU配备了灵活的通信网络,这样任何功能单元都可以根据需要与任何其他功能单元进行通信,同时也允许低级并行性。为了应对同步延迟,它采用了一种名为波同步的专有算法,据称其效率比传统同步协议高出10000倍。
为了展示PPU的强大功能,Forsell和他的合作者构建了他们设计的概念验证FPGA实现。该团队表示,FPGA的性能与他们的模拟器相同,证明了PPU按预期运行。该团队在他们的PPU设计和现有的CPUS之间进行了几项比较研究(https://ieeexplore.ieee.org/document/10305463)。Forsell说:“假设Flow PPU的硅实现以与所比较的商用处理器之一相同的速度运行,并使用我们的微架构,我们的初步性能比较达到了100倍的[改进]。”
现在,该团队正在为他们的PPU开发编译器,并在CPU生产领域寻找合作伙伴。他们希望一家大型CPU制造商对他们的产品感兴趣,这样他们就可以共同设计。他们的PPU可以用任何指令集架构来实现,因此任何CPU都可以升级。
Keller说:“现在真的是这项技术上市的时候了。因为现在我们有必要在移动设备中进行节能计算,同时,我们也需要高计算性能。”
微信号|IEEE电气电子工程师学会
新浪微博|IEEE中国
· IEEE电气电子工程师学会 ·
往
期
推
荐
敬请关注 | IEEE 2024年度选举正在进行中
著名的IEEE荣誉奖章奖金提高至200万美元
机器人几乎无处不在
柔性显示屏兴起