-
Notifications
You must be signed in to change notification settings - Fork 9
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 a collective broadcast call for collections #1024
Comments
I think that's probably the right name, given naming conventions in the rest of the system. It may be somewhat unfortunate, in that in the long run, we maybe expect the collective versions of many things to be the default; they're potentially more efficient if the control flow allows for their use, and they don't require a surrounding Should we start moving toward explicitly naming both |
Yes, I think that's a good idea to start explicitly naming them like that. |
@JacobDomagala Phil and I discussed this and we want to continue with the local delivery without any coordination. |
…or of broadcastMsg/sendMsg (with MsgPtrThief<Msg>) for Objgroup proxy
…oes the action instead of passing the message to these functions
…the send/broadcast(Args...) version
…f sendMsg(which takes MsgPtrThief) for collection proxy
…or of broadcastMsg/sendMsg (with MsgPtrThief<Msg>) for Objgroup proxy
…oes the action instead of passing the message to these functions
…the send/broadcast(Args...) version
What Needs to be Done?
Currently, if a user does
proxy.broadcast<MyMsg, &MyCol::handler>()
it is a rooted call that only one rank should invoke if a single broadcast is the intention. However, for more SPMD programs, often every node might know and want to participate in the broadcast, which can make it significantly cheaper (a simple local traversal). This also might make sense in the context of chainsets with more SPMD-like style.Maybe we can call it
proxy.broadcastCollective
although that seems a little long. @PhilMiller ideas on a good name of this?The text was updated successfully, but these errors were encountered: