UIUC has a cool research project going called NAMD. NAMD, recipient of a 2002 Gordon Bell Award, is a parallel molecular dynamics code designed for high-performance simulation of large biomolecular systems. Based on Charm++ parallel objects, NAMD scales to hundreds of processors on high-end parallel platforms and tens of processors on commodity clusters using gigabit ethernet. NAMD uses the popular molecular graphics program VMD for simulation setup and trajectory analysis, but is also file-compatible with AMBER, CHARMM, and X-PLOR. NAMD is distributed free of charge with source code. You can build NAMD yourself or download binaries for a wide variety of platforms. The tutorials show you how to use NAMD and VMD for biomolecular modeling.
I know for sure that the Gordon Bell Award is a big deal. I looked around and realised that they had no distribution for Solaris 10 operating system on the x86 architecture. So I volunteered to do some building. The following is an account of it.
Here is my experience while compiling NAMD and Cham++ on Solaris 10 x86
Machine info: Ultra 20 - AMD Opteron Solaris 10 x86 with mpich 1.1.2
- We will learn how to compile NAMD2 with tcl on Solaris 10 x86. Compiling namd2 with fftw is still in the works.
Things to download:
- NAMD2 source code from CVS - Jim Philips was nice enough to give me access.
- Charm-5.9 source code from here
- Tcl sol-x86 binaries from here
- Do take a look at the notes.txt under the namd2 directory.
- Desist from using relative paths while setting the environment variables.
- untar charm-5.9, tcl and namd2
I. Compile charm++ for Solaris 10 x86
- cd charm-5.9/src
- mkdir arch/mpi-sol-x86
- cp mpi-sol/\* mpi-sol-x86/
- vi mpi-sol-x86/conv-mach.sh;
- set CMK_QT to 'generic'
- append ' -lrt' to the value of CMK_LIBS
- Since I have mpich installed I give the following command in the charm-5.9 directory
- $ ./build charm++ mpi-sol-x86 gcc --incdir=/export/home/mpich/include --libdir=/export/home/mpich/lib
- This command creates a directory called 'mpi-sol-x86-gcc' under the 'charm-5.9' directory.
- mpi-sol-x86-gcc is your CHARMARCH
II. Compile NAMD on Solaris 10 x86
- cd namd2; chmod +x config
- vi Make.charm; and set the CHARMBASE to the top-level 'charm-5.9' directory.
- vi arch/Solaris-i686-g++.arch; and set the CHARMARCH to mpi-sol-x86-gcc.
- vi arch/Solaris-i686.tcl; and set the TCLDIR appropriately.
- ./config tcl Solaris-i686-g++
- cd Solaris-i686-g++;
- vi Makefile; go to the target 'psfgen' and append '-lsocket -lnsl' to the line starting with '$(CC)'
- Please check the compilation by running some examples. I haven't yet got time to run tests. I seem to have messed up my ip, machine, automount-config ( I am prone to such unfortunate events.. Sigh!)