Skip to content

Conversation

@ggouaillardet
Copy link
Contributor

No description provided.

@ggouaillardet
Copy link
Contributor Author

@bosilca can you please review this ?
the discussion initially started at http://www.open-mpi.org/community/lists/users/2016/05/29081.php

@bosilca
Copy link
Member

bosilca commented May 6, 2016

@ggouaillardet I think the knowledge about the number of processes should remain in the function itself (instead of being delegated to the decision_fixed file). What do you think?

@ggouaillardet
Copy link
Contributor Author

the pro of my approach is there is no performance impact (a few nanoseconds that do not really matter though) when two_proc algorithm is not forced (e.g. chosen by default)
that is not a strong opinion, and I am fine moving the check if you believe that makes the code more maintainable.

@bosilca
Copy link
Member

bosilca commented May 6, 2016

It is the same test just down in the function because down there we already have the comm size and then the test is a single branch.

@ggouaillardet
Copy link
Contributor Author

by "down" you meant the test should be moved into mca_coll_base_*_two_proc right ?
in the case of barrier, the base function currently assumes the comm size is two.

@bosilca
Copy link
Member

bosilca commented May 6, 2016

yes, in the *_two_proc functions. If the test is down there anybody can use them without prior knowledge of their requirements. In addition, if we return a specialized error code (MPI_NOT_SUPPORTED) the upper layer can them fallback to calling another function instead of simply returning the error.

@ggouaillardet
Copy link
Contributor Author

ok, so from an end user point of view, forcing the two_proc algorithm on a 3 tasks communicator will ultimately result into invoking an other (default ?) algorithm.
did I get it right ?

@bosilca
Copy link
Member

bosilca commented May 6, 2016

I just said it will be possible ;) I didn't suggested to do that in tuned.

@ggouaillardet ggouaillardet force-pushed the topic/two_proc_algo_error branch from dedef19 to f96f2a0 Compare May 9, 2016 05:15
…procs algo is used on a communicator that has no two tasks

Thanks Dave Love for the report
@ggouaillardet ggouaillardet force-pushed the topic/two_proc_algo_error branch from f96f2a0 to 0a19337 Compare May 9, 2016 05:19
@jsquyres
Copy link
Member

@bosilca So is that a thumbs up or no?

@bosilca
Copy link
Member

bosilca commented May 10, 2016

👍

@jsquyres jsquyres modified the milestones: v2.0.1, v2.0.0 May 10, 2016
@jsquyres
Copy link
Member

I'm ok deferring this to v2.0.1. Can someone make a PR for v2.0.1?

@jsquyres jsquyres merged commit 5aa38cc into open-mpi:master May 10, 2016
@ggouaillardet
Copy link
Contributor Author

i made the PR open-mpi/ompi-release#1154

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants