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
Add MPI-capable tasks #9
Conversation
Overall, I really like this approach. if this solution shall work only for mpi tasks which are essentially primitive this should work flawlessly (I am pointing at problems which @dwhswenson and me had some time age with serialization of OPS storage objects). |
@AdamWlodarczyk The serialization stuff is my weak point, if you can suggest something that would be great. |
What's left is to swap out the |
@AdamWlodarczyk This is actually working now. Can you review? I'd like to cut a release of this before our workshop. I'll add tests and maybe refactor a bit next week. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks fine for me.
Thanks for talking a look @AdamWlodarczyk I'll address that comment and add some additional testing and then merge this so I can cut a release to install on JURECA. I plan on reworking the whole test process to emulate what |
(in the same namespace)
Fixes #8
I'm not 100% sure about how I approach the serialization is the right way. Do you know what the cost of serialization is? Here I effectively do it three times, I serialise the function, dask serialises the result, MPI serialises the result of that (to do the broadcast).
The restriction here is that only the root MPI process can return something back to dask (so any management related to that has to be handled by the task itself).