Table of Contents
Fetching ...

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.

Modeling and Optimization of Control Problems on GPUs

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.

Paper Structure

This paper contains 11 sections, 9 equations, 4 figures, 4 tables.

Figures (4)

  • Figure 7.1: Goddard problem, A100 solve. The grid size ranges from to $N = 1e2$ to $N = 1e5$.
  • Figure 7.2: Goddard problem, H100 solve. The grid size ranges from to $N = 1e2$ to $N = 2e5$.
  • Figure 7.3: Quadrotor problem, A100 solve. The grid size ranges from to $N = 1e2$ to $N = 1e5$.
  • Figure 7.4: Quadrotor problem, H100 solve. The grid size ranges from to $N = 1e2$ to $N = 2e5$.