message_envelope and recv less bytes#10
message_envelope and recv less bytes#10Quentin-Anthony wants to merge 23 commits intoQuentin-Anthony:mainfrom
Conversation
|
@jadenvv It turns out adding the commit history prior to the first commit in this repo is hard to do without messing everything up, so I undid it and @Quentin-Anthony reopened your PR here |
|
@jadenvv -- Can you revert Sorry again for the git history chaos! @nsarka and I were trying to correct some earlier commits, and we had to force push to get things back in order. |
Yep no problem! |
|
I added a lot but most of it doesn't work right now. And just wanted to go over a couple of things I did in my most recent commit.
Alright, that's it for tonight. Good night! |
I haven't checked any logic yet, but we can always use C++ and extern "C" in any needed code from the rest of the project! |
|
Honestly, that sounds like a better decision later down the road. btw @nsarka accept the collaborator invite so you are able to merge an earlier commit like the one Quentin pointed out. And we can close this PR I'll just create another one for the queue. |
|
Ok, closing this PR then. In the future it's good practice to mark PRs not ready for review as a draft. Once they're ready for review double check it follows these rules (which are standard, at least in my experience making PRs at NVIDIA):
|
|
Another thing that's helpful when working from a fork--make branches in your repo and then open PRs to merge your branches. That way you can manage multiple at once, and merging changes from upstream is just hitting the "sync fork" button on github, then |
|
Alright I'll definitely keep that in mind for future PRs. Thanks. |
Summary
Added a Message Envelope (with tag and size) and created the implementation of MPI_ANY_SOURCE
implementation details
-- In the message envelope I thought it was redundant to create a destination part in it since its implied. Still need to add tags when checking to receive data.
-- Maybe there's a better way to implement MPI_ANY_SOURCE other than using poll()
-- I added the size of the buffer in the message envelope in order for nanoMPI recv to allow for smaller buffers on the sending side
Improvements
-- adding rendezvous tag matching
See #5 for previous discussion