Open zhouyou-gu opened 2 years ago
Yes there is something broken about the GPU solver for some machines (eg https://github.com/cvxgrp/scs/issues/180). What OS are you using and what GPU do you have?
I would recommend sticking to the direct cpu solver for now.
Thanks for your reply! The program ran on a virtual machine with ubuntu 20.04, CUDA 11.2, GPU 2080Ti. I use scs-python interface at scs-python, which is compiled with --scs --gpu
.
I am not sure whether I compile everything correctly or not, even if I can run the program and it shows the GPU is connected.
I will look at the issue in your reply in detail and get back to update later.
Additional things I would like to ask about GPU acceleration. Currently, I am working on some real-time applications, and the solving time in my problem is at tens of milliseconds when using CPU and the amount of iterations is approximately 1k. How much do u think roughly GPU can reduce in solving time compared with CPU?
Thanks for the info. I'm not sure what is causing this issue and it's something we're looking at.
As for timing, in many cases the GPU solver is actually slower, so you're probably better off just sticking to the direct CPU solver. By the way, have you tried warm-starting the solver? That might provide some speedup. Also you can try using CVXPYs parametrized programming (https://www.cvxpy.org/tutorial/advanced/index.html#disciplined-parametrized-programming). Another thing is you should reuse the scale
value that SCS determines works best from one solve to the next.
Thx for the suggestions! I actually have tried every method you have mentioned to speed up the process :). Nevertheless, since GPU may not possibly be faster, I will just stick with CPU solver. Appreciate your help!
Hi everyone,
I attempted to solve this example problem by using SCS GPU, CVXPY Example:Semidefinite program
However, I do not see any convergence in the problem. The output is attached below and the solver config is
prob.solve(verbose=True, gpu=True, use_indirect=True,max_iters=10000)
May I have some hints on this issue? Many thanks in advance!