POPL 2017
Sun 15 - Sat 21 January 2017
Wed 18 Jan 2017 17:20 - 17:45 at Auditorium - Compiler Optimisation Chair(s): Andrew Myers

Virtually all real-valued computations are carried out using floating-point data types and operations. The precision of these data types must be set with the goals of reducing the overall round-off error, but also emphasizing reduced data movement and cache occupancy costs. Often, a mixed precision allocation achieves this optimum; unfortunately, there are no techniques available to compute such allocations and conservatively meet a given error target across all program inputs. In this work, we present a rigorous approach to precision allocation based on formal analysis via Symbolic Taylor Expansions, and error analysis based on interval functions. This approach is implemented in an automated tool called FPTUNER that generates and solves a quadratically constrained quadratic program to obtain a precision-annotated version of the given expression. FPTUNER automatically introduces all the requisite precision up/down casting operations. It also allows users to flexibly control precision allocation through constraints, including capping the number of high precision operators, grouping a collection of operators to allocate the same precision for them (to facilitate vectorization), etc. Our evaluation, including real energy measurements on an ARM (Jetson) hardware platform, demonstrate the degree to which precision choices can be exercised, especially controlling compiler optimizations, and the energy impacts of these allocations.

Wed 18 Jan

POPL-2017-papers
16:30 - 17:45: POPL - Compiler Optimisation at Auditorium
Chair(s): Andrew MyersCornell University
POPL-2017-papers16:30 - 16:55
Talk
Ziv ScullyCarnegie Mellon University, Adam ChlipalaMIT
POPL-2017-papers16:55 - 17:20
Talk
Oleg Kiselyov, Aggelos BiboudisUniversity of Athens, Nick PalladinosNessos Information Technologies, SA, Yannis SmaragdakisUniversity of Athens
Pre-print Media Attached
POPL-2017-papers17:20 - 17:45
Talk
Wei-Fan ChiangSchool of Computing, University of Utah, Ganesh GopalakrishnanUniversity of Utah, Zvonimir RakamaricUniversity of Utah, Ian BriggsSchool of Computing, University of Utah, Marek S. BaranowskiUniversity of Utah, Alexey SolovyevSchool of Computing, University of Utah
Pre-print