Leo P. wrote:
HI Nik,

I tried the Sun Studio Performance Analyzer and it was able to profile to application but not the openMPI source code. The source code was empty in Sun Studio Performance Analyzer. I tried but i was not able to get the profiling information of openMPI.

So i installed Vampir trace and i was able to get otf while suggested i got the profiling information. But i fail to understand what i should do now.
1. Am i suppose to download additional information for trace information visualization? Is the additional software this https://www.ssl-id.net/www.vampir.eu/index.html
2. If not how can i visualize the trace information i got vampir-trace.

Sorry for bugging everyone so much about this. But i spend a lot of time and this alone and i am not getting output.
It's probably fine to bug people about some of this.  OMPI would benefit from having a tool ecosystem around it.  There's VampirTrace and PERUSE instrumentation and stuff, but some more activity/attention in this area would be better.

I don't know that VampirTrace will give what you're looking for.  You seem to want to profile the internals of OMPI.  VT basically just instruments entry into and exit out of MPI.  In contrast, PERUSE instruments MPI internals.

Sun Studio Performance Analyzer should also work.  I know I've used it to profile both MPI apps and the internals of OMPI.

One of the problems...  I mean, one of the *features* of Sun Performance Analyzer is that it *HIDES* the internals of the MPI library.  There is a concept of user and expert models and stuff.  Most users just want to see their program the way they wrote it (whether for Java, OpenMP, MPI, etc.).  So, Performance Analyzer hides the "black box" stuff (internals of Java, OpenMP, MPI, etc.).  But, *you* want "expert" capabilities.  You want to see what's under the hood.  So, after you have collected data and have started the Analyzer GUI, choose "View" -> "Show/Hide Functions..." -> "Show All".  Maybe there are other things you're encountering, but for me that changes MPI calls from being black boxes to exposing where OMPI is spending its time:  PML functions, BTL functions, etc.

To get source code information, you also need to build OMPI with -g turned on.  That will include debugging information.  With some compilers, turning -g on might turn off optimizations... I just don't know.  With Sun Studio compilers, -g will not change your optimizations -- it will only add debugging/symbolic information, compiler commentary on optimizations, etc.

If you want to ask Nik or me other questions, feel free.  I'll send you Nik's home phone number!  :^)

Reply via email to