i am sorry i cannot see how flatten datatype can be helpful here :-(
in this example, the master must broadcast a long vector. this datatype
so the flatten'ed datatype *is* the type provided by the MPI application.
how would pipelining happen in this case (e.g. who has to cut the long
vector into pieces and how) ?
should a temporary buffer be used ? and then should it be sent into
pieces of type MPI_PACKED ?
(and if yes, would this be safe in an heterogenous communicator ?)
Thanks in advance for your insights,
On 2014/04/22 12:04, George Bosilca wrote:
> Indeed there are many potential solutions, but all require too much
> intervention on the code to be generic enough. As we discussed
> privately mid last year, the "flatten datatype" approach seems to me
> to be the most profitable.It is simple to implement and it is also
> generic, a simple change will make all pipelined collective work (not
> only tuned but all the other as well).