Skip to content
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

Parallel functionality like proxsuite.proxqp.dense.solve_in_parallel missing from linux python proxsuite builds #356

Open
jberg7 opened this issue Nov 27, 2024 · 7 comments

Comments

@jberg7
Copy link

jberg7 commented Nov 27, 2024

Hi all, I was hoping to use the python binding of your parallel solver implementation (e.g. proxsuite.proxqp.dense.solve_in_parallel), but it looks like it's missing from my linux proxsuite installation:

>>> import proxsuite
>>> help(proxsuite.proxqp.dense.solve_in_parallel)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'proxsuite.proxsuite_pywrap_avx512.proxqp.dense' has no attribute 'solve_in_parallel'
> pip show proxsuite
Name: proxsuite
Version: 0.6.7

From clicking around, it seems as though DBUILD_WITH_OPENMP_SUPPORT:BOOL=ON controls whether parallel methods get built into the project, and if I understand correctly that flag is not enabled for linux builds currently.

Is there a reason for this? I got excited when I saw support for parallel solving in the readme, and it would be great if I could use it without having to try to build proxsuite from source.

@jberg7 jberg7 changed the title Parallel functionality like proxsuite.proxqp.dense.solve_in_parallel missing from linux proxsuite builds Parallel functionality like proxsuite.proxqp.dense.solve_in_parallel missing from linux python proxsuite builds Nov 27, 2024
@fabinsch
Copy link
Collaborator

Hi @jberg7 thanks for your interest in proxsuite. I opened a PR on our conda-feedstock to build with openmp support by default.

For pip I'm not sure, we use cmeel and therefore define the requirements like this. A quick search for cmeel-openmp did not lead me anywhere. Is this planned @nim65s or did I overlook something?

@nim65s
Copy link
Member

nim65s commented Nov 27, 2024

openmp is not a library, but a compiler extension.
For some compilers, there is a need for a companion library, for other not.

I guess it is possible to activate that on cmeel, but I need to test. This is already on my todolist for the end of the year :)

@fabinsch
Copy link
Collaborator

okay, nice thanks for the reply. So probably we will have it by default in conda soon, and maybe later for pip as well :)

@fabinsch
Copy link
Collaborator

Hi @jberg7, I just installed proxsuite in a new conda environment on my linux machine and now it comes with the proxsuite.proxqp.dense.solve_in_parallel function. It should be the same for macos and windows.

@jberg7
Copy link
Author

jberg7 commented Nov 29, 2024

Thanks @fabinsch! Appreciate your help with this - I was able to confirm that solve_in_parallel is available when I installed proxsuite in a new conda environment. Sadly my workflow is more pip based - do you know roughly when this functionality will be available from pip as well?

@jcarpent
Copy link
Member

jcarpent commented Dec 3, 2024

@nim65s Do you have a timeline to sync pip proxsuite build with openmp support?

@nim65s
Copy link
Member

nim65s commented Dec 3, 2024

This is already on my todolist for the end of the year :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants