I started today reading e-mail quickly and out of order. So, I'm going
back to an earlier message now, but still with the new Subject heading,
which better reflects where you are in your progress. I'm extracting
some questions from this thread, from bottom/old to top/new: 1) What tools to use? As others have commented, the issue may have less to do with the kernel or inefficient data movement and more to do with what's going on in your application -- that is, some processes are reaching synchronization points earlier than others. For application-level tools, there is an OMPI FAQ category at http://www.open-mpi.org/faq/?category=perftools and specifically a list of some tools you could "download for free". Anyhow, sounds like you're getting traction with Sun Studio -- and personally I think that's a good choice. :^) 2) Spread processes on multiple nodes or colocate on one node? It depends, but I agree with Ralph that it's not surprising if running on a single node is faster, presumably due to faster communication performance. (But, I'd temper his statement that it would *always* be so.) 3) I agree with David and Ralph that you're probably spending more time waiting on messages than actually moving data. If you use Sun Studio with Sun ClusterTools (now Oracle Message Passing Toolkit), it'll also break apart "MPI wait" time from "MPI work" time (time spent moving data) and you could see this rather clearly. But, any of the MPI tracing tools will be able to show you other indications of this problem. Most graphically, you might look at an MPI timeline. E.g., you might see one or more functions stuck in a long MPI_Barrier call, with other processes lingering in computation before the last process enters the barrier and all processes are released from that barrier. Or, one function stuck in a long MPI_Recv, released when the message arrives, as indicated by a message line joining the sending and receiving processes. 4) I could imagine the distributed memory version of LS-DYNA running faster than the shared-memory version since it has better data locality. 5) The I/O portion might be very, very significant. Maybe processes are waiting on other processes that are not computing but doing a lot of I/O. You say runs are faster when all processes are on the same node versus when they're on different nodes. One experiment would be to compare all processes running on node A versus running all processes on node B versus distributing processes among both A and B. This would be a way of discriminating between "all on one node is faster than distributed" versus "one node is faster than another". Alternatively, if look at the timeline and see one process stuck in a long MPI call, look at the process it's waiting on. Does the call stack of the "laggard" suggest what that laggard is doing? Computation or I/O? You might need to know a little about LS-DYNA to tell. 6) Functions with "_" at the end are probably Fortran names, which should make sense for LS-DYNA (which I think is basically Fortran). 7) Regarding two sets of functions for "everything." I think this is no surprise. There are "inclusive" and "exclusive" times. If you look at "inclusive" times (time spent in a function and all its callees), the time for a function will be almost exactly equal to the time spent in a wrapper that calls that function. I think this is what you're seeing. If you were to look instead at "exclusive" times (time spent in a function, excluding time spent in its callees), the difference between a "real" function and a wrapper that calls it would be very clear. If the numbers are percentages, then it's clear they are "inclusive" since they add up to well over 100%. 8) Regarding your earlier problems using Studio: no, you shouldn't need to build OMPI specially for Studio use. (I'm interested in hearing more about the problems you encountered and how you resolved them. You can send to me off line since I suspect most of the mail list would not be interested.) I hope at least some of those comments are helpful. Good luck. Robert Walters wrote:
|
- Re: [OMPI users] OpenMPI Hangs, No Error Reuti
- Re: [OMPI users] OpenMPI Hangs, No Error Jeff Squyres
- Re: [OMPI users] OpenMPI Hangs, No Error Robert Walters
- Re: [OMPI users] OpenMPI Hangs, No Error Ralph Castain
- Re: [OMPI users] OpenMPI Hangs, No Error Robert Walters
- Re: [OMPI users] OpenMPI Hangs, No Error Ralph Castain
- Re: [OMPI users] OpenMPI Hangs, No Error Robert Walters
- Re: [OMPI users] OpenMPI Hangs, No Er... Ralph Castain
- Re: [OMPI users] OpenMPI Hangs, N... David Zhang
- Re: [OMPI users] OpenMPI Hangs, N... Robert Walters
- [OMPI users] LS-DYNA profiling [w... Eugene Loh
- Re: [OMPI users] LS-DYNA profilin... Robert Walters
- Re: [OMPI users] OpenMPI Hangs, No Error Robert Walters
- Re: [OMPI users] OpenMPI Hangs, No Error Robert Walters