-
Notifications
You must be signed in to change notification settings - Fork 3
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
Convert from PyStan back end to BridgeStan #3
Comments
Hey Bob! Thanks a lot for the suggestion. @justindomke pointed out BridgeStan is worth looking at (and potentially rewriting much of vistan to be compatible with BridgeStan.) I will update you once we settle on some ideas. |
We poked around the code a little bit this morning. It seems the only place that the code actually uses pystan is in the file interface.py, and inside of that there’s only a few points where pystan is used. So I think that it should be possible to change over to a dependency on bridgestan instead of pystan without needing to re-write much of anything except a few lines in interface.py.
|
In addition to The PyStan model class and fit objects are used a lot, so those are going to have to be recoded for BridgeStan. I couldn't quite tell from casually looking at the code how the PyStan model and fit classes were used outside of It's super important to turn on Stan optimization. It's currently in this state:
Stan requires I don't see where |
It would be good for performance and for keeping up with Stan releases to replace PyStan with the BridgeStan interface to Stan. BridgeStan is also much simpler. We just released a stable 1.0 version with full doc and testing (please let us know if something's unclear). BridgeStan communicates through the low-level ctypes interface for Python, which lets us do everything in memory directly without copying. It's also good for compatibility and installation because it only requires memory compatibility, which is guaranteed by the C++ spec.
The text was updated successfully, but these errors were encountered: