A New Architecture for Optimization Modeling Frameworks
Matt Wytock, Steven Diamond, Felix Heide, Stephen Boyd

TL;DR
This paper introduces a novel architecture for optimization modeling frameworks that leverages computation graphs, enabling better support for high-performance platforms and specialized solvers, demonstrated through the cvxflow framework.
Contribution
It presents a new architecture for optimization frameworks using computation graphs, facilitating GPU and distributed computing, and introduces cvxflow, an open-source implementation.
Findings
cvxflow outperforms existing solvers
architecture supports GPUs and distributed systems
enhances customization of solvers
Abstract
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
