Cyqlone: A Parallel, High-Performance Linear Solver for Optimal Control
Pieter Pas, Panagiotis Patrinos

TL;DR
Cyqlone is a high-performance, parallel linear solver tailored for optimal control problems, enabling real-time solutions for long horizons by leveraging multi-level parallelism and vectorization techniques.
Contribution
The paper introduces Cyqlone, a novel parallel linear solver that unifies multiple algorithms to minimize computations and maximize hardware utilization for optimal control.
Findings
Scales logarithmically with horizon length given sufficient parallelism
Outperforms traditional solvers like BLAS and BLASFEO on small matrices
Achieves order-of-magnitude speedups over HPIPM
Abstract
We present Cyqlone, a solver for linear systems with a stage-wise optimal control structure that fully exploits the various levels of parallelism available in modern hardware. Cyqlone unifies algorithms based on the sequential Riccati recursion, parallel Schur complement methods, and cyclic reduction methods, thereby minimizing the required number of floating-point operations, while allowing parallelization across a configurable number of processors. Given sufficient parallelism, the solver run time scales with the logarithm of the horizon length (in contrast to the linear scaling of sequential Riccati-based methods), enabling real-time solution of long-horizon problems. Beyond multithreading on multi-core processors, implementations of Cyqlone can also leverage vectorization using batched linear algebra routines. Such batched routines exploit data parallelism using single instruction,…
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.
Taxonomy
TopicsMatrix Theory and Algorithms · Parallel Computing and Optimization Techniques · Advanced Optimization Algorithms Research
