Selective, Embedded, Just-In-Time Specialization (SEJITS): Portable Parallel Performance from Sequential, Productive, Embedded Domain-Specific Languages
Abstract
Domain-expert productivity programmers desire scalable application performance, but usually must rely on efficiency programmers who are experts in explicit parallel programming to achieve it. Since such efficiency programmers are rare, to maximize reuse of their work we propose SEJITS (Selective Embedded Just-in-Time Specialization), a methodology for encapsulating efficiency programmers' strategies in mini-compilers for domain-specific embedded languages (DSELs). The DSELs are then glued together by embedding in a common high-level host language familiar to productivity programmers. With a variety of implemented examples, including structured grids, large-scale graph analysis, audio processing, and communication-avoiding linear algebra, we demonstrate that our approach allows productivity programmers' code to approach the performance of efficiency-level code while retaining the ease of authoring and maintenance provided by productivity languages.
Document Details
- Document Type
- Technical Report
- Publication Date
- Dec 01, 2012
- Accession Number
- ADA572590
Entities
People
- Armando Fox
Organizations
- University of California, Berkeley