Abstract | ||
---|---|---|
Programmers who need high performance currently rely on low-level, architecture-specific programming models (e.g. OpenMP for CMPs, CUDA for GPUs, MPI for clusters). Performance optimization with these frameworks usually requires expertise in the specific programming model and a deep understanding of the target architecture. Domain-specific languages (DSLs) are a promising alternative, allowing compilers to map problem-specific abstractions directly to low-level architecture-specific programming models. However, developing DSLs is difficult, and using multiple DSLs together in a single application is even harder because existing compiled solutions do not compose together. In this paper, we present four new performance-oriented DSLs developed with Delite, an extensible DSL compilation framework. We demonstrate new techniques to compose compiled DSLs embedded in a common backend together in a single program and show that generic optimizations can be applied across the different DSL sections. Our new DSLs are implemented with a small number of reusable components (less than 9 parallel operators total) and still achieve performance up to 125x better than library implementations and at worst within 30% of optimized stand-alone DSLs. The DSLs retain good performance when composed together, and applying cross-DSL optimizations results in up to an additional 1.82x improvement. |
Year | DOI | Venue |
---|---|---|
2013 | 10.1007/978-3-642-39038-8_3 | ECOOP |
Keywords | Field | DocType |
new dsls,low-level architecture-specific programming model,performance optimization,good performance,multiple dsls,new performance-oriented dsls,high performance,domain-specific language,new technique,architecture-specific programming model,optimized stand-alone dsls | Loop fusion,Domain-specific language,Programming language,Programming paradigm,Computer science,Digital subscriber line,CUDA,Reuse,Compiler,Implementation | Conference |
Volume | ISSN | Citations |
7920 | 0302-9743 | 26 |
PageRank | References | Authors |
0.94 | 30 | 11 |
Name | Order | Citations | PageRank |
---|---|---|---|
Arvind K. Sujeeth | 1 | 502 | 20.58 |
Tiark Rompf | 2 | 743 | 45.86 |
Kevin J. Brown | 3 | 448 | 18.62 |
HyoukJoong Lee | 4 | 414 | 17.71 |
Hassan Chafi | 5 | 1118 | 61.11 |
Victoria Popic | 6 | 82 | 4.28 |
Michael Wu | 7 | 91 | 3.47 |
Aleksandar Prokopec | 8 | 163 | 13.56 |
Vojin Jovanovic | 9 | 103 | 5.03 |
Martin Odersky | 10 | 2261 | 170.39 |
Kunle Olukotun | 11 | 4532 | 373.50 |