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.

Tue 24 Oct

Displayed time zone: Tijuana, Baja California change

10:30 - 12:00
PerformanceGPCE 2017 at Regency A
Chair(s): Matthew Flatt University 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 Caldwell University of Tokyo, Japan, Shigeru Chiba University 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-Gayot Saarland University, Germany, Martin Weier Bonn-Rhein-Sieg University of Applied Sciences, Germany, Richard Membarth DFKI, Germany, Philipp Slusallek DFKI, Germany, Roland Leißa Saarland University, Germany, Sebastian Hack Saarland University, Germany
DOI Authorizer link
11:45
15m
Talk
Towards Compositional and Generative Tensor OptimizationsShort paper
GPCE 2017
Adilla Susungi MINES ParisTech, France, Norman A. Rink TU Dresden, Germany, Jeronimo Castrillon TU Dresden, Germany, Immo Huismann TU Dresden, Germany, Albert Cohen Inria, France / ENS, France, Claude Tadonki MINES ParisTech, France, Jörg Stiller TU Dresden, Germany, Jochen Fröhlich TU Dresden, Germany
DOI Authorizer link