Modeling and Optimization of Control Problems on GPUs
Alexis Montoison, Jean-Baptiste Caillau
TL;DR
The paper addresses the challenge of solving large-scale sparse nonlinear OCPs by building an end-to-end GPU-first workflow in Julia. It discretizes continuous dynamics via direct transcription, compiles the resulting sparse NLPs into SIMD-enabled GPU kernels, and solves them on NVIDIA GPUs using MadNLP.jl and cuDSS. The approach delivers substantial speed-ups over CPU-based toolchains on benchmark problems like the Goddard rocket and quadrotor, demonstrating scalable performance for real-time or large-scale applications. This work enables high-performance, portable optimal control computation in robotics, aerospace, and related fields, with a clear path toward multi-GPU and differentiable programming integration.
Abstract
We present a fully Julia-based, GPU-accelerated workflow for solving large-scale sparse nonlinear optimal control problems. Continuous-time dynamics are modeled and then discretized via direct transcription with \texttt{OptimalControl.jl} into structured sparse nonlinear programs. These programs are compiled into GPU kernels using \texttt{ExaModels.jl}, leveraging SIMD parallelism for fast evaluation of objectives, constraints, gradients, Jacobians and Hessians. The resulting sparse problems are solved entirely on GPU using the interior-point solver \texttt{MadNLP.jl} and the GPU sparse linear solver cuDSS, yielding significant speed-ups over CPU-based approaches.
