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.

No comments:

Post a Comment