Many graphics and vision problems are naturally expressed as optimizations
with either linear or non-linear least squares 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 in interactive
applications. We propose a new language, Opt (available under
http://optlang.org), in which a user simply writes energy functions over image-
or graph-structured unknowns, and a compiler automatically generates
state-of-the-art GPU optimization kernels. The end result is a system in which
real-world energy functions in graphics and vision applications are expressible
in tens of lines of code. They compile directly into highly-optimized GPU
solver implementations with performance competitive with the best published
hand-tuned, application-specific GPU solvers, and 1-2 orders of magnitude
beyond a general-purpose auto-generated solver.
%0 Generic
%1 devito2016domain
%A DeVito, Zachary
%A Mara, Michael
%A Zollhöfer, Michael
%A Bernstein, Gilbert
%A Ragan-Kelley, Jonathan
%A Theobalt, Christian
%A Hanrahan, Pat
%A Fisher, Matthew
%A Nießner, Matthias
%D 2016
%K acreuser cpp optimization
%T Opt: A Domain Specific Language for Non-linear Least Squares
Optimization in Graphics and Imaging
%U http://arxiv.org/abs/1604.06525
%X Many graphics and vision problems are naturally expressed as optimizations
with either linear or non-linear least squares 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 in interactive
applications. We propose a new language, Opt (available under
http://optlang.org), in which a user simply writes energy functions over image-
or graph-structured unknowns, and a compiler automatically generates
state-of-the-art GPU optimization kernels. The end result is a system in which
real-world energy functions in graphics and vision applications are expressible
in tens of lines of code. They compile directly into highly-optimized GPU
solver implementations with performance competitive with the best published
hand-tuned, application-specific GPU solvers, and 1-2 orders of magnitude
beyond a general-purpose auto-generated solver.
@misc{devito2016domain,
abstract = {Many graphics and vision problems are naturally expressed as optimizations
with either linear or non-linear least squares 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 in interactive
applications. We propose a new language, Opt (available under
http://optlang.org), in which a user simply writes energy functions over image-
or graph-structured unknowns, and a compiler automatically generates
state-of-the-art GPU optimization kernels. The end result is a system in which
real-world energy functions in graphics and vision applications are expressible
in tens of lines of code. They compile directly into highly-optimized GPU
solver implementations with performance competitive with the best published
hand-tuned, application-specific GPU solvers, and 1-2 orders of magnitude
beyond a general-purpose auto-generated solver.},
added-at = {2016-04-25T09:09:47.000+0200},
author = {DeVito, Zachary and Mara, Michael and Zollhöfer, Michael and Bernstein, Gilbert and Ragan-Kelley, Jonathan and Theobalt, Christian and Hanrahan, Pat and Fisher, Matthew and Nießner, Matthias},
biburl = {https://www.bibsonomy.org/bibtex/29c8e823fcfac1c3b5e6369c1dbafbbcf/pixor},
description = {1604.06525v1.pdf},
interhash = {5489d97759b4516124359d8af0bcd71d},
intrahash = {9c8e823fcfac1c3b5e6369c1dbafbbcf},
keywords = {acreuser cpp optimization},
note = {cite arxiv:1604.06525v1.pdf},
timestamp = {2016-04-25T09:09:47.000+0200},
title = {Opt: A Domain Specific Language for Non-linear Least Squares
Optimization in Graphics and Imaging},
url = {http://arxiv.org/abs/1604.06525},
year = 2016
}