George, 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 is contiguous 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, Gilles 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).