-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Single core problem-dependant performances ? #253
Comments
There are five places where multi-threading can speed up SCS:
To control the number of threads you can use OMP_NUM_THREADS environment variable (I think this should also work for the MKL threads). |
@bodono just to confirm: |
I tried it out on a fairly large dataset, things end up being slightly slower with MKL than without. I guess for this kind of problem it would make more sense to run each solve on a different core with different data ? Just as a note, if I install MKL with pip, it isn't recognized by |
Specifications
Hi,
I've been going through the documentation and some old issues to look for details on multithreading with SCS. From what I could see, there's no explicit support for it unlike some other solvers, but this old comment mentions the possibility of building from source with OpenMP to make use of multiple cores.
There's also this StackOverflow comment that claims that half of the cores are being used with the default
acceleration_lookback
setting. I've tried bumping up that number up to 100 on my own code, but the problem was still being solved on a single core. Lowering that number to 1 did slow it down though. Does that mean that multicore calculation is not available for all problems ?I gave a quick shot to building from source with OpenMP, which failed most likely because of a compiler issue, but if it's so far the easiest way to speed up solving overall I will definetly try to make it work.
I also tried parallelizing the same problem over multiple sources of data with
joblib
, to no avail.The text was updated successfully, but these errors were encountered: