TY - GEN
T1 - A new architecture for optimization modeling frameworks
AU - Wytock, Matt
AU - Diamond, Steven
AU - Heide, Felix
AU - Boyd, Stephen
N1 - Publisher Copyright:
© 2016 IEEE.
PY - 2017/1/30
Y1 - 2017/1/30
N2 - We propose a new architecture for optimization modeling frameworks in which solvers are expressed as computation graphs in a framework like TensorFlow rather than as standalone programs built on a low-level linear algebra interface. Our new architecture makes it easy for modeling frameworks to support high performance computational platforms like GPUs and distributed clusters, as well as to generate solvers specialized to individual problems. Our approach is particularly well adapted to first-order and indirect optimization algorithms. We introduce cvxflow, an open-source convex optimization modeling framework in Python based on the ideas in this paper, and show that it outperforms the state of the art.
AB - We propose a new architecture for optimization modeling frameworks in which solvers are expressed as computation graphs in a framework like TensorFlow rather than as standalone programs built on a low-level linear algebra interface. Our new architecture makes it easy for modeling frameworks to support high performance computational platforms like GPUs and distributed clusters, as well as to generate solvers specialized to individual problems. Our approach is particularly well adapted to first-order and indirect optimization algorithms. We introduce cvxflow, an open-source convex optimization modeling framework in Python based on the ideas in this paper, and show that it outperforms the state of the art.
UR - http://www.scopus.com/inward/record.url?scp=85015291810&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85015291810&partnerID=8YFLogxK
U2 - 10.1109/PyHPC.2016.009
DO - 10.1109/PyHPC.2016.009
M3 - Conference contribution
AN - SCOPUS:85015291810
T3 - Proceedings of PyHPC 2016: 6th Workshop on Python for High-Performance and Scientific Computing - Held in conjunction with SC16: The International Conference for High Performance Computing, Networking, Storage and Analysis
SP - 36
EP - 44
BT - Proceedings of PyHPC 2016
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 6th Workshop on Python for High-Performance and Scientific Computing, PyHPC 2016
Y2 - 13 November 2016 through 18 November 2016
ER -