广告

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

2022-07-13 12:48:32 MIT 阅读:
美国麻省理工学院计算机科学与人工智能实验室(CSAIL)研究人员创建了一种名为“Exo”的新编程语言,用于在硬件加速器上编写高性能代码。Exo可以帮助初级性能工程师将简单程序转换为复杂程序,以在加速器芯片上运行,从而将程序运算的速度提高几个数量级。目前,谷歌、苹果和英伟达的加速器设施均通过加速目标程序的“关键子程序”、内核或高性能计算(HPC)子进程来为科学计算和机器学习应用提供动力。而Exo语言有望为这些工作提供更优化的性能。

在编程加速器时(应用程序将某些任务卸载到系统硬件,特别是为了加速该任务),您必须构建一个全新的软件支持。硬件加速器可以以比CPU快几个数量级的速度运行某些任务,但它们不能开箱即用。软件需要有效地使用加速器的指令,使其与整个应用系统兼容,这意味着维护新芯片的工作量非常大。pDfednc

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

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

借助 Exocompilation,性能工程师重新回到了驾驶座上。选择应用哪些优化、何时以及以何种顺序从编译器外部化的责任返回给性能工程师。这样,他们一方面不必浪费时间与编译器抗争,另一方面也不必手动完成所有工作。同时,Exo 负责确保所有这些优化都是正确的。因此,性能工程师可以花时间提高性能,而不是调试复杂的优化代码。pDfednc

康奈尔大学计算机科学系助理教授 Adrian Sampson 说:“Exo 语言是一种在其目标硬件上参数化的编译器;同一个编译器可以适应许多不同的硬件加速器。” “Exo 无需编写一堆杂乱的 C++ 代码来编译新的加速器,而是为您提供了一种抽象、统一的方式来写下您想要定位的硬件的‘形状’。然后您可以重用现有的 Exo 编译器来适应新的描述,而不是从头开始编写全新的东西。这样的工作的潜在影响是巨大的:如果硬件创新者可以不再担心为每个新硬件创意开发新编译器的成本,他们就可以尝试并发布更多创意.pDfednc

当今制造的最高性能计算机芯片,例如 Google 的 TPU、Apple 的神经引擎或 NVIDIA 的 Tensor Cores,通过加速称为“关键子程序”、内核或高性能计算 (HPC) 的东西来为科学计算和机器学习应用程序提供动力。 ) 子程序。pDfednc

除了笨拙的行话,这些程序是必不可少的。例如,称为基本线性代数子程序 (BLAS) 的东西是一个“库”或此类子程序的集合,专门用于线性代数计算,并支持许多机器学习任务,如神经网络、天气预报、云计算和药物发现. (BLAS 非常重要,以至于它在 2021 年为 Jack Dongarra 赢得了图灵奖。)然而,这些需要数百名工程师设计的新芯片只能在这些 HPC 软件库允许的范围内发挥作用。pDfednc

但是,目前这种性能优化仍然是手动完成的,以确保这些芯片上的每个最后一个计算周期都被使用。HPC 子程序经常以超过 90% 的峰值理论效率运行,硬件工程师不遗余力地为这些理论峰值额外增加 5% 或 10% 的速度。因此,如果软件没有进行积极的优化,那么所有的辛勤工作都会被浪费掉——这正是 Exo 帮助避免的。pDfednc

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

“在 Exo 中,我们将特定于硬件的后端的定义从 exocompiler 外部化。这使我们能够更好地将 Exo(一个开源项目)和特定于硬件的代码(通常是专有的)分开。我们已经展示了“我们可以使用 Exo 快速编写与英特尔手动优化的数学内核库一样高性能的代码。我们正在积极与多家公司的工程师和研究人员合作,”加州大学伯克利分校的博士后 Gilbert Bernstein 说。pDfednc

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

原文链接:A programming language for hardware acceleratorspDfednc

责编:Demi
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 谷歌与美国政府合作开发开源芯片 谷歌和美国商务部的国家标准与技术研究院 (NIST) 周三 签署了一项联合研发协议 ,根据该协议,谷歌将资助开源芯片的生产,这些芯片可供学术和小型企业研究人员用于构建各种的新兴应用。
  • 用交通状况鸟瞰图来辅助提升自动驾驶安全性 慕尼黑工业大学 (TUM) 的研究人员与行业合作伙伴合作开发了一种技术,以基于车载传感器输入和交通状况鸟瞰图来补充车辆视角。这提高了道路安全,包括自动驾驶。
  • 芯片,举足轻重到底有多重? 近几年,芯片成为全球瞩目的焦点。新冠疫情导致的供应链危机,以及汽车智能化的快速发展,让芯片的价格持续暴涨。同时,由于众所周知的原因,中美两国在半导体芯片领域不断加大投资。而美国利用在半导体技术方面的优势,也在不断用政策手段限制中国芯片行业的发展。在这种大背景下,中国企业能否在半导体芯片领域有所突破,打破美国的技术垄断?各国在半导体领域的投资热潮,会不会导致产能过剩?
  • 台积电2nm将于2025年量产,ASML高NA EUV芯片制造机2024 今日,台积电负责研发和技术的高级副总裁Y.J. Mii博士透露,台湾半导体制造公司(TSMC)将在2024年收购ASML的高NA EUV芯片制造机,目标是在2025年量产其2纳米(nm)半导体制造工艺。
  • 苹果A16 Bionic架构优化,多核性能提高了14% 据EDN电子技术设计了解,苹果最新的A16 Bionic虽然使用与A15 Bionic相同数量的内核,但A16 Bionic在架构方面进行了优化。
  • 基于苹果A13仿生芯片,S8芯片配备与S6/S7相同CPU Apple Watch Series 6、Apple Watch Series 7、Apple Watch Series 8、Apple Watch Ultra和第二代Apple Watch SE都采用完全相同的CPU。
  • eSIM与SIM有什么区别?能否终结物理SIM卡? 嵌入式 SIM (eSIM) 是一种采用物理 SIM 卡中通常存在的电路并将其永久安装到移动设备中的技术。通过设置例程(通常涉及来自运营商的二维码),移动设备无需物理 SIM 卡即可加入运营商网络。
  • 英特尔演示世界最高速度WiFi 7,速度超5Gbps Intel基于酷睿笔记本电脑展示了Wi-Fi 7的演示,其Wi-Fi 7解决方案连接到了博通的Wi-Fi 7接入点。
  • 号称史上最硬智能手表,Apple Watch Ultra维修费用超售 苹果带来了全新的 Apple Watch Ultra 运动手表,被称为史上最坚固、最硬的Apple Watch。然而,每个硬件都有极限,如果你不小心损坏它,它可能会花费499 美元的维修费用,这几乎是这款智能手表60%的售价。
  • 日本研究人员用新材料传感器提升电动汽车续航 通常,电动汽车中的电池电流可以达到数百安培。然而,能够检测此类电流的商用传感器无法测量毫安级电流的微小变化。这导致电池充电估计的模糊性约为 10%。这意味着电动汽车的续驶里程可以延长 10%。反过来,这将减少低效的电池使用。
  • 柔宇科技名下3700万资产被法院查封、冻结 据EDN电子技术设计了解,柔宇科技名下3700万资产被法院查封、冻结。
  • 冠状病毒未来还有哪些变种?用AI工具预测看看 瑞士科学家研制出一种新型人工智能(AI)工具,可以预测包括新冠病毒在内的冠状病毒未来变种,有望促进下一代抗体疗法及疫苗的研发,为制定公共卫生政策提供重要参考。相关研究刊发于最新一期《细胞》杂志。
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了