How to compile DOCK: Difference between revisions
Enkhjargal (talk | contribs) No edit summary |
Enkhjargal (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
=== compiling dock3.7 === | === compiling dock3.7 === | ||
Revision as of 21:06, 20 January 2017
compiling dock3.7
1. log into psi (portland fortran compiler is on psi) 2. export PATH=/nfs/soft/pgi/current/linux86-64/12.10/bin:$PATH 3. source Trent's virual environment (source /nfs/home/tbalius/zzz.virtualenvs/virtualenv-1.9.1/myVEonGimel/bin/activate) 4. source /nfs/soft/pgi/env.csh
DOCK 3.7
Frist you need the source code:
- lab members and other developers may check out dock from Github
- others can request the distrabution here [1]
compiling dock
To compile DOCK go to path/DOCK/src/i386
make make DEBUG=1 make SIZE=32 [64] make clean
Note:
- To compile with portland group compilers
- go to a machine were pgf linsence is installed (sgehead1 or psi).
- To add a file for compilation, add the xxxx.f file to path/DOCK/src/ and add xxxx.o to i386/Makefile object list.
debuging dock
Debugging :
pgdbg path/DOCK/src/i386/dock_prof64
profiling dock
Profiling:
make pgprofile less pgprof.out pgprof - opens a GUI profiler that interprets pgprof.out !
you may also do the following:
make dock_prof64 cd /dir/test /dockdir/dock_prof64 INDOCK less pgprof.out
make gmon.out less gmon.out
make gprofile less gprofile.txt
DOCK 3.5.54
This is for the Shoichet Lab local version of DOCK 3.5.54 trunk.
Checking out the source files
Commands:
csh mkdir /where/to/put cd /where/to/put svn checkout file:///raid4/svn/dock svn checkout file:///raid4/svn/libfgz
Compiling the program on our cluster
First, you need to set the path to the PGF compiler by adding this line to your .login file (at the end):
setenv DOCK_BASE ~xyz/dockenv echo DOCK_BASE set to $DOCK_BASE. source $DOCK_BASE/etc/login
When you login to sgehead now, you should see the "Enabling pgf compiler" message
Commands:
ssh sgehead cd /where/to/put/libfgz/trunk make
Since we still have some 32bit computers, you'll also want to do
make SIZE=32
before leaving the libfgz branch and going to DOCK:
cd ../../dock/trunk/i386 make
This makes the 64 bit version. Some options:
make SIZE=32
Makes the 32bit version, useful for running on the cluster since some machines are older.
make DEBUG=1
Makes a debug version that will report line numbers of errors and is usable with pgdbg (the Portland Group Debugger), which is useful when writing code but is 10x (or more) slower.
Compiling the program on the shared QB3 cluster
On one of the compilation nodes on the shared QB3 cluster (optint1 or optint2):
ssh optint2 cd /where/to/put/libfgz/trunk cp Makefile Makefile.old modify Makefile: uncomment the following: FC = ifort -O3 CC = icc -O3 make cd ../../dock/trunk/i386 cp Makefile Makefile.old modify Makefile uncomment the following: F77 = ifort FFLAGS = -O3 -convert big_endian make dock