TY - JOUR
T1 - Opt
T2 - A domain specific language for non-linear least squares optimization in graphics and imaging
AU - Devito, Zachary
AU - Mara, Michael
AU - Zollhöfer, Michael
AU - Bernstein, Gilbert
AU - Ragan-Kelley, Jonathan
AU - Theobalt, Christian
AU - Hanrahan, Pat
AU - Fisher, Matthew
AU - Niessner, Matthias
N1 - Publisher Copyright:
© 2017 ACM.
PY - 2017/10
Y1 - 2017/10
N2 - Many graphics and vision problems can be expressed as non-linear least squares optimizations of objective functions over visual data, such as images and meshes. The mathematical descriptions of these functions are extremely concise, but their implementation in real code is tedious, especially when optimized for real-time performance on modern GPUS in interactive appli-cations. In this work, we propose a new language, Opt, 1 for writing these objective functions over image-or graph-structured unknowns concisely and at a high level. Our compiler automatically transforms these specifications into state-of-the-art GPU solvers based on Gauss-Newton or Levenberg-Marquardt methods. Opt can generate different variations of the solver, so users can easily explore tradeoffs in numerical precision, matrix-free methods, and solver approaches. In our results, we implement a variety of real-world graphics and vision applications. Their energy functions are expressible in tens of lines of code and produce highly optimized GPU solver implementations. These solvers are competitive in performance with the best published hand-tuned, application-specificGPUSolvers, and orders ofmagnitude beyond a generalpurpose auto-generated solver.
AB - Many graphics and vision problems can be expressed as non-linear least squares optimizations of objective functions over visual data, such as images and meshes. The mathematical descriptions of these functions are extremely concise, but their implementation in real code is tedious, especially when optimized for real-time performance on modern GPUS in interactive appli-cations. In this work, we propose a new language, Opt, 1 for writing these objective functions over image-or graph-structured unknowns concisely and at a high level. Our compiler automatically transforms these specifications into state-of-the-art GPU solvers based on Gauss-Newton or Levenberg-Marquardt methods. Opt can generate different variations of the solver, so users can easily explore tradeoffs in numerical precision, matrix-free methods, and solver approaches. In our results, we implement a variety of real-world graphics and vision applications. Their energy functions are expressible in tens of lines of code and produce highly optimized GPU solver implementations. These solvers are competitive in performance with the best published hand-tuned, application-specificGPUSolvers, and orders ofmagnitude beyond a generalpurpose auto-generated solver.
KW - Domain-specific languages
KW - Gauss-Newton
KW - Levenberg-Marquardt
KW - Non-linear least squares
KW - Real-time optimization
UR - http://www.scopus.com/inward/record.url?scp=85032921918&partnerID=8YFLogxK
U2 - 10.1145/3132188
DO - 10.1145/3132188
M3 - Article
AN - SCOPUS:85032921918
SN - 0730-0301
VL - 36
JO - ACM Transactions on Graphics
JF - ACM Transactions on Graphics
IS - 5
M1 - A171
ER -