Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Neeraj Chourasia (neeraj_ch1_at_[hidden])
Date: 2007-10-26 02:59:29


Hi,    Please ensure if following things are correct1) The array bounds are equal. Means \"my_x\" and \"size_y\" has the same value on all nodes.2) Nodes are homogenous. To check that, you could decide root to be some different node and run the program-NeerajOn Fri, 26 Oct 2007 10:13:15 +0500 (PKT) Open MPI Users wrote Thanks for your reply, I used MPI_Wtime for my application but even then process 0 took longer time executing the mentioned code segment. I might be worng, but what I see is process 0 takes more time to access the array elements than other processes. Now I dont see what to do because the mentioned code segment is creating a bottleneck for the timing of my application. Can any one suggest somthing in this regard. I will be very thankful regards Aftab Hussain On Thu, October 25, 2007 9:38 pm, jody wrote: > HI > I\'m not sure if that is a problem, > but in MPI applications you shoud use MPI_WTime() for time-measurements > > Jody > &g
t; > On 10/25/07, 42aftab_at_[hidden] wrote: > >> Hi all, >> I am a research assistant (RA) at NUST Pakistan in High Performance >> Scientific Computing Lab. I am working on the parallel >> implementation of the Finitie Difference Time Domain (FDTD) method using >> MPI. I am using the OpenMPI environment on a cluster of 4 >> SunFire v890 cluster connected through Myrinet. I am having problem >> that when I run my code with let say 4 processes. Process 0 takes about 3 >> times more time than other three processes, executing a for loop which >> is the main cause of load imbalance in my code. I am writing the code >> that is causing the problem. The code is run by all the processes >> simultaneously and independently and I have timed it independent of >> segments of code. >> >> start = gethrtime(); for (m = 1; m < my_x ; m++){ for (n = 1; n > size_y-1; n++) { Ez(m,n) = Ez(m,n) + cezh*((Hy(m,n) - Hy(m
-
1,n)) - >> (Hx(m,n) - Hx(m,n-1))); >> } >> } >> stop = gethrtime(); time = (stop-start); >> >> In my implementation I used 1-D array to realize 2-D arrays.I have used >> the following macros for accesing the array elements. >> >> #define Hx(I,J) hx[(I)*(size_y) + (J)] >> #define Hy(I,J) hy[(I)*(size_y) + (J)] >> #define Ez(I,J) ez[(I)*(size_y) + (J)] >> >> >> Can any one tell me what am I doing wrong here, or macros are creating >> the problems or it can be related to any OS issue. I will be looking >> forward for help because this problem has stopped my progress for the >> last two weeks >> >> regards aftab hussain >> >> RA High Performance Scientific Computing Lab >> >> >> NUST Institue of Information Technology >> >> >> National University of Sciences and Technology Pakistan >> >> >> >> &gt
;> >> -- >> This message has been scanned for viruses and >> dangerous content by MailScanner, and is believed to be clean. >> >> _______________________________________________ >> users mailing list users_at_[hidden] >> http://www.open-mpi.org/mailman/listinfo.cgi/users >> >> > _______________________________________________ > users mailing list users_at_[hidden] > http://www.open-mpi.org/mailman/listinfo.cgi/users > > > -- > This message has been scanned for viruses and > dangerous content by MailScanner, and is believed to be clean. > > -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. _______________________________________________ users mailing list users_at_[hidden] http://www.open-mpi.org/mailman/listinfo.cgi/users