Conversation
s3alfisc
commented
Apr 22, 2025
- Implement a Rust Backend for PyFixest.
- Reorganize demeaner_backend code logic.
|
@s3alfisc it was nice to meet you at the PyCon some weeks ago (we met at the appliedAI booth together with @janosg). I have some time to work on this topic and I would have some questions, before starting. First of all, do you want the user to choose the backend? Or is it a question of benchmarking, i.e. if rust implementation is faster everywhere, then get rid of the numba dependency completely? |
|
Hi @schroedk, that's super awesome and I'm really excited! The idea was to initially support rust as one of three backends - we currently support numba (which is the default) and JAX for runs on the GPU. There I would like to add rust as an option. Eventually (maybe even directly after merging this pr), I would like to make Rust the default backend, still support JAX, and deprecate numba after a while. And in the meantime, we can use the rust + numba backends for easy benchmarking of one implementation against the other. |
…e with function to call rust implementation
…Rust idomatic way
…ic way, add simple test
Codecov ReportAttention: Patch coverage is
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 5 files with indirect coverage changes 🚀 New features to boost your workflow:
|
|
@schroedk just as a status update - I am currently reviewing the rust implementations; only have to go through the "count_fixef_fully_nested". Hopeful I'll be able to merge this in a few days =) |
|
Ok, finished my review + added some docstrings. Only thing to add (I think) is update the readme to "blazing fast" and "written in Rust" 😄 |
|
@all-contributors please add @schroedk for code |
|
I've put up a pull request to add @schroedk! 🎉 |
Implement Rust Backend