Python wrapper for CUDA implementation of OSQP.
The OSQP (Operator Splitting Quadratic Program) solver is a numerical optimization package for solving problems in the form
minimize 0.5 x' P x + q' x subject to l <= A x <= u
where x in R^n
is the optimization variable. The objective function
is defined by a positive semidefinite matrix P in S^n_+
and vector
q in R^n
. The linear constraints are defined by matrix
A in R^{m x n}
and vectors l in R^m U {-inf}^m
,
u in R^m U {+inf}^m
.
You need to install the following:
- NVIDIA CUDA Toolkit
- CMake
- GCC compiler (Linux) or Build Tools for Visual Studio 2017 (Windows)
Make sure the environment variable CUDA_PATH
is set to the CUDA Toolkit install directory.
Then run the following commands in your terminal:
git clone --recurse-submodules https://github.com/oxfordcontrol/cuosqp cd cuosqp python setup.py install
The interface is documented here.
If you use cuosqp for research, please cite our accompanying paper:
@article{cuosqp, author = {Schubiger, M. and Banjac, G. and Lygeros, J.}, title = {{GPU} acceleration of {ADMM} for large-scale quadratic programming}, journal = {Journal of Parallel and Distributed Computing}, year = {2020}, volume = {144}, pages = {55--67}, doi = {10.1016/j.jpdc.2020.05.021}, }