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

Any plans for scipy.optimize? #6112

Open
Rolandw0w opened this issue Nov 17, 2021 · 16 comments
Open

Any plans for scipy.optimize? #6112

Rolandw0w opened this issue Nov 17, 2021 · 16 comments
Labels

Comments

@Rolandw0w
Copy link

Description

I wonder if there are any plans/ETAs on scipy.optimize module?
Thank you!

Additional Information

No response

@Rolandw0w Rolandw0w added the cat:feature New features/APIs label Nov 17, 2021
@leofang
Copy link
Member

leofang commented Nov 17, 2021

There are some discussions ongoing but no concrete plan yet. @Rolandw0w Is there a particular functionality in the scipy.optimize module that you'd like to have?

cc: @cjnolet for vis

@Rolandw0w
Copy link
Author

The problem that brought me here is linear programming and its slowness for scipy implementation.
I thought of RAPIDS and cuml; I've successfully used them on Kaggle earlier, so I started looking for GPU implementations.
Thanks!

@cjnolet
Copy link
Member

cjnolet commented Nov 17, 2021

@Rolandw0w,

Indeed, the current discussions have been around generalizing some of the solvers from cuml and move them to the RAFT project (https://github.com/rapidsai/raft) so they can be exposed through the cupy.optimize package. Once we have the infrastructure to expose them from RAFT, we're hoping to add new solvers as the needs arise.

@Rolandw0w
Copy link
Author

Rolandw0w commented Nov 17, 2021

Sounds good, thank you!
Feel free to close this issue.

@kmaehashi
Copy link
Member

kmaehashi commented Nov 18, 2021

Let's keep this issue open so that others can find the latest status 😃

@leofang
Copy link
Member

leofang commented Nov 19, 2021

xref: rapidsai/raft#374

@cjnolet
Copy link
Member

cjnolet commented May 19, 2022

@Rolandw0w I just want to follow up on this issue as we are now starting to make RAFT features available to cupy through pylibraft. If you had your choice, is there any particular linear programming method you'd prefer to see implemented first?

@Rolandw0w
Copy link
Author

@cjnolet If I had to choose, I'd prefer HiGHS dual simplex. IIRC, this method is suitable for parallel implementation.
But any other method would be great too.

@leofang
Copy link
Member

leofang commented May 20, 2022

In addition to SLSQP, CG, BFGS and L-BFGS-B are also great options for starter.

@cjnolet
Copy link
Member

cjnolet commented Jun 1, 2022

Tagging @teju85 for further viz.

@domattioli
Copy link

Any update?

@ndjvisser
Copy link

Any update on this? Would love to have a gpu version of scipy.optimize.minimize using SLSQP

@taylorpatti
Copy link

Chiming in to agree with ndjvisser - I'd love a scipy.optimize.minimize implementation.

@lpsgverrilla
Copy link

Don't know if possible, but I would like very much scipy.optimize.differential_evolution on cupy!

@jakirkham
Copy link
Member

Maybe folks asking for this could share more about their use cases? How would you use this functionality? What would it help you accomplish?

@lpsgverrilla
Copy link

Maybe folks asking for this could share more about their use cases? How would you use this functionality? What would it help you accomplish?

I don't have much knowledge about the subject at all, so I may be wrong in multiple accounts.
That said, recently I have started a deep quest into optimizing performance of a scipy.differential_evolution workflow (CPU).
One of the venues I explored was Differential Evolution in GPU, but I didn't find any python library offering it with same functionality of scipy's implementation, which is quite robust and rich.
I have found research papers citing how gpu could greatly improve performance of DE, though.
Currently I'm exploring other venues.

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

No branches or pull requests

9 participants