> The current two-faced (or two-phase) proposal only permits *one* two
> phase collective operation in a communicator at a time, so, as your
> example hints, you have to dup the communicator twice to give you
> three communicators if you need three concurrent two-faced operations.
> It doesn't seem elegant, but I suppose it works.
One alternative to obviate the need for separate communicators would
be to have tags on the two-phase operations. This seems to introduce
a natural way for the user (as well as the system) to pair up
operations. I know that tags for collective operations keep getting
shot down but this seems like a reasonable place to have them.
Sincerely,
Andrew Lumsdaine