[mpich-discuss] How expensive is MPI_Win_create() compared to memcpy()?

Jed Brown jedbrown at mcs.anl.gov
Tue Dec 20 15:10:35 CST 2011


To present a "nice" API, I have a choice between trying to reuse windows
internally, which will usually involve a local memcpy(), and creating new
windows to address user's memory (after checking that it is suitably
aligned). I foresee caching and reusing windows for small operations and
creating new windows for sufficiently large operations. In the MPICH2
implementation, I see an MPI_Allgather() with 3 MPI_Aint for ch3 and with a
32-byte struct for DCMF.

1. Is the implementation likely to always perform this synchronizing and
not strictly memory-scalable MPI_Allgather()?

2. How expensive should I consider this operation to be? Are there
micro-benchmark results scaling out to 10k-100k cores somewhere?

I'll end up implementing both versions, but it would be nice to know how
urgent it is likely to be and have a guess for where to place the threshold.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20111220/1be88124/attachment.htm>


More information about the mpich-discuss mailing list