Difference between revisions of "NAMD"
Line 18: | Line 18: | ||
Verify that this program runs without any errors and that you generate profiles files for each processor. | Verify that this program runs without any errors and that you generate profiles files for each processor. | ||
− | ==Building | + | ==Building NAMD 2.6== |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Begin in NAMD's home directory: | Begin in NAMD's home directory: | ||
Line 40: | Line 24: | ||
%> cd NAMD_2.6_Source | %> cd NAMD_2.6_Source | ||
%> ./config Linux-amd64-g++ | %> ./config Linux-amd64-g++ | ||
− | |||
</pre> | </pre> | ||
+ | |||
+ | Now set NAMD to use TAU, edit 'arch/Linux-x86_64-MPI-icc.arch to be: | ||
+ | <pre> | ||
+ | NAMD_ARCH = Linux-x86_64 | ||
+ | CHARMARCH = mpi-linux-amd64 | ||
+ | #CHARMOPTS = -thread pthreads -memory os | ||
+ | #CHARMOPTS = -memory os -tracemode Tau -no-trace-mpi | ||
+ | CHARMOPTS = -memory os -tracemode Tau -tracemode projections -tracemode summary -no-trace-mpi | ||
+ | #CHARMOPTS = -memory os | ||
+ | |||
+ | FLOATOPTS = -ip -fno-rtti -xW | ||
+ | |||
+ | CXX = $(CHARMC) -DMEMUSAGE_USE_SBRK | ||
+ | CXXLINK = -i-static -O3 $(FLOATOPTS) | ||
+ | CXXNOALIASOPTS = -O3 -fno-alias $(FLOATOPTS) | ||
+ | |||
+ | CC = $(CHARMC) | ||
+ | </pre> | ||
+ | |||
If everything works properly you should now have a '''namd2''' executable. Test by running: | If everything works properly you should now have a '''namd2''' executable. Test by running: |
Revision as of 23:47, 15 January 2009
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-amd64 mpicxx ifort -O3 ... %> ./build charm++ mpi-linux-amd64 mpicxx ifort --tau-makefile=$HOME/tau2/x86_64/lib/Makefile-tau-mpi -O3
As always the TAU Makefile you specify determines what profiling/tracing options to use. Wait for charm to finish building then test the configuration by:
%> cd mpi-linux-amd64/tests/charm++/simplearrayhello %> make OPTS='-tracemode Tau' %> ./charmrun ./hello +p4
Verify that this program runs without any errors and that you generate profiles files for each processor.
Building NAMD 2.6
Begin in NAMD's home directory:
%> cd NAMD_2.6_Source %> ./config Linux-amd64-g++
Now set NAMD to use TAU, edit 'arch/Linux-x86_64-MPI-icc.arch to be:
NAMD_ARCH = Linux-x86_64 CHARMARCH = mpi-linux-amd64 #CHARMOPTS = -thread pthreads -memory os #CHARMOPTS = -memory os -tracemode Tau -no-trace-mpi CHARMOPTS = -memory os -tracemode Tau -tracemode projections -tracemode summary -no-trace-mpi #CHARMOPTS = -memory os FLOATOPTS = -ip -fno-rtti -xW CXX = $(CHARMC) -DMEMUSAGE_USE_SBRK CXXLINK = -i-static -O3 $(FLOATOPTS) CXXNOALIASOPTS = -O3 -fno-alias $(FLOATOPTS) CC = $(CHARMC)
If everything works properly you should now have a namd2 executable. Test by running:
%> ./charmrun ++local ./namd2 src/alanin
You should have generated TAU performance data.