软件包可以绕过CPU实现更高效的计算
以色列理工学院的研究人员开发出一种软件包,使计算机能够绕过 CPU,直接在内存中执行处理操作。这是开发在内存中执行计算的计算机的重要一步,避免了硬件组件之间耗时且耗能的数据传输。近年来,硬件领域出现了一个令人兴奋的新领域:内存计算。内存计算方法与计算机的常规运行方式相比,带来了重大变化。
传统上,CPU 根据存储在计算机内存中的信息进行计算,但采用这种创新方法,一些操作直接在内存中执行,减少了内存和 CPU 之间的数据传输。由于在计算机单元之间传输数据非常耗时且耗能,因此这种变化可以大大节省时间和能源。
近几十年来,这两个部件的性能得到了显著提升;处理器的计算速度飞速提升,内存单元的存储容量也随之增加。这些发展只会加剧问题,数据传输成为限制计算机整体速度的瓶颈。
安德鲁和埃尔娜维特比电气与计算机工程学院的 Shahar Kvatinsky 教授过去几年一直致力于寻找解决“内存墙问题”的方法,即需要两个独立硬件组件的计算问题。
他在近年来发表的论文中提出了使某些操作可以在内存中运行的硬件技术,从而缓解了传统计算机中处理器和内存之间产生的“交通堵塞”。
计算机架构的这种范式转变在许多领域都有开创性的应用,包括人工智能、生物信息学、金融、信息系统等。毫不奇怪,学术界和工业界的许多研究小组都在研究这个问题:研究内存架构、研究芯片工厂中创新内存单元的生产,以及研究在采用内存计算方法设计的计算机中会发生的基本计算操作。
然而,这种方法的一个关键方面至今几乎完全未被探索过:软件。几十年来,计算机程序都是为“经典”计算机编写的,其基本结构自 20 世纪 40 年代第一台计算机问世以来几乎没有改变。
这些程序是计算机内存中发生的读写操作以及处理器执行的计算操作的集合。存储在内存中的信息单元具有地址,软件可以定位它们并将其传输到 CPU 进行处理。
“现在有些计算由内存处理,我们需要新的软件,”Kvatinsky 教授解释道。“这种新软件必须基于支持内存计算的新指令。这种新的计算方法与传统方法大不相同,以至于它使一些现有的计算机科学构建模块无法使用。因此,我们需要编写新代码,这需要软件开发人员投入大量的时间和精力。”
Kvatinsky 教授的研究小组在一篇新文章中提出了解决这一问题的方法,该研究小组由博士生 Orian Leitersdorf 领导,与研究员 Ronny Ronen 合作完成。他们的新平台使用一组命令来弥补内存计算解决方案与 Python 等流行编程语言之间的差距。
为了构建这个新平台,研究人员开发了内存计算架构的编程接口理论,并创建了将 Python 命令转换为直接在计算机内存中执行的机器命令的软件开发库。
他们将这一新概念称为 PyPIM,即 Python 的缩写和 Processing-in-Memory 的首字母缩写。借助这一新平台,软件开发人员将能够轻松地为 PIM 计算机编写软件。
研究人员还创建了一个用于开发硬件和测量性能的模拟工具,使开发人员能够估计相对于普通计算机的代码运行时间的改进。在他们的论文中,研究人员演示了使用新平台执行的各种数学和算法计算,代码简短而简单,从而显著提高了性能。
这项新研究成果在德克萨斯州奥斯汀举行的IEEE/ACM 微架构国际研讨会上发表。该论文也可在arXiv预印本服务器上找到。
21 岁的 Orian Leitersdorf 即将成为以色列理工学院有史以来最年轻的博士毕业生。Ronny Ronen 是该学院的高级研究员,也是架构和电路研究中心 (ACRC) 的教员和负责人。
页:
[1]