CuPIQP: A Batched and Differentiable QP Solver on GPUs for Robot Learning and Control
Quadratic programs (QPs) are fundamental building blocks of many robotic tasks such as inverse kinematics, whole-body control, and model predictive control. Extending these methods to large-scale robot learning and control requires solving many QPs concurrently and, for end-to-end learning, differentiating through their solutions. Efficient batched optimization is therefore essential to bringing established model-based methods into GPU-based robotics pipelines. We present cuPIQP, a batched and differentiable QP solver on GPUs based on a proximal interior-point method, with unified support for dense, sparse, and multistage problems. The solver exploits parallelism across independent QPs and their internal structure while preserving per-problem numerical updates and termination decisions. Benchmarks with up to 16384 QPs per batch demonstrate solve-time speedups of up to $18.8\times$ over Moreau and $4.26\times$ over eight-core PIQP. In an end-to-end learning task, cuPIQP accelerates training by $4.6\times$ over QPAX and $7.8\times$ over Moreau. By reducing the computational cost, cuPIQP provides efficient, reusable infrastructure for integrating model-based optimization into large-scale robot learning and control.
兴趣:reinforcement learning for legged locomotion and sim-to-real transfer