Title :
A Heterogeneous Parallel Framework for Domain-Specific Languages
Author :
Brown, Kevin J. ; Sujeeth, Arvind K. ; Lee, HyoukJoong ; Rompf, Tiark ; Chafi, Hassan ; Odersky, Martin ; Olukotun, Kunle
Author_Institution :
Stanford Univ., Stanford, CA, USA
Abstract :
Computing systems are becoming increasingly parallel and heterogeneous, and therefore new applications must be capable of exploiting parallelism in order to continue achieving high performance. However, targeting these emerging devices often requires using multiple disparate programming models and making decisions that can limit forward scalability. In previous work we proposed the use of domain-specific languages (DSLs) to provide high-level abstractions that enable transformations to high performance parallel code without degrading programmer productivity. In this paper we present a new end-to-end system for building, compiling, and executing DSL applications on parallel heterogeneous hardware, the Delite Compiler Framework and Runtime. The framework lifts embedded DSL applications to an intermediate representation (IR), performs generic, parallel, and domain-specific optimizations, and generates an execution graph that targets multiple heterogeneous hardware devices. Finally we present results comparing the performance of several machine learning applications written in OptiML, a DSL for machine learning that utilizes Delite, to C++ and MATLAB implementations. We find that the implicitly parallel OptiML applications achieve single-threaded performance comparable to C++ and outperform explicitly parallel MATLAB in nearly all cases.
Keywords :
C++ language; learning (artificial intelligence); parallel processing; program compilers; C++ language; Delite compiler framework; Matlab; OptiML; domain-specific language; execution graph; heterogeneous parallel framework; high performance parallel code; high-level abstraction; machine learning application; parallelism; programmer productivity; runtime application; single-threaded performance; DSL; Hardware; Optimization; Parallel processing; Performance evaluation; Programming; Runtime; computer languages; multicore processing; parallel programming;
Conference_Titel :
Parallel Architectures and Compilation Techniques (PACT), 2011 International Conference on
Conference_Location :
Galveston, TX
Print_ISBN :
978-1-4577-1794-9
DOI :
10.1109/PACT.2011.15