XPS: DSD: Polymorphic Hardware Specialization for Domain-Specific Algorithms and Data Structures
Cornell University, Ithaca NY
Investigators
Abstract
Serious physical design issues are breaking down traditional abstractions in computer systems and motivating computer architects to turn to hardware specialization. Hardware specialized for a single task will almost always be of higher performance and more efficient, in terms of silicon area and energy consumption, compared to a flexible hardware implementation that can handle many different tasks. Resolving this tension between less efficient general architectures and more efficient specialized architectures, particularly within the context of mainstream computing platforms, is one of the grand challenges facing the computer architecture community. The project is based on an observation of how software engineers address analogous challenges in the very applications targeted for specialization. Software engineers seek to create specialized yet flexible code, and the ubiquitous approach is to develop carefully crafted libraries of algorithms and data structures that are polymorphic over the types of input, output, and stored values. The key idea is to leverage the effort software engineers have already invested and explore polymorphic hardware specialization in the form of polymorphic algorithm-specific units and polymorphic data-structure-specific units for template-based software libraries. The project is using a vertically integrated approach to investigate polymorphic hardware specialization from a variety of perspectives including computer architecture, hardware synthesis, compiler optimization, and runtime systems. The techniques developed as part of this project will be an important step towards addressing the physical design issues, which threaten to disrupt the long-standing trend towards ever increasing computing performance relied on by all aspects of modern society.
View original record on NSF Award Search →