您的位置: 首页 >科技 >

让硬件加速器与自动代码转换一起工作

2020-04-13 09:21:40 编辑: 来源:
导读 密歇根大学(University of Michigan)研究人员开发的一项新技术,可以通过自动代码转换,使后摩尔定律(post-Moore’s Law)计算组件得到更广泛的采用。该系统被称为AutomataSynth,它允许软件工程师在不需要专门的编程知识或重写旧的、以cpu为中心的代码的情况下,利用fpga等硬件加速器的力量。 随着摩尔定律(Moore’s Law)的接近尾声,企业和设计师

密歇根大学(University of Michigan)研究人员开发的一项新技术,可以通过自动代码转换,使后摩尔定律(post-Moore’s Law)计算组件得到更广泛的采用。该系统被称为AutomataSynth,它允许软件工程师在不需要专门的编程知识或重写旧的、以cpu为中心的代码的情况下,利用fpga等硬件加速器的力量。

随着摩尔定律(Moore’s Law)的接近尾声,企业和设计师们依靠大量硬件技术来规避新cpu带来的收益递减效应。其中最可行的短期候选是硬件加速器,如现场可编程门阵列(fpga),它可以用于快速执行特定的通用功能,并消除大型应用程序中的瓶颈。

虽然像微软和亚马逊网络服务这样的公司已经很好地采用了FPGAs,但是FPGAs的使用受到了许多软件开发人员不熟悉的编程需求的限制。这些需求还限制了它们在已存在的遗留软件上的使用,这些软件通常是专门针对cpu编写的。

今天使用的大多数程序必须在非常低的级别上完全重写,以获得硬件加速的好处。因此,组件的安装速度比实际使用速度要快。

领导该项目的博士研究生凯文•安斯塔德(Kevin Angstadt)表示:“企业正在采取措施,试图让(fpga)更容易被人们接受。但在编写新程序方面,这个过程仍然非常原始。”

包括教授在内的这个团队。Westley Weimer和Jean-Baptiste Jeannin试图通过自动重写许多大型应用程序使用的某些低级功能来打破这些采用障碍。这意味着开发人员只需在现有代码中添加几行代码(不需要重写)就可以充分利用fpga。

Angstadt将这个过程比作图形处理单元(gpu)对通用计算的适应,最初是由NVIDIA的CUDA平台实现的。CUDA为开发人员提供了一个接口,通过该接口,他们可以利用GPU处理非图形任务的能力。

Angstadt说:“这项工作的目标是用fpga做类似的事情。”“当你使用它们时,你不能只是用同一种语言写作,但我们可以给你一种用同一种语言写作的错觉。”

为了实现这一目标,研究人员使用了一种被称为有界自动机学习的技术。该技术使用不同程序分析的组合来生成一个状态机,该状态机的功能与原始代码相同,并且可以使用fpga加速。从本质上说,他们的系统读取给定的代码,学习代码的功能,并将此行为的硬件描述写入加速器。

在一篇关于这项工作的论文中,他们展示了他们在处理文本搜索和比较操作的一类函数——字符串内核上的技术。

Angstadt说:“当你搜索文本文档时,你使用的是这些字符串内核中最原始的一种形式。”但它们可以更加复杂——功能对于垃圾邮件检测、遗传分析、产品推荐和粒子物理等多种应用程序来说是基础。

在一个基准测试套件上运行AutomataSynth,这个基准测试套件是用真实的字符串函数编写的,用来与cpu一起工作。

将这一技术应用于其他类型的函数仍然是一个有待进一步研究的开放问题,但Angstadt相信它可以被广泛应用。

Angstadt说:“我们的研究表明,尽管除了我们所支持的函数之外,还有许多其他类型的函数存在,但是可以被重写为字符串内核的应用程序比我们意识到的要多得多。”“所以我们可能仍然能够应用类似的技术来支持更多类型的代码。”

如果成功,我们将看到fpga成为通用计算的标准组件。

研究人员在论文《通过有界自动机学习加速遗留字符串内核》(Legacy String Kernels via Bounded Automata Learning)中展示了他们的发现,该论文被2020年编程语言和操作系统架构支持大会(ASPLOS)接受。


免责声明:本文由用户上传,如有侵权请联系删除!

最新文章

精彩推荐

图文推荐

点击排行

2016-2022 All Rights Reserved.平安财经网.复制必究 联系QQ   备案号:

本站除标明“本站原创”外所有信息均转载自互联网 版权归原作者所有。

邮箱:toplearningteam#gmail.com (请将#换成@)