Fast Linear Programming through Transprecision Computing on Small and Sparse Data
Sat 21 Nov 2020 03:20 - 03:40 at SPLASH-I - F-5A Chair(s): Alex Potanin
A plethora of program analysis and optimization techniques rely on linear programming at their heart. However, such techniques are often considered too slow for production use. While today’s best solvers are optimized for complex problems with thousands of dimensions, linear programming, as used in compilers, is typically applied to small and seemingly trivial problems, but to many instances in a single compilation run. As a result, compilers do not benefit from decades of research on optimizing large-scale linear programming. We design a simplex solver targeted at compilers. A novel theory of transprecision computation applied from individual elements to full data-structures provides the computational foundation. By carefully combining it with optimized representations for small and sparse matrices and specialized small-coefficient algorithms, we (1) reduce memory traffic, (2) exploit wide vectors, and (3) use low-precision arithmetic units effectively. We evaluate our work by embedding our solver into a state-of-the-art integer set library and implement one essential operation, coalescing, on top of our transprecision solver. Our evaluation shows more than an order-of-magnitude speedup on the core simplex pivot operation and a mean speedup of 3.2x (vs. GMP) and 4.6x (vs. IMath) for the optimized coalescing operation. Our results demonstrate that our optimizations exploit the wide SIMD instructions of modern microarchitectures effectively. We expect our work to provide foundations for a future integer set library that uses transprecision arithmetic to accelerate compiler analyses.
Fri 20 NovDisplayed time zone: Central Time (US & Canada) change
15:00 - 16:20 | F-5AOOPSLA at SPLASH-I +12h Chair(s): Jonathan Aldrich Carnegie Mellon University, David Grove IBM Research | ||
15:00 20mTalk | Effects as Capabilities: Effect Handlers and Lightweight Effect Polymorphism OOPSLA Jonathan Immanuel Brachthäuser EPFL, Philipp Schuster University of Tübingen, Klaus Ostermann University of Tübingen Link to publication DOI Pre-print Media Attached | ||
15:20 20mTalk | Fast Linear Programming through Transprecision Computing on Small and Sparse Data OOPSLA Tobias Grosser University of Edinburgh, Theodoros Theodoridis ETH Zurich, Maximilian Falkenstein ETH Zurich, Arjun Pitchanathan IIIT Hyderabad, Michael Kruse Argonne National Laboratory, Manuel Rigger ETH Zurich, Zhendong Su ETH Zurich, Torsten Hoefler ETH Zurich Link to publication DOI Media Attached |
Sat 21 NovDisplayed time zone: Central Time (US & Canada) change
03:00 - 04:20 | |||
03:00 20mTalk | Effects as Capabilities: Effect Handlers and Lightweight Effect Polymorphism OOPSLA Jonathan Immanuel Brachthäuser EPFL, Philipp Schuster University of Tübingen, Klaus Ostermann University of Tübingen Link to publication DOI Pre-print Media Attached | ||
03:20 20mTalk | Fast Linear Programming through Transprecision Computing on Small and Sparse Data OOPSLA Tobias Grosser University of Edinburgh, Theodoros Theodoridis ETH Zurich, Maximilian Falkenstein ETH Zurich, Arjun Pitchanathan IIIT Hyderabad, Michael Kruse Argonne National Laboratory, Manuel Rigger ETH Zurich, Zhendong Su ETH Zurich, Torsten Hoefler ETH Zurich Link to publication DOI Media Attached |