From TAU Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 23:40, 28 July 2009 (edit)
Amorris (Talk | contribs)

← Previous diff
Revision as of 23:41, 28 July 2009 (edit)
Amorris (Talk | contribs)

Next diff →
Line 61: Line 61:
|- |-
| -optHeaderInst and selective instrumentation (auto) | -optHeaderInst and selective instrumentation (auto)
|685s |685s
|4.7% |4.7%
|} |}

Revision as of 23:41, 28 July 2009

To build MADNESS with TAU for profiling/tracing, some modifications need to be made to the code for parsing purposes. Additionally, a modification was made to fix a bug in MADNESS.

  • To begin, get the source from svn:
svn co -r1177 madness
  • Next, patch it with the following patch:


  • Build TAU with -pthread support.
  • Next, make sure you have built your own blas and lapack (system installed ones will rarely work). Also, install google perftools. Configure as follow: ../configure --prefix=$HOME/apps/madness/install-tau LIBS="-L/usr/local/packages/lapack -llapack -lblas \
-lgfortran -L/usr/local/packages/google-perftools-1.3/lib -ltcmalloc_minimal" --disable-dependency-tracking
  • Build the code
  • Run the code
export MADNESS_ROOT=$HOME/apps/madness/install-tau
export MAD_NTHREAD=7
export TAU_VERBOSE=1
time mpiexec -n 1 ${MADNESS_ROOT}/bin/moldft
  • Examine results...

Overhead of Instrumentation Methods

Of the available instrumentation options, the only viable solution we found was to use header instrumentation with a selective instrumentation file (automatically generated).

Method Number of Profiled Events Runtime (seconds) Overhead (%)
Uninstrumented 654s
Regular Source Instrumentation 183 748s 14.4%
Compiler-based Instrumentation 1321 19625s 2901%
Source Instrumentation with headers (-optHeaderInst) 806 1628s 150%
-optHeaderInst and selective instrumentation (auto) 539 685s 4.7%
Personal tools