Litcius/Paper detail

GPU acceleration of ADMM for large-scale quadratic programming

Michel Schubiger, Goran Banjac, John Lygeros

2020Journal of Parallel and Distributed Computing56 citationsDOIOpen Access PDF

Abstract

The alternating direction method of multipliers (ADMM) is a powerful operator splitting technique for solving structured convex optimization problems. Due to its relatively low per-iteration computational cost and ability to exploit sparsity in the problem data, it is particularly suitable for large-scale optimization. However, the method may still take prohibitively long to compute solutions to very large problem instances. Although ADMM is known to be parallelizable, this feature is rarely exploited in real implementations. In this paper we exploit the parallel computing architecture of a graphics processing unit (GPU) to accelerate ADMM. We build our solver on top of OSQP, a state-of-the-art implementation of ADMM for quadratic programming. Our open-source CUDA C implementation has been tested on many large-scale problems and was shown to be up to two orders of magnitude faster than the CPU implementation.

Topics & Concepts

Computer scienceCUDASolverExploitGraphics processing unitParallelizable manifoldParallel computingGeneral-purpose computing on graphics processing unitsAccelerationQuadratic programmingComputational scienceMathematical optimizationGraphicsAlgorithmMathematicsComputer graphics (images)Computer securityProgramming languageClassical mechanicsPhysicsSparse and Compressive Sensing TechniquesAdvanced Optimization Algorithms ResearchMatrix Theory and Algorithms