NAMD

From Tau Wiki
Revision as of 20:54, 5 February 2009 by Scottb (talk | contribs)
Jump to: navigation, search

Guide to building and running NAMD 2.6 with TAU

Currently this guide is for building NAMD and charm++ from source on x86 64-bit architecture. One would follow similar step on other machines but some of the file names would be changed.

Building Charm++

Automatic instrumentation of charm applications using TAU is available in the unreleased version of Charm++ which you can download here: http://charm.cs.uiuc.edu/download/ (click on the nightly CVS source archive). To compile Charm++:

%> cd charm
%> ./build charm++ mpi-linux-x86_64 mpicxx ifort -O3
...
%> ./build charm++ mpi-linux-x86_64 mpicxx ifort --tau-makefile=<tau_dir>/x86_64/lib/Makefile-tau-mpi -O3

As always the TAU Makefile you specify determines what profiling/tracing options are set. Wait for charm to finish building then test the configuration by:

%> cd mpi-linux-x86_64-ifort-mpicx/tests/charm++/simplearrayhello
%> make OPTS='-tracemode Tau -no-trace-mpi'
%> ./charmrun ./hello +p4

Verify that this program runs without any errors and that you get a profile file for each processor.

Building NAMD 2.6

Begin in NAMD's home directory:

%> cd NAMD_2.6_Source
%> ./config Linux-x86_64-MPI-icc

Now set NAMD to use TAU, edit arch/Linux-x86_64-MPI-icc.arch to be:

NAMD_ARCH = Linux-x86_64

CHARMARCH = mpi-linux-x86_64-ifort-mpicxx

CHARMOPTS = -memory os -tracemode Tau -no-trace-mpi

FLOATOPTS = -ip -fno-rtti -xW

CXX = $(CHARMC) -DMEMUSAGE_USE_SBRK
CXXLINK = -i-static -O3 $(FLOATOPTS)
CXXNOALIASOPTS = -O3 -fno-alias $(FLOATOPTS)

CC = $(CHARMC)

Then build NAMD

%> cd Linux-x86_64-MPI-icc
%> make

If everything works properly you should now have a namd2 executable. Test by running:

%> ./charmrun ./namd2 +p4 src/alanin

You should have generated TAU performance data.