广告

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

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

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

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

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

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

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

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

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

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

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

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

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

原文链接:A programming language for hardware accelerators;Demi Xia编译2Hlednc

责编:Demi
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 纳米技术加持:生物光子学迎接医疗应用前景 本文介绍四个相关用例,说明以激光驱动的生物光子学结合纳米技术的应用如何共同实现更理想的医疗健康效果。
  • 复旦大学研究人员发明晶圆级硅基二维互补叠层晶体管 复旦大学研究团队将新型二维原子晶体引入传统的硅基芯片制造流程,实现了晶圆级异质CFET技术。相比于硅材料,二维原子晶体的单原子层厚度使其在小尺寸器件中具有优越的短沟道控制能力。
  • 宝马AI“超级大脑”上线,驱动在华数字化发展 近日,宝马率先在华部署了代号为“灯塔”(BEACON)的人工智能(AI)平台,提供AI应用创新相关的开发、部署、集成与运行服务的平台化环境,加速实现多业务场景数字化。
  • 西工大打破吉尼斯世界纪录,扑翼式无人机单次充电飞行15 据西北工业大学官宣其扑翼式无人机单次充电飞行时间获得新的吉尼斯世界纪录,认定的纪录时间为 2 小时 34 分 38 秒 62(突破 154 分钟)。本次刷新世界纪录的“云鸮”扑翼式无人机采用了高升力大推力柔性扑动翼设计、高效仿生驱动系统设计和微型飞控导航一体化集成等关键技术,翼展 1.82m,空载起飞重量为 1kg,手抛起飞,滑翔降落,能够按设定航线自主飞行,飞行过程中能实时变更航线。
  • 电化学腐蚀制备新技术发表,“一步到位”制作电池电极 据了解,天津大学“英才计划”特聘研究员吉科猛团队联合湖南大学谭勇文教授团队利用钴磷合金研发出了仅用一步即可制成电池电极的电化学腐蚀制备技术,该相关研究成果将于近日发表在国际期刊《先进材料》上。
  • 麻省理工开发出纸一样薄的太阳能电池,每公斤功率是传统 麻省理工学院称其工程师开发出超轻织物太阳能电池,可以快速轻松地将任何表面变成电源。这些耐用、灵活的太阳能电池比人的头发丝细得多,粘在坚固、轻便的织物上,使其易于安装在固定表面上。它们的重量是传统太阳能电池板的百分之一,每公斤产生的功率是传统太阳能电池板的18倍。
  • iPhone 15全面升级,Ultra版本或超万元起售 据多方消息,明年苹果将在手机产品线上进行大范围的升级,如今的Pro版将不再是最高端版本,而是将推出一个全新产品iPhone 15 Ultra。
  • 英特尔展示下一代半导体器件技术,计划2030年实现万亿级 日前,英特尔在IEDM上展示多项与半导体制造技术相关的研究成果:3D封装技术的新进展,可将密度再提升10倍;超越RibbonFET,用于2D晶体管微缩的新材料,包括仅三个原子厚的超薄材料;能效和存储的新可能,以实现更高性能的计算;量子计算的新进展。此外,英特尔表示,目标是在2030年实现在单个封装中集成一万亿个晶体管。
  • 通过GaN电机系统提高机器人的效率和功率密度 机器人应用成功的关键因素之一是确保最佳的电机驱动器设计。
  • 湖南大学:基于2D的范德华异质结构,可用于晶体管及存储器 电子工程研究的一个关键目标是开发高性能和高能效的计算设备,这意味着它们可以快速计算信息,同时消耗很少的能量。一种可能的方法是将执行逻辑操作的单元和存储组件组合到一个设备中。
  • Codasip宣布成立Codasip实验室,以加速行业前沿技术的开 Codasip今日宣布成立Codasip实验室(Codasip Labs)。作为公司内部创新中心,新的Codasip实验室将支持关键应用领域中创新技术的开发和商业应用,覆盖了安全、功能安全(FuSa)和人工智能/机器学习(AI/ML)等方向。
  • 了解机器感知:激光雷达、3D视觉和地理空间AI 随着人工智能(AI)和物理世界的交叉,以及自主技术采用的增加,有人可能会提出质疑,机器及其目前脆弱的模型如何能以人类的方式感知世界。借助于诸如激光雷达、雷达和摄像头等自动驾驶汽车上所使用的传感器技术,机器已开始能收集实时数据来为决策提供信息,并适应现实世界的场景。
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了