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

Speeding up Bioscrape Inference #38

Open
WilliamIX opened this issue May 28, 2020 · 3 comments
Open

Speeding up Bioscrape Inference #38

WilliamIX opened this issue May 28, 2020 · 3 comments
Labels
enhancement New feature or request help wanted Extra attention is needed Inference Issues Pertaining to Bioscrape Inference, Parameter Identificaiton, and System Identification

Comments

@WilliamIX
Copy link
Collaborator

Emcee is designed to deal with parallelization - we should make use of this!

@WilliamIX WilliamIX added enhancement New feature or request help wanted Extra attention is needed Inference Issues Pertaining to Bioscrape Inference, Parameter Identificaiton, and System Identification labels May 28, 2020
@ayush9pandey
Copy link
Collaborator

I will bring this up again in BE240 recitation to see if we can get help on this from someone...

@ayush9pandey
Copy link
Collaborator

Reviving this issue, since there has been some progress on it over the last few months. A related issue is to add GPU compatibility for inference.

@Farnazmdi (bioscrape reviewer for JOSS) suggested Numpyro as a possible option that may speed up the inference module.

@WilliamIX I believe you have worked on both of these aspects - parallelization and GPU compatibility. Do you want to add your thoughts here?

@ayush9pandey ayush9pandey changed the title Parallelized Module In Bioscrape Inference Speeding up Bioscrape Inference Feb 17, 2023
@WilliamIX
Copy link
Collaborator Author

Thanks for suggesting this @ayush9pandey and @Farnazmdi. Short answer is that the bulk of Bioscrape was written before Numpyro and similar tools were commonly used and stable. I agree that such libraries provide a route for potential GPU compatibility, however they would likely require a complete overhaul of the entire library switching from compiled Cython code to just-in-time compilation methods with completely different dependencies and implementation.

At a higher level, there are a number of GPU-enabled ODE and SSA solvers that have become available in the past few years. I think these are better options for GPU-based inference approaches. Bioscrape is not aiming to be the fastest inference engine possible, but rather strike a balance between a functional set of unique features (many of which aren't readily available in many simulators, such as stochastic delays) and speed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed Inference Issues Pertaining to Bioscrape Inference, Parameter Identificaiton, and System Identification
Projects
None yet
Development

No branches or pull requests

2 participants