Portable Parallel Performance from Sequential, Productive, Embedded Domain-Specific Language

TitlePortable Parallel Performance from Sequential, Productive, Embedded Domain-Specific Language
Publication TypeConference Paper
Year of Publication2012
AuthorsKamil, S., Coetzee D., Beamer S., Cook H., Gonina E., Harper J., Morlan J., & Fox A.
Conference NameSPLASH 2012
Date Published10/2012
Conference LocationTucson, AZ
Abstract

Domain-expert productivity programmers desire scalableapplication
performance, but usually must rely on efficiency programmers
who are experts in explicit parallel programming to achieve it.
Since such programmers are rare, to maximize reuse of their work
we propose encapsulating their strategies in mini-compilers for
domain-specific embedded languages (DSELs) glued together by a
common high-level host language familiar to productivity programmers. The nontrivial applications that use these DSELs perform up to 98% of peak attainable performance, and comparable to or better than existing hand-coded implementations. Our approach is unique in that each mini-compiler not only performs conventional compiler transformations and optimizations, but includes imperative procedural code that captures an efficiency expert’s strategy for mapping a narrow domain onto a specific type of hardware. The result is source- and performance-portability for productivity programmers and parallel performance that rivals that of hand-coded efficiency-language implementations of the same applications. We describe a framework that supports our methodology and five implemented DSELs supporting common computation kernels.

Our results demonstrate that for several interesting classes of
problems, efficiency-level parallel performance can be achieved by
packaging efficiency programmers’ expertise in a reusable framework
that is easy to use for both productivity programmers and
efficiency programmers.

URLhttp://delivery.acm.org/10.1145/2150000/2145865/p303-kamil.pdf?ip=128.32.35.36&acc=ACTIVE%20SERVICE&CFID=175623745&CFTOKEN=45986435&__acm__=1359484685_10858f460a0eb23f63deeb31511b968e
AttachmentSize
Portable Parallel Performance from Sequential, Productive, Embedded Domain-Specific Language.pdf399.79 KB