WarpMPC: Large-Batch MPC on GPU via ADMM with Unrolled $LDL^\top$ Factorization

📄 arXiv: 2607.11603v1 📥 PDF

作者: Henrik Hose, Se Hwan Jeon, Charles Khazoom, Sangbae Kim, Sebastian Trimpe

分类: cs.RO, eess.SY, math.OC

发布日期: 2026-07-13


💡 一句话要点

提出WarpMPC以提升GPU上大批量MPC求解效率

🎯 匹配领域: 支柱一:机器人控制 (Robot Control)

关键词: 模型预测控制 GPU计算 顺序二次规划 稀疏线性分解 交替方向乘子法 实时控制 机器人技术

📋 核心要点

  1. 现有方法在处理大批量MPC问题时,计算效率低下,难以满足实时控制需求。
  2. 论文提出通过展开稀疏线性分解和求解,优化内存布局和调度策略,以提升GPU的计算吞吐量。
  3. 实验结果表明,WarpMPC在多个基准测试中实现了3倍到25倍的性能提升,展示了其在实际应用中的有效性。

📝 摘要(中文)

本文介绍了一种数值优化方法,旨在通过在GPU上解决大批量(10,000到超过100,000)顺序二次规划(SQP)迭代时最大化吞吐量。优化实现于WarpMPC工具箱中,专为JAX和Warp中的模型预测控制(MPC)设计。基于所有MPC问题实例在时间、成本和约束上的稀疏性共享的洞察,提出了展开稀疏线性分解和求解的方法,显著提升了交替方向乘子法(ADMM)求解器的运行效率。通过优化内存布局、减少填充的分段和依赖级别调度的回代求解,避免了内存访问瓶颈和计算浪费,进一步加速了灵敏度计算。在非线性倒立摆、四旋翼和人形机器人基准测试中,我们实现了每秒8,000到250,000次SQP迭代的吞吐量,性能超越基线3倍到25倍。我们通过合成数据集并在4分钟内训练出一个MPC的神经网络近似,展示了其在硬件实验中稳定纳米四旋翼的实际应用价值。

🔬 方法详解

问题定义:本文旨在解决在GPU上处理大批量MPC问题时的计算效率低下问题。现有方法在面对成千上万的SQP迭代时,往往无法充分利用GPU的并行计算能力,导致性能瓶颈。

核心思路:论文的核心思路是利用所有MPC问题实例在时间、成本和约束上的稀疏性,通过展开稀疏线性分解和求解,优化ADMM求解器的运行时间。这种方法能够有效减少内存访问和计算浪费,从而提升整体吞吐量。

技术框架:整体架构包括数据预处理、稀疏线性分解展开、优化内存布局、依赖级别调度的回代求解和灵敏度计算模块。每个模块相互配合,以实现高效的MPC求解。

关键创新:最重要的技术创新在于提出了展开稀疏线性分解的策略,这一策略与传统的ADMM方法相比,显著减少了求解时间和内存瓶颈,提升了GPU的计算效率。

关键设计:在设计中,优化了内存布局以减少访问延迟,采用了填充减少的分段策略,并引入了依赖级别调度的回代求解,以加速灵敏度计算。这些设计细节共同作用,提升了整体性能。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果显示,WarpMPC在非线性倒立摆、四旋翼和人形机器人基准测试中实现了每秒8,000到250,000次SQP迭代的吞吐量,相较于基线方法提升了3倍到25倍,展示了其卓越的性能和实用性。

🎯 应用场景

该研究的潜在应用领域包括机器人控制、自动驾驶、无人机飞行控制等实时系统。通过提升MPC的计算效率,WarpMPC能够在复杂环境中实现更高效的决策和控制,具有重要的实际价值和广泛的应用前景。

📄 摘要(原文)

This paper introduces numerical optimizations for maximizing throughput on GPU when solving large batches (10,000 to over 100,000) of sequential quadratic programming (SQP) iterations, where all problems have the same structure. The optimizations are implemented in a toolbox WarpMPC for model-predictive control (MPC) in JAX and Warp. Based on the insight that all MPC problem instances in a batch share the same sparsity in time, cost, and constraints, we propose unrolling sparse linear factorizations and solves, which dominate alternating direction method of multipliers (ADMM) solver runtime. We avoid memory access bottlenecks and wasting computations via optimized memory layout, padding-reducing segmentation of the unrolled factorization, and dependency level scheduled backsolves, additionally accelerating sensitivity computation. We achieve throughputs of 8,000 to 250,000 SQP iterations per second on nonlinear cartpole, quadrotor, and humanoid robot benchmarks, outperforming baselines by 3$\times$ to 25$\times$. We illustrate practical usefulness by synthesizing a dataset and training a neural network approximation of an MPC in under 4 minutes that stabilizes a nano quadrotor in hardware experiments.