Difference between revisions of "NAMD"
(→Guide to building a running NAMD 2.6 with TAU) |
|||
Line 41: | Line 41: | ||
There are several patches that need to be applied before can run NAMD with TAU instrumentation but we will put those aside for now to concentrate on building NAMD with TAU auto-instrumentation. | There are several patches that need to be applied before can run NAMD with TAU instrumentation but we will put those aside for now to concentrate on building NAMD with TAU auto-instrumentation. | ||
− | First edit Make.charm in NAMD's home so that CHARMBASE is set to the directory where charm-5.9 resides. | + | 1. First edit Make.charm in NAMD's home so that CHARMBASE is set to the directory where charm-5.9 resides. |
− | Next | + | 2. Next create a selective instrumentation file with these commands: |
<pre> | <pre> | ||
+ | BEGIN_EXCLUDE_LIST | ||
+ | void Sequencer::thread# | ||
+ | void Controller::thread# | ||
+ | int NAMD_read_int# | ||
+ | void PDBDATA::scan# | ||
+ | Real PDBAtom::zcoor# | ||
+ | Real PDBAtom::ycoor# | ||
+ | Real PDBAtom::xcoor# | ||
+ | Bool Molocule::is_hydrogen# | ||
+ | END_EXCLUDE_LIST | ||
+ | BEGIN_FILE_EXCLUDE_LIST | ||
+ | *mainfunc.C | ||
+ | *memusage.C | ||
+ | *BackEnd.C | ||
+ | END_FILE_EXCLUDE_LIST | ||
+ | </pre> | ||
+ | And save this file in the NAMD home directory. | ||
+ | 3. Finally edit arch/Linux-amd64-g++.arch so that it resembles: | ||
+ | <pre> | ||
+ | include /share/home/00968/tg802155/tau2/include/Makefile | ||
+ | NAMD_ARCH = Linux-amd64 | ||
+ | CHARMARCH = net-linux-amd64 | ||
+ | |||
+ | TAU_SELECT_FILE=/share/home/00968/tg802155/NAMD_2.6_Source/select.tau | ||
+ | |||
+ | CXX = $(TAU_COMPILER) -optTauSelectFile=$(TAU_SELECT_FILE) g++ | ||
+ | CXXOPTS = -O3 -m64 -fexpensive-optimizations -ffast-math | ||
+ | CC = $(TAU_COMPILER) -optTauSelectFile=$(TAU_SELECT_FILE) gcc | ||
+ | COPTS = -O3 -m64 -fexpensive-optimizations -ffast-math | ||
</pre> | </pre> | ||
Revision as of 22:20, 17 June 2008
Contents
Guide to building and running NAMD 2.6 with TAU
Current this guide is for build NAMD and charm++ from source on x86 64-bit architecture. One would follow similar step on other machines but we have experienced additional difficulties.
Building Charm++
After downloading NAMD_2.6_Source.tar.gz do the following:
%> tar xzf NAMD_2.6_Source.tar.gz %> cd NAMD_2.6_Source %> tar xf charm-5.9.tar %> cd charm-5.9 %> ./build charm++ net-linux-amd64
Wait for charm to finish building then test the configuration by:
%> cd net-linux-amd64/tests/charm++/simplearrayhello %> make %> ./hello %> ./charmrun ++local ./hello
Verify that this program running with any error before continuing.
Building TAU
Make sure to have the latest version of TAU installed on your system. To configure TAU to work with charm++ do the following:
%> cd tau2 %> ./configure -pdt=<path to pdt> -charm=<path to the NAMD_2.6_Source/charm-5.9> ... %> make clean install
To confirm TAU is working properly with charm++ try running this example program:
%> cd examples/charm %> export PATH=<path to NAMD/charm-5.9/bin> %> make %> ./charmrun ++local ./pgm
Verify that profile files have been generated in this directory.
Building NAMD 2.6
There are several patches that need to be applied before can run NAMD with TAU instrumentation but we will put those aside for now to concentrate on building NAMD with TAU auto-instrumentation.
1. First edit Make.charm in NAMD's home so that CHARMBASE is set to the directory where charm-5.9 resides. 2. Next create a selective instrumentation file with these commands:
BEGIN_EXCLUDE_LIST void Sequencer::thread# void Controller::thread# int NAMD_read_int# void PDBDATA::scan# Real PDBAtom::zcoor# Real PDBAtom::ycoor# Real PDBAtom::xcoor# Bool Molocule::is_hydrogen# END_EXCLUDE_LIST BEGIN_FILE_EXCLUDE_LIST *mainfunc.C *memusage.C *BackEnd.C END_FILE_EXCLUDE_LIST
And save this file in the NAMD home directory.
3. Finally edit arch/Linux-amd64-g++.arch so that it resembles:
include /share/home/00968/tg802155/tau2/include/Makefile NAMD_ARCH = Linux-amd64 CHARMARCH = net-linux-amd64 TAU_SELECT_FILE=/share/home/00968/tg802155/NAMD_2.6_Source/select.tau CXX = $(TAU_COMPILER) -optTauSelectFile=$(TAU_SELECT_FILE) g++ CXXOPTS = -O3 -m64 -fexpensive-optimizations -ffast-math CC = $(TAU_COMPILER) -optTauSelectFile=$(TAU_SELECT_FILE) gcc COPTS = -O3 -m64 -fexpensive-optimizations -ffast-math
Begin in NAMD's home directory:
%> cd NAMD_2.6_Source %> ./config Linux-amd64-g++ %> vi Make.charm