返回顶部
首页
机械 | 工程 | 工具 | 行业 | 信息 | 集合 | 诗词 | 组词 | 范文 |
 
您现在的位置:
首页 系统及软件 详细信息

一种新的硬件加速器编程语言

2022-07-23    阅读量:30118    新闻来源:互联网     |  投稿

摩尔定律需要一个拥抱。在小型硅计算机芯片上植入晶体管的日子屈指可数了,它们的救生筏也不多了鈥攈硬件加速器鈥攃ome有价格。

编程加速器时鈥攁 应用程序将某些任务卸载到系统硬件上的过程,尤其是为了加速该任务鈥攜你必须建立一个全新的软件支持。硬件加速器可以以比CPU快几个数量级的速度运行某些任务,但它们不能开箱即用。软件需要有效地使用加速器的指令,使其与整个应用系统兼容。这意味着需要为一个新的芯片维护大量的工程工作,而你正在用任何编程语言编译代码。

现在,来自麻省理工学院计算机科学和人工智能实验室(CSAIL)的科学家创造了一种新的编程语言,称为“Exo”,用于在硬件加速器上编写高性能代码。Exo帮助低水平的性能工程师将指定他们想要计算的非常简单的程序转换为非常复杂的程序,这些程序与规范做相同的事情,但通过使用这些特殊的加速器芯片,速度要快得多。例如,工程师可以使用Exo将简单的矩阵乘法转换为更复杂的程序,通过使用这些特殊加速器,该程序的运行速度加快了几个数量级。

与其他编程语言和编译器不同,Exo是围绕一个称为“Exocompilation”的概念构建的“传统上,很多研究都集中在为特定硬件自动化优化过程,”Yuka Ikarashi说,他是电气工程和计算机科学的博士生,也是CSAIL附属机构,是一篇关于Exo的新论文的主要作者。“这对大多数程序员来说都很好,但对性能工程师来说,编译器会尽可能多地妨碍他们。因为编译器的优化是自动的,所以当它做了错误的事情并给你带来45%而不是90%的效率时,没有好的方法来修复它。”

通过Exocomilation,性能工程师又回到了驾驶员的位置。选择要应用哪些优化、何时以及以何种顺序从编译器外部化的责任返回给性能工程师。这样,他们一方面不必浪费时间与编译器斗争,另一方面也不必手动完成所有事情。同时,Exo负责确保所有这些优化都是正确的。因此,性能工程师可以花时间提高性能,而不是调试复杂、优化的代码。

康奈尔大学计算机科学系助理教授阿德里安·桑普森说:“Exo语言是一种针对其目标硬件进行参数化的编译器;同一个编译器可以适应许多不同的硬件加速器。”。“Exo为你提供了一种抽象、统一的方法来写下你想要针对的硬件的‘形状’,而不是编写一堆杂乱的C++代码来编译一个新加速器。然后你可以重用现有的Exo编译器来适应新的描述,而不是从头开始写一些全新的东西。这种工作的潜在影响是巨大的:如果硬件创新者能够停止由于担心为每一个新的硬件想法开发新编译器的成本,他们可以尝试并发布更多想法。该行业可能会打破对传统硬件的依赖,而传统硬件的成功只是因为生态系统锁定,尽管其效率低下。"

今天制造的性能最高的计算机芯片,如谷歌的TPU、苹果的神经引擎或NVIDIA的张量核,通过加速所谓的“关键子程序”、内核或高性能计算(HPC)子程序,为科学计算和机器学习应用提供动力。

撇开笨拙的行话不谈,这些程序是必不可少的。例如,基本线性代数子程序(BLAS)是一个“库”或此类子程序的集合,专用于线性代数计算,并支持许多机器学习任务,如神经网络、天气预报、云计算和药物发现。(BLAS是如此重要,以至于它在2021为杰克·东加拉赢得了图灵奖。)然而,这些新芯片鈥攚这需要数百名工程师来设计鈥攁只有在这些HPC软件库允许的情况下,我们才能做到最好。

然而,目前这种性能优化仍然是手工完成的,以确保使用这些芯片上的每一个计算周期。HPC子程序通常以90%以上的峰值理论效率运行,硬件工程师竭尽全力为这些理论峰值额外增加5%或10%的速度。因此,如果软件没有积极优化,那么所有的辛苦工作都会白费鈥攚这正是Exo帮助避免的。

Exocomilation的另一个关键部分是,性能工程师可以描述他们想要优化的新芯片,而无需修改编译器。传统上,硬件接口的定义由编译器开发人员维护,但对于大多数这些新的加速器芯片,硬件接口是专有的。公司必须维护自己的整个传统编译器的副本(fork),并进行修改以支持其特定芯片。除了性能工程师外,这还需要雇佣编译器开发团队。

“在Exo中,我们将特定于硬件的后端的定义从Exo编译器中具体化。这使我们能够更好地分离Exo鈥攚hich是一个开源项目鈥攁nd硬件特定代码鈥攚这通常是专有的。我们已经证明,我们可以使用Exo快速编写与英特尔手工优化的数学内核库性能相同的代码。我们正在积极与几家公司的工程师和研究人员合作,”加州大学伯克利分校的博士后吉尔伯特·伯恩斯坦说。

Exo的未来需要探索一种更高效的调度元语言,并扩展其语义以支持并行编程模型,将其应用于更多加速器,包括GPU。

Ikarashi和Bernstein与Alex Reinking和Hasan Genc(两人都是加州大学伯克利分校的博士生)以及麻省理工学院助理教授Jonathan Ragan Kelley共同撰写了这篇论文。

本故事由麻省理工学院新闻网(web.MIT.edu/newoffice/)转载,该网站是一个热门网站,涵盖麻省理工学院研究、创新和教学方面的新闻。

免责声明:本文仅代表作者本人观点,与中网机械,okmao.com无关。本网对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。本网转载自其它媒体的信息,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请在一周内进行,以便我们及时处理。客服邮箱:23341571@qq.com | 客服QQ:23341571
全站地图 | 二级目录 | 上链请联系业务QQ:23341571 或 业务微信:kevinhouitpro