-
Notifications
You must be signed in to change notification settings - Fork 28
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_Intercomm_create functionality #22
Comments
@a-jp: MPI inter-communicators are currently not supported. However, this is certainly a feature worth considering. Although MPI handles all communicators via the same kind of handle, MPL should model inter-communicators by a specific dedicated class, not via mpl::communicator. Thus, this will not be implemented just via a minimal modification of the mpl::communicator class. One reason, why inter-communicators are not supported by MPL is just that I never had an actual use-case for this. I know the examples from the MPL standard, which are, however, rather academic. Can you please explain your use-case? |
@rabauke many thanks for the comments. The use-case here is multiple program, multiple data (MPMD) style launch using: In this case comm_world is of size X+Y. Within comm_world two communicators are created: mpl::communicator group0(mpl::communicator::split, comm_world, 0); Here 0 is the application number, for prog_1, and group0 is of size X. A second communicator is created as: mpl::communicator group1(mpl::communicator::split, comm_world, 1); Here 1 is the application number, for prog_2, and group1 is of size Y. The use-case is coupling two codes together that can be used to solve a complex multi-domain problem, that is otherwise not solvable via either individual code. The coupling between the codes is achieved via MPI. In this use-case it is essential to be able to communicate between group0 and group1, hence the need for An older paper, as this is a well established approach, and very relevant reference for this use-case is below I hope you consider this for inclusion into your library, for present I will write a simple wrapper class around Many thanks, |
@a-jp Thanks for further details. I will consider inter-communicators as a future feature of MPL. |
ok thanks |
On , 2021Oct3, at 04:26, a-jp ***@***.******@***.***>> wrote:
In this use-case it is essential to be able to communicate between group0 and group1, hence the need for MPI_Intercomm_create.
I understand what you’re doing. But because your group0 & 1 come from splitting com_world you still have comm_world as a means of communication. Why is the inter communicator a better mechanism?
Other usage scenario: an inter communicator is created from MPI_Comm_spawn. I have a user who does this spawning but I can’t give you the details. However, I must say that this is a very rare case.
Victor.
|
This should stay open until milestone has been reached. |
Hi,
Is
MPI_Intercomm_create
supported by your library? I couldn't see it. Is it something that could be added?Is there a recommended way to do it if I've already used:
How would I make the call to
MPI_Intercomm_create
usinggroup
?Any help really appreciated,
Thanks,
Andy
The text was updated successfully, but these errors were encountered: