-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
RFC: Split multi.jl into multiple files. Wrap parallel into its own module. #19056
Conversation
Any thoughts on this? Any reasons to NOT have a |
👍 from me. |
Will merge this tomorrow. |
Now that you ask, there could be a separate module called Not relevant here, but do we need to put Channels in their own module too? |
@ViralBShah , I agree with you on differentiating between a higher level API (for users) and a lower level RPC API (for library writers). However, at this time I want to merge this as is and take some more time to debate the correct way of modularization Parallel and the interfaces between each of them. Broadly, functionally I can think of
IMO, Channels and all task related code should be grouped together under module |
In order to make this a toplevel module? 😛 But seriously, would it be difficult to make this a toplevel module? I think |
# * integrate event loop with other kinds of i/o (non-messages) | ||
# * recover from i/o errors | ||
# * all-to-all communication | ||
# * dynamically adding nodes (then always start with 1 and grow) |
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.
Can delete this list (* means done)
@vtjnash That is the long term-goal, but should we start moving bits and pieces out before we have the infrastructure for |
We should be able to make them toplevel modules without yet changing anything about the |
As a first step, I'll just rebase and merge as is. Will take a shot at making it a top-level module in a different PR. The main issues in distentangling that I see are:
|
42af1df
to
c7d871b
Compare
I am going to rework this again in a few days to make it mergeable. Would like to get it in in the 0.6 timeframe. No user facing functionality change. Just code reorg. |
still planning on doing this? |
Yes. I am waiting for other PRs to get in / not get in before redoing this PR. |
You may want to refresh this change so it can be merged since it's not externally visible and then rebase the parallel for change on top of this. |
Not externally visible – can be done whenever. |
Closing in favor of #20428 As mentioned there, we should get this in soon. Will help in backporting bugfixes onto 0.6. |
A first step in refactoring and making multi.jl more modular with cleaner separation of functionality. This PR splits multi.jl into smaller files and moves all multiprocessing code into a new module
Base.Parallel