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

Consider support for Numba #25

Closed
polsys opened this issue May 20, 2020 · 4 comments
Closed

Consider support for Numba #25

polsys opened this issue May 20, 2020 · 4 comments
Labels
performance Making the code fast!

Comments

@polsys
Copy link
Owner

polsys commented May 20, 2020

Try and see how much faster Numba makes the estimation code. I think there is a lot of potential since the algorithm does a lot of tight loops in Python code.

It would be good to make the integration optional for those who do not have Numba installed. This would mean separate CI test legs for compiled and interpreted versions.

@polsys polsys added the performance Making the code fast! label May 20, 2020
@polsys polsys added this to the Alpha 2 milestone May 20, 2020
@polsys
Copy link
Owner Author

polsys commented Jun 9, 2020

By my initial tests, the benchmark run times are reduced to 25% or even 10% (large_sample_mi) of original. However, this only applies to unconditional MI. I will still have to figure out how to support conditional MI; Numba does not like arbitrary-length tuples.

The Numba annotations are a bit invasive, so I'm thinking of making it a hard dependency. All sensible platforms should be able to run Numba after all. This will cause some maintenance burden as Numba is more strictly coupled to Python/NumPy versions, but it should be manageable.

@polsys
Copy link
Owner Author

polsys commented Jun 10, 2020

I still had some trouble with type inference for the n-dimensional grid type, and numba issue 1269 must be worked around.

This was referenced Jun 15, 2020
@polsys
Copy link
Owner Author

polsys commented Jun 15, 2020

This is now more of a meta-issue for the overall Numba support. I will try to get basic support working in Alpha 2, and then extend it as Numba matures. The integration needs to be strictly optional.

@polsys
Copy link
Owner Author

polsys commented Jul 9, 2020

Closing this. See the discussion in #39.

@polsys polsys closed this as completed Jul 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Making the code fast!
Projects
None yet
Development

No branches or pull requests

1 participant