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

Speed of QP solver is very slow #16

Closed
ashishrao7 opened this issue Nov 23, 2021 · 4 comments
Closed

Speed of QP solver is very slow #16

ashishrao7 opened this issue Nov 23, 2021 · 4 comments
Assignees
Labels
0-needs-review Has to be reviewed.

Comments

@ashishrao7
Copy link
Collaborator

The functioning of the QP solver is extremely slow compared to a pure numpy implementation. This is in reference to Issue lava-nc/lava#36

@awintel
Copy link
Contributor

awintel commented Nov 23, 2021

What is this story about? Could you provide more context?

  • Is this after Harry's fix?
  • How does this relate to the original issue and the first solution from Harry?
  • What do you expect to happen next?
  • ...

@ashishrao7
Copy link
Collaborator Author

ashishrao7 commented Nov 24, 2021

Before Harry's fix in lava-nc/lava#87, the CSP based implementation was 5000x slower than pure numpy implementation as pointed out in lava-nc/lava#36. After the fix there is an ~50x improvement in speed as compared to before but it's still 100x slower than a pure numpy implementation. (Intel Core i5-5257U with 8GB RAM, running Ubuntu 20.04.2 LTS with lava v0.2.0 vs v0.1.1)
This issue was created to be a reference in lava-optimization for the speed improvement. An issue for further speed up (if possible and necessary) will be created separately.

@GaboFGuerra
Copy link
Collaborator

@ashishrao7 what is the status of this issue? was there any progress or is the SW lava backend still slower than numpy?

@ashishrao7
Copy link
Collaborator Author

No the software backed is now much faster than it was when the issue was made. I think the speed issue after Harry's fix was because of a hacky primitive profiling tool that I had developed and was using. One also has to keep in mind that using get()/set() can also make it slow because of the serial nature of get()/set(). Closing this issue now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0-needs-review Has to be reviewed.
Projects
None yet
Development

No branches or pull requests

4 participants