CAREER: A Framework for Co-design and Optimization of Programmable Hardware Accelerators and Compilers
CAREER: A Framework for Co-design and Optimization of Programmable Hardware Accelerators and Compilers
批准号:
2238006
负责人:
Priyanka Raina
金额:
$50.0万
依托单位:
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2023
资助国家:
美国
项目状态:
未结题
起止时间:
2023-03-15 至 2028-02-29
中文摘要
创建节能计算系统对于实现可持续发展的社会目标至关重要。随着摩尔定律所预测的半导体技术缩放速度的减缓,特定领域的硬件加速器,即,专用于很好地完成某些任务的硬件块将在提高计算系统的性能和能量效率方面发挥越来越重要的作用。现代移动的芯片具有数十种加速器,用于图像处理、视频编码、图形、神经网络等应用,以实现低功耗和快速处理速度。然而,随着机器学习的进步,这些应用正在快速变化。保持高性能和高能效要求硬件加速器、编译器和应用程序步调一致地共同发展。不幸的是,实现这一点的现有方法涉及大量的手动工作。大型工程团队详细研究加速器架构,并以特定的方式修改编译器,利用低级库来针对特定的硬件功能。由于维护软件栈的开销很大,因此随着新领域或现有领域的发展,加速它们仍然具有挑战性。所需要的是一种用于生成可编程加速器和用于随着加速器架构随应用而演变而更新软件编译器的结构化方法。该项目提出了一个设计空间探索和优化框架,自动生成加速器架构,接近手工设计的效率,大大降低了硬件和编译器生成的设计工作量。这项工作可以通过缩短产品上市时间和创建更具生产力的设计团队来影响当今行业中硬件-软件系统设计的方式。此外,作为这项工作的一部分,开发的开放共享课程将确保公平获得教育机会,并有助于创建一个多元化的、具有全球竞争力的半导体劳动力队伍。该项目的研究目标是创建一个框架,用于自动协同设计和优化特定领域的硬件加速器和编译器。该框架将具有三个组件:(1)基于频繁子图挖掘和合并的自动化加速器处理元件(PE)设计空间优化工具,(2)用于密集和稀疏应用的加速器存储器元件优化工具,以及(3)用于自动确定应用到加速器的最佳映射的自动调度器。这些工具将用于设计,优化和原型化硅统一可编程加速器,用于密集应用领域(如图像处理和机器学习)和稀疏应用领域(如图形分析),并展示能效和性能指标,这些指标显着优于通用架构并接近专用集成电路。所提出的方法使用了几种技术,不同于以前的工作,实现自动加速器编译器协同设计和优化。首先,它允许硬件规范中的任何更改自动传播到编译器中,而无需手动操作。这种独特的属性是实现加速器大规模设计空间探索的关键。如果没有它,每次硬件更改都必须手动更新应用程序编译器,这极大地限制了可以探索的设计点的数量。其次,所提出的加速器自动PE优化框架使用频繁子图挖掘和合并从应用程序图本身生成高效的PE架构。这种方法与以前的工作完全不同,以前的工作不执行应用程序驱动的优化,而是搜索许多可能的PE参数值。因此,这种方法有望比以前的工作更高效,更快。最后,与要求用户在应用程序代码中提供低级调度指令的用于可编程加速器的现有商业高级综合工具和编译器相反,所提出的自动调度器将自动搜索应用程序到可编程加速器的最佳映射,该奖项反映了NSF的法定使命,并通过使用基金会的知识价值和更广泛的影响审查标准。
英文摘要
Creating energy-efficient computing systems is essential for achieving the societal goal of sustainability. As the semiconductor technology scaling predicted by Moore’s law slows down, domain-specific hardware accelerators, i.e., hardware blocks specialized to do certain tasks very well, will play an increasingly important role in improving the performance and energy-efficiency of computing systems. Modern mobile chips have dozens of accelerators for applications such as image processing, video coding, graphics, neural networks etc. to achieve low power consumption and fast processing speeds. However, with advances in machine learning, these applications are changing at a rapid pace. Maintaining high performance and energy-efficiency requires that hardware accelerators, compilers, and applications evolve together in lockstep. Unfortunately, existing methodologies to achieve this involve significant manual effort. Large engineering teams study the accelerator architecture in detail and modify the compiler in an ad hoc manner, leveraging low-level libraries to target specific hardware features. Because of the large overhead in maintaining the software stack, it remains challenging to accelerate new domains or existing domains as they evolve. What is needed is a structured approach for generating programmable accelerators and for updating the software compiler as the accelerator architecture evolves with the applications. This project proposes a design-space exploration and optimization framework that automatically generates accelerator architectures that approach the efficiencies of hand-designed ones, with a significantly lower design effort for both hardware and compiler generation. This work can impact how hardware-software system design is done today in the industry, by reducing the time to market for products and creating more productive design teams. Moreover, the openly shared curriculum developed as a part of this work will ensure equitable access to educational opportunities and help create a diverse, globally competitive semiconductor workforce. The research goal of this project is to create a framework for automated co-design and optimization of domain-specific hardware accelerators and compilers. The framework will have three components: (1) an automated accelerator processing element (PE) design space optimization tool based on frequent subgraph mining and merging, (2) an accelerator memory element optimization tool for both dense and sparse applications, and (3) an auto-scheduler for automatically determining the best mapping of an application to the accelerator. These tools will be used to design, optimize and prototype in silicon a unified programmable accelerator for both dense application domains such as image processing and machine learning and sparse application domains such as graph analytics, and demonstrate energy-efficiency and performance metrics that significantly beat general purpose architectures and approach application-specific integrated circuits. The proposed approach uses several techniques, distinct from prior work, to achieve automatic accelerator-compiler co-design and optimization. First, it allows any change in the hardware specification to automatically propagate into the compiler with no manual effort. This unique property is the key to enabling large-scale design space exploration of accelerators. Without it, one would have to manually update the application compiler with every hardware change, greatly limiting the number of design points one can explore. Second, the proposed framework for automated PE optimization for accelerators generates efficient PE architectures from the application graphs themselves, using frequent subgraph mining and merging. This approach is quite different from prior work, which does not perform application-driven optimization but rather searches over many possible PE parameter values. As a result, this approach promises to be much more sample-efficient and faster versus prior work. Finally, as opposed to existing commercial high level synthesis tools and compilers for programmable accelerators which require the user to provide low-level scheduling directives in the application code, the auto-scheduler proposed will automatically search for the best mapping of an application to the programmable accelerator, greatly improving user productivity.This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
期刊论文(3)
专著(0)
科研奖励(0)
会议论文
Canal: A Flexible Interconnect Generator for Coarse-Grained Reconfigurable Arrays
Canal:用于粗粒度可重构阵列的灵活互连生成器
DOI:
10.1109/lca.2023.3268126
发表时间:
2023
期刊:
IEEE Computer Architecture Letters
影响因子:
2.3
作者:
[Melchert, Jackson, Zhang, Keyi, Mei, Yuchen, Horowitz, Mark, Torng, Christopher, Raina, Priyanka]
通讯作者:
Raina, Priyanka
DOI:
10.1109/jssc.2023.3313116
发表时间:
2024-03
期刊:
IEEE Journal of Solid-State Circuits
影响因子:
5.4
作者:
[Kathleen Feng;Taeyoung Kong;Kalhan Koul;J. Melchert;Alex Carsello;Qiaoyi Liu;Gedeon Nyengele;Maxwell Strange;Kecheng Zhang;Ankita Nayak;Jeff Setter;James J. Thomas;Kavya Sreedhar;Po-Han Chen;Nikhil Bhagdikar;Zachary Myers;Brandon D'Agostino;Pranil Joshi;Stephen Richardson;Christopher Torng;Mark Horowitz;Priyanka Raina]
通讯作者:
Kathleen Feng;Taeyoung Kong;Kalhan Koul;J. Melchert;Alex Carsello;Qiaoyi Liu;Gedeon Nyengele;Maxwell Strange;Kecheng Zhang;Ankita Nayak;Jeff Setter;James J. Thomas;Kavya Sreedhar;Po-Han Chen;Nikhil Bhagdikar;Zachary Myers;Brandon D'Agostino;Pranil Joshi;Stephen Richardson;Christopher Torng;Mark Horowitz;Priyanka Raina
DOI:
10.1145/3582016.3582070
发表时间:
2023-03
期刊:
Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 3
影响因子:
--
作者:
[J. Melchert;Kathleen Feng;Caleb Donovick;Ross G. Daly;Ritvik Sharma;Clark W. Barrett;M. Horowitz;P. Hanrahan;Priyanka Raina]
通讯作者:
J. Melchert;Kathleen Feng;Caleb Donovick;Ross G. Daly;Ritvik Sharma;Clark W. Barrett;M. Horowitz;P. Hanrahan;Priyanka Raina
海外基金