The economy of the future relies on software, the people who will write it, and the hardware that will run it. The last several decades have given rise to two opposing trends in the computing industry. At the software level, a desire for simplicity, reusability, and programmer productivity has pushed the level of abstraction in software to higher levels, removing most programmers from the burden of understanding the underlying machine. At the hardware level, the demand for both performance and energy-efficiency has led to the development of programmable hardware accelerators. However, the effort required to port abstract programs to accelerators is a significant barrier to their adoption, particularly for generalist programmers that have little desire to create un-portable, accelerator-specific code. This project aims to address these challenges in tandem by developing novel cross-stack techniques to accelerate productive software on efficient hardware. The project aims to increase the number of individuals and problems that can benefit from energy-efficient, accelerated computing. An integrated education plan introduces K-12 students to acceleration through graphics accelerators and video games while teaching college undergraduates and graduates to think about how problems map to accelerators by thinking spatially.

Concretely, this project focuses on ameliorating the overheads associated with well-established software principles that increase programmer productivity and finding innovative ways to improve hardware accelerators to support productive practices. The project first explores new optimization opportunities in massively parallel, object-oriented code where object data layout and the high cost of invoking virtual functions degrade performance. The project will develop lightweight, virtual function elision mechanisms, parallelism-aware compilation passes, an accelerator-aware virtual memory system, and a coordinated cross-stack effort to reduce memory pressure. Finally, the project will explore a full-system solution for productive languages on accelerators, aggregate the project's innovations, and provide an open-source platform to ease accelerator software development.

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.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Application #
1943379
Program Officer
Almadena Chtchelkanova
Project Start
Project End
Budget Start
2020-06-15
Budget End
2025-05-31
Support Year
Fiscal Year
2019
Total Cost
$121,111
Indirect Cost
Name
Purdue University
Department
Type
DUNS #
City
West Lafayette
State
IN
Country
United States
Zip Code
47907