CHARMM

From Tau Wiki
Revision as of 23:13, 12 August 2009 by Scottb (talk | contribs) (Building CHARMM)
Jump to: navigation, search


Building CHARMM

Instructions for instrumenting CHARMM with TAU:

1. My gfortran compiler had problems with some WRITE commands in source/nbond/enbips.src so I commented out line 3288 and 3301.

2. CHARMM finds MPI via environment variables so:

%> export MPI_INCLUDE=<mpi include dir> %> export MPI_LIB=<mpi include dir>

3. I started with source based instrumentation (via PDT), notice the use of a selective instrumentation file to tune instrumentation:

%> export TAU_MAKEFILE=<tau home>/<arch>/lib/Makefile.tau-mpi-pdt %> export TAU_OPTIONS='-optKeepFiles -optVerbose -optTauSelectFile=<full path to select.tau>'

%> cat select.tau BEGIN_EXCLUDE_LIST

  1. omit this routine, TAU has problems this some CONTINUE statements

MASTER.0.TIMRB::TIMRB

  1. omit these low level routine that contribute to excessive instrumentation
  2. overhead

ERFCD EXCH5 GAUSSI MPI_Irecv() MPI_Isend() NINDX OLDRANDOM ORDER5 PATOM PMEUTIL::CFFTB PMEUTIL::CFFTB1 PMEUTIL::CFFTF PMEUTIL::CFFTF1 PMEUTIL::FILL_BSPLINE PMEUTIL::PASSB2 PMEUTIL::PASSB4 PMEUTIL::PASSF2 PMEUTIL::PASSF4 PROCATOMS RANDOM

END_EXCLUDE_LIST


4. Now I need to override the default mpif90 compiler with TAU's tau_f90.sh wrapper script. The easiest way to do this was with global replace in install.com (you may want to backup this file so you can compile CHARMM without TAU):

%> sed -i 's/mpif90/tau_f90.sh/g' install.com

and compile with the xlarge version with MPI:

%> ./install.com gnu xlarge NOLOG M

Now when you run a simulation you will get TAU profile.* files in your current directory.