[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
MPI_Alltoallx - why not MPI_Gatherx, etc.?
A possibly contagious point for discussion:
MPI_Alltoallx is a most general alltoall primitive. Why are there
not similar most general versions of eg. MPI_Gather, ie. where each
data to be gathered has its individual (byte) displacement and TYPE?
I can think of one reason such primitives could be useful, at least
internally for the MPI developer:
Implementing MPI_Gather on a cluster of SMP nodes, a sensible first thing to
do is something like:
1. for each node select a local root
2. gather locally on all nodes
3. gather globally among the local roots
Since the SMP nodes may have different number of processes (and in any
order, ie. not necessarily consecutively numbered) the global gather
in step 3 must be able to deal with different types. Having an MPI_Gatherx
operation, one could simply set up an indexed type for each node...
I am not seriously proposing to extend the standard, but wanted to
raise the point for discussion
Jesper (Larsson Traff, NEC C&C Research Laboratories, St. Augustin, GERMANY)