<br><br><div class="gmail_quote">On Fri, Nov 6, 2009 at 5:43 PM, amjad ali <span dir="ltr"><<a href="mailto:amjad11@gmail.com">amjad11@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi all,<br><br><br>IMPORTANT: Secondly, if processor A shares 50 faces (on 50 or less elements) with an another processor B then it sends/recvs 50 different messages. So in general if a processors has X number of faces sharing with any number of other processors it sends/recvs that much messages. Is this way has "very much reduced" performance in comparison to the possibility that processor A will send/recv a single-bundle message (containg all 50-faces-data) to process B. Means that in general a processor will only send/recv that much messages as the number of processors neighbour to it.  It will send a single bundle/pack of messages to each neighbouring processor.<br>

Is their "quite a much difference" between these two approaches?<br><br></blockquote><div><br>It is probably faster to send a single message with all the data, rather than fifty messages, especially if each item is small.  However, you don't have to guess.  Just create a small test<br>
program and use MPI_WTIME to measure how long the two cases take.<br><br>The usual way to do timing measurements that gets decent results is to measure the time for one iteration of the two cases, then measure the time for two iterations, then 4, then 8, and so on<br>
until the time for a run exceeds one second. <br><br>The issues that make it likely that one big message is faster than 50 small ones are that copying the data into a single message on a modern processor will be much faster than sending the bits over ethernet, and that each message has a certain overhead, which is probably large compared to the copy and transmission time of a small datum.<br>
<br>If you will be writing MPI programs for various problems, it might be useful to download and run something like the Intel MPI Tests, that will give you performance figures for the various MPI operations and give you a feel for how expensive different things are on your system.<br>
<br>-L<br><br></div></div><br>