GPCE 2017
Mon 23 - Tue 24 October 2017 Vancouver, Canada
co-located with SPLASH 2017
Tue 24 Oct 2017 10:30 - 10:55 at Regency A - Performance Chair(s): Matthew Flatt

Staging has proved a successful technique for programmatically removing code abstractions, thereby allowing for faster program execution while retaining a high-level interface for the programmer. Unfortunately, techniques based on staging suffer from a number of problems — ranging from practicalities to fundamental limitations — which have prevented their widespread adoption. We introduce Quoted Staged Rewriting (QSR), an approach that uses type-safe, pattern matching-enabled quasiquotes to define optimizations. The approach is “staged” in two ways: first, rewrite rules can execute arbitrary code during pattern matching and code reconstruction, leveraging the power and flexibility of staging; second, library designers can orchestrate the application of successive rewriting phases (stages). The advantages of using quasiquote-based rewriting are that library designers never have to deal directly with the intermediate representation (IR), and that it allows for non-intrusive optimizations — in contrast with staging, it is not necessary to adapt the entire library and user programs to accommodate optimizations.

We show how Squid, a Scala macro-based framework, enables QSR and renders library-defined optimizations more practical than ever before: library designers write domain-specific optimizers that users invoke transparently on delimited portions of their code base. As a motivating example we describe an implementation of stream fusion (a well-known deforestation technique) that is both simpler and more powerful than the state of the art, and can readily be used by Scala programmers with no knowledge of metaprogramming.

http://dl.acm.org/authorize?N47290
this URL might only work when visiting from a http://www.sigplan.org/ URL.

Conference Day
Tue 24 Oct

Displayed time zone: Tijuana, Baja California change

10:30 - 12:00
PerformanceGPCE 2017 at Regency A
Chair(s): Matthew FlattUniversity of Utah
10:30
25m
Talk
Quoted Staged Rewriting: A Practical Approach to Library-Defined OptimizationsBest Paper
GPCE 2017
DOI Authorizer link Media Attached
10:55
25m
Talk
Reducing Calling Convention Overhead in Object-Oriented Programming on Embedded ARM Thumb-2 Platforms
GPCE 2017
Joseph CaldwellUniversity of Tokyo, Japan, Shigeru ChibaUniversity of Tokyo, Japan
DOI Authorizer link
11:20
25m
Talk
RaTrace: Simple and Efficient Abstractions for BVH Ray Traversal Algorithms
GPCE 2017
Arsène Pérard-GayotSaarland University, Germany, Martin WeierBonn-Rhein-Sieg University of Applied Sciences, Germany, Richard MembarthDFKI, Germany, Philipp SlusallekDFKI, Germany, Roland LeißaSaarland University, Germany, Sebastian HackSaarland University, Germany
DOI Authorizer link
11:45
15m
Talk
Towards Compositional and Generative Tensor OptimizationsShort paper
GPCE 2017
Adilla SusungiMINES ParisTech, France, Norman A. RinkTU Dresden, Germany, Jeronimo CastrillonTU Dresden, Germany, Immo HuismannTU Dresden, Germany, Albert CohenInria, France / ENS, France, Claude TadonkiMINES ParisTech, France, Jörg StillerTU Dresden, Germany, Jochen FröhlichTU Dresden, Germany
DOI Authorizer link