On Tue, Jun 16, 2009 at 12:49:52AM +0530, Leo P. wrote: > > Hi Eugene, > Thanks for the information. And i had already clicked on the "Show > All" button in the profiler before i send an email to the group. But > it did not work :( > Also Eugene, can you please help me understand what does turning on -g > option mean.
The -g compiler flag instructs the compiler to keep or add symbolic debugging information to the objects that it generates. These symbols permit a debugger (like gdb) to look up the address of a function's or data object by name. This symbolic information can exist both in your program's a.out file and also in the shared libs that it links to at run time. The shared lib topic is why a debugger can walk through your program (compiled -g) then be no help when it branches into the shared library. In the world of MPI the mpilibrary in addition to your mpiprogram need to be compiled -g if you wish to understand actions inside the mpilibrary. Further the program runs on a system that can be different than the one on which it was compiled which is important because many users forget that each rank needs to link to symbol rich objects for symbolic debugging. > Currently i am building the system with the following > option > ./configure --with-devel-headers --enable-trace --enable-mpi-profile > --enable-mem-debug --enable-debug > Do i need to add something additional here ? > Also i don't understand what you mean by tool ecosystem. [I am a > complete newbie ] Tools can prove interesting. It is possible to have a compiler, symbol rich shared objects and more on your desktop were you compile your program and only have the bare minimum of objects on the hosts that you are running on. You can have gdb on your desktop but to debug rank-99 you need gdb and symbol rich objects on the remote node that rank-99 gets launched on... To this end it can make a lot of sense to debug a minimum number of ranks on a local system with all the tools at hand. I should note that gdb is only one possible debugger. gcc is only one possible compiler.... You ecosystem is the list of tools used and tools that can be used on each node/ rank. Do keep it simple... clustermonkey (http://clustermonkey.net/) has numerous beginner pages. Also look for simple benchmark and other simple MPI programs to explore. If you cannot compile and debug MPI's helloworld there is little hope in getting larger programs running. http://www.clustermonkey.net//content/view/48/32/ Debugging MPI jobs has a serious learning curve for a beginner. Keep good notes... N.B. clusermonkey is a ".net" site. -- T o m M i t c h e l l Found me a new hat, now what?