Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
MPI Standalone Implementation - First Bits #46
MPI Standalone Implementation - First Bits #46
Changes from 17 commits
7a0a305
cd2c581
a4f6867
feb7e8e
6e97ea2
0d17cd6
732afe4
5ae234d
0e3bd08
b70c9d8
37919c0
b2e2b71
c22aa51
6f965c9
7534a0d
448c1f3
38cd510
8622705
a7aa748
6f0afcd
1f6e8a3
4efc512
35f3447
2bd711f
1ecd8f4
ca25dad
027af25
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
Why do we need the modifications to the endpoint here? I would have thought we'd run the endpoint in the foreground or not run it at all. Is it needed for this native MPI stuff?
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.
The endpoint is currently used to bootstrap execution. This is, before instantiating the
SingletonPool
object that starts the thread pool, state server, and http endpoint, we make a call to the scheduler inexamples/mpi_helloworld.cpp:35
this in turn loads the function defined infaabric::executor::mpiFunc
and at this point we don't need the endpoint anymore.If running the HTTP endpoint in the background is something we definately won't need down the road, then these changes may add complexity for a single call, but as previously mentioned they are needed for initialisation.
Alternatively, we could try and come up with a different bootstrapping scheme offline (that does not rely on the handling of http requests).
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.
I can't see where the call to the endpoint is actually made. I can see that the scheduler is called, but I don't think the endpoint needs to be running for the scheduler to work. IIRC the endpoint is basically just an HTTP wrapper around the scheduler that doesn't do much else. What does the endpoint add in this case and where in
mpi_helloworld.cpp
is the endpoint actually used?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.
You are completely right about this. I missunderstood some of the endpoint functionalities, I really don't need it at all. I will revert to the implementation in
master
.