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 JanDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:30 - 17:45 | |||
16:30 25mTalk | A Program Optimization for Automatic Database Result Caching POPL | ||
16:55 25mTalk | Stream Fusion, to Completeness POPL Oleg Kiselyov , Aggelos Biboudis University of Athens, Nick Palladinos Nessos Information Technologies, SA, Yannis Smaragdakis University of Athens Pre-print Media Attached | ||
17:20 25mTalk | Rigorous Floating-point Mixed Precision Tuning POPL Wei-Fan Chiang School of Computing, University of Utah, Ganesh Gopalakrishnan University of Utah, Zvonimir Rakamaric University of Utah, Ian Briggs School of Computing, University of Utah, Marek S. Baranowski University of Utah, Alexey Solovyev School of Computing, University of Utah Pre-print |