Showing posts with label amber. Show all posts
Showing posts with label amber. Show all posts

Monday, February 24, 2014

Amber 12 with Amber Tools 13 on Cray XC30

In this post, I will show you how to compile and run Amber 12 with AmberTools 13 on Cray XC30. Although we can compile them using Intel compiler, PGI compiler, and others, I have decided to use GNU compiler to reduce the number of failed tests.

First of all, you should register (and buy?) a license for Amber 12 to get the its source code. AmberTools 13 can be downloaded directly from the website after your registration.

For compilation, you need the following files in your setup directory ($WORK/setup).
  • Amber12.tar.bz2
  • AmberTools13.tar.bz2
And it is time to begin.

First of all, we have to load some modules and setting environment variables.

% module unload PrgEnv-cray
% module load PrgEnv-gnu
% module load netcdf

Next, extract Amber Tools, then Amber.

% test -d $WORK/apps && cd $WORK/apps || mkdir -p $WORK/apps && cd $WORK/apps
% tar jxf $WORK/setup/AmberTools13.tar.bz2
% tar jxf $WORK/setup/Amber12.tar.bz2
% setenv AMBERHOME $WORK/apps/amber12
% cd $AMBERHOME

Before compile Amber 12, we have to install all bug fixes so far. With Amber 12, you fortunately have an automatic tool to download bug fixes and apply patches (21 bug fixes for Amber 12 and 23 bug fixes for AmberTools 13 as of Feb. 22, 2014.)

% ./update_amber --update

You might have to run the above command again if there is some update for update_amber itself.

Serial Version

% ./configure -noX11 --with-netcdf $NETCDF_DIR --with-python $WORK/bin/python gnu
% make install
& make test.serial

The Python used here was installed in the previous post.

There are 13 file comparisons failed with Amber 12 and 1 file comparisons failed with AmberTools 13 (very small delta 10-7). I will come back with this problem later.

Parallel Version

% ./configure -mpi -noX11 -crayxt5 --with-netcdf $NETCDF_DIR --with-python $WORK/bin/python gnu
% make install

To test the parallel version, we have to submit a job (to the TINY queue, which is a dedicated queue for testing purpose). Create a script file named ptest.pbs with the following content.

#!/bin/csh
#PBS -q TINY
#PBS -N Amber12_PTest
#PBS -l mppwidth=16
#PBS -l mppnppn=16
#PBS -j oe

module unload PrgEnv-cray
module load PrgEnv-gnu
module load netcdf

setenv AMBERHOME "/work/${USER}/apps/amber12"
set path = ( ${AMBERHOME}/bin ${path} )

cd ${AMBERHOME}

setenv DO_PARALLEL "aprun -n 16 -N 16"
make test.parallel

Then, submit the job and wait. You can check the status of your job by checking queues' status.

% qsub ptest.pbs
% qstat -a

After your make have finished, check out the output in file Amber12_PTest.o<ID>, in which ID is your job's ID.

On Feb. 22, 2014, I get the following results.
  • Amber 12: 28 file comparions failed.
  • AmberTools 13: 21 file comparisons failed, 14 tests experienced errors.

Saturday, February 22, 2014

Amber12 with AmberTools13 on CentOS 6

This is a very quick note for install on your own small cluster or single server. If you need more information, please leave a comment.

The destination is /opt/local/amber12 and the shell is /bin/bash.

# yum install libXdmcp-devel python-devel

# mkdir -p /opt/local
# tar jxf AmberTools13.tar.bz2 -C /opt/local
# tar jxf Amber12.tar.bz2 -C /opt/local

# export AMBERHOME=/opt/local/amber12

# cd $AMBERHOME
# ./update_amber --update

Update once again due to the update of update.py.

# ./update_amber --update

Serial version

Configure, compile, install, and test.

# ./configure gnu
# make install
# make test.serial

There are 5 file comparisons failed. However,  they seem to be bugs which are fixed with update.21 (published on Nov. 4, 2013) of AmberTools13 without updates to the saved test output files (run on Mar. 19, 2013).

Parallel version

Install and active required and optional packages.

# yum install openmpi-devel blacs-openmpi-devel blacs-openmpi-static ga-openmpi-devel ga-openmpi-static hdf5-openmpi-devel hdf5-openmpi-static scalapack-openmpi-devel scalapack-openmpi-static mpi4py-openmpi
# module load openmpi-x86_64

Configure and install.

# cd $AMBERHOME
# make clean
# ./configure -mpi gnu
# make install

Test.

# export DO_PARALLEL="mpirun -np 16"
# make test.parallel