GGrantIndex
← Search

I-Corps: Optimized Compiler Applications

$50,000FY2017TIPNSF

University Of Colorado At Colorado Springs, Colorado Springs CO

Investigators

Abstract

The broader impact/commercial potential of this I-Corps project is expected to enhance the performance, productivity, and correctness assurance of computer software development, particularly for computation or data intensive software in areas such as scientific computing, gaming, graph/map processing, data mining, signal processing, and machine learning. The project has potential to speed and scale these types of applications on a variety of hardware platforms. The correctness assurance of these applications is enhances by having a variety of implementation variants for different platforms automatically generated, while allowing a single easy-to-maintain version of the software being used as the source for the different implementation variants. These "automatically improved" applications can, in turn, enable better knowledge discovery through larger-scale scientific simulations and machine learning, and potentially improve the quality of people's daily lives through better GPS routing and natural language processing implementations. This I-Corps project will explore the commercial viability of a system that automatically produces efficient implementation variants of computer software on a variety of different hardware platforms. A graphical user interface is used to permit users to interactively specify the desired application features, provide knowledge about the application source code, and select the appropriate hardware platforms. The project is unique in its interface for supporting interactive communications among software developers, compiler optimizations, and performance tuning of optimizations for varying platforms. While the existing state-of-the-art largely treats compilers as black boxes that optimize a given software application for a single desired hardware platform, this project packages compiler technologies as a collection of optimization tool sets to be used interactively by developers so that optimizations can be applied at a much finer-grained level, specially customized to suit the needs of each application, and better tuned to exploit the varying capabilities of hardware platforms.

View original record on NSF Award Search →