Thanks a lot.

On Thu, Oct 21, 2010 at 9:21 AM, Jeff Squyres <jsquyres@cisco.com> wrote:
Ah.  The original code snipit you sent was:

MPI::COMM_WORLD.Barrier();
if if(rank == master) t1 = clock();
"code A";
MPI::COMM_WORLD.Barrier();
if if(rank == master) t2 = clock();
"code B";

Remember that the time that individual processes exit barrier is not guaranteed to be uniform (indeed, it most likely *won't* be the same).  MPI only guarantees that a process will not exit until after all processes have entered.  So taking t2 after the barrier might be a bit misleading, and may cause unexpected skew.
Yes, it makes sense but I have no idea how big the time difference for running barrier function. I don't expect it big either since all our compute nodes have same configuration.  
Code B *probably* has no effect on time spent between t1 and t2.  But extraneous effects might cause it to do so -- e.g., are you running in an oversubscribed scenario?  And so on.
No. We have 1024 nodes available and I'm using 500.

On Oct 21, 2010, at 9:24 AM, Storm Zhang wrote:

>
> Thanks a lot for your reply. By commenting code B, I mean if I remove the code B part, then the time spent on code A seems to run faster. I do have a lot of communications in code B too. It involves 500 procs. I had thought code B should have no effect on the time spent on code A if I use MPI_Barrier.
>
> Linbao
> On Thu, Oct 21, 2010 at 5:17 AM, Jeff Squyres <jsquyres@cisco.com> wrote:
> On Oct 20, 2010, at 5:51 PM, Storm Zhang wrote:
>
> > I need to measure t2-t1 to see the time spent on the code A between these two MPI_Barriers. I notice that if I comment code B, the time seems much less the original time (almost half). How does it happen? What is a possible reason for it? I have no idea.
>
> I'm not sure what you're asking here -- do you mean that if you put some comments in code B, it takes much less time than if you don't put comments?  If so, then the comments have nothing to do with the execution run-time -- something else is going on that is causing the delay.  Some questions:
>
> - how long does it take to execute code B -- microseconds, or seconds, or ...?
> - how many processes are involved?
> - what are you doing in code B; is it communication intensive and/or do you synchronize with other processes?
> - are you doing your timings on otherwise-empty machines?
>
> --
> Jeff Squyres
> jsquyres@cisco.com
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
>
>
> _______________________________________________
> users mailing list
> users@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
> _______________________________________________
> users mailing list
> users@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


--
Jeff Squyres
jsquyres@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/


_______________________________________________
users mailing list
users@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users