This repository was used to generated the numerical results in the paper titled QOCO-GPU: A Quadratic Objective Conic Optimizer with GPU Acceleration.
To run the benchmarks follow the steps
-
Create a python 3.13 virtual environment
-
Run
pip install -r requirements.txt -
Install CuClarabel: https://www.cvxpy.org/install/index.html?h=cuclarabel. You may have to install it in the PyCall julia environment. Since I use anaconda this required running the following commands:
First, pin
juliacallto a version whose bundledPythonCallmatches what the CuClarabel branch requires (PythonCall = "=0.9.31"). Newerjuliacallreleases pinPythonCallto a different version and make the Julia environment unsolvable, which causes thePythonExtextension (andcupy_to_cucsrmat) to be missing at runtime:
pip install 'juliacall==0.9.31'
python -c 'import juliacall' # re-resolves the Julia env with PythonCall 0.9.31
julia --project=/home/govind/anaconda3/envs/test/julia_env -e 'import Pkg; Pkg.add(Pkg.PackageSpec(
url="https://github.com/oxfordcontrol/Clarabel.jl",
rev="CuClarabel"
))'
julia --project=/home/govind/anaconda3/envs/test/julia_env -e 'import Pkg; Pkg.add("CUDA")'
- Run
./run_all.shand the figures will be created in thefigures/directory
@article{chari2026qocogpu,
title = {{QOCO}-{GPU}: A Quadratic Objective Conic Optimizer with GPU Acceleration},
author = {Chari, Govind M and A{\c{c}}{\i}kme{\c{s}}e, Beh{\c{c}}et},
journal = {arXiv preprint arXiv:2603.29197},
year = {2026},
}