Amber 9 on Fujitsu PRIMEQUEST RXI300/600


This page contains recommendations for building and running Amber 9 on Fujitsu PRIMEQUEST computers equipped with Intel Itanium 2 processor(s) which include, for example, PRIMEQUEST RXI 300, 600.

The Installation was checked with RedHat Enterprise Linux V4 operating systems and with the Intel(R) Fortran/C/C++ Itanium(R) Compilers for Itanium(R)-based applications Versions 8.1, 9, and 10.


Preliminary Remarks

Since Fujitsu MPI implementation is not available yet we recommend to use a freeware MPI implementation, LAM/MPI. LAM/MPI (www.lam-mpi.org) is a high-quality open-source implementation of the Message Passing Interface specification, including all of MPI-1.2 and much of MPI-2.

Contact your system administrator for installing LAM/MPI. We recommend to download the latest version of LAM/MPI and to compile it using the same compiler which will be used to compile Amber.

Also, we recommend to visit AMBER link http://amber.scripps.edu/bugfixes80.html devoted to the bug fixes. This web page contains all bug fixes as well as a cumulative bug fix in a single patch script, bugfix.all. File bugfix.all should be placed into the $AMBERHOME directory and Amber distribution should be patched by running:

cd $AMBERHOME

patch -p0 -N -r patch_rejects <bugfix.all

This should patch source files with the latest bugfixes. Any bugfixes that appear to have already been applied will be skipped. Once the patching is finished one needs to recompile AMBER.

  • Serial Version Installation

1) To compile a serial Amber 9 distribution, first one needs to set the environment variable MKL_HOME to make use of Intel mathematical library. For example:

setenv MKL_HOME /opt/intel-mkl/7.2.008/mkl72

2) Set up the AMBERHOME environment variable to point to where the Amber tree resides on your machine. For example:

setenv AMBERHOME /path/to/amber9

3) Go to the $AMBERHOME/src directory, and create a configuration file, config.h, for a serial version.

./configure -nopar -mmtsb -bintraj ifort_ia64

One can examine and edit this file to match local environment, if necessary. For example, to change

CC= gcc

CPLUSPLUS=g++

Into

CC= icc

CPLUSPLUS=icpc

4) Now compile everything :

make serial

4) To test the basic AMBER distribution, one needs to do the following:

cd $AMBERHOME/test

make

One can also try "make test.<program-name>", to test individual programs. Where "possible FAILURE" messages are found, one needs to go to the indicated directory under $AMBERHOME/test, and look at the "*.dif" files. Differences should involve round-off in the final digit printed, or occasional messages that differ from machine to machine.

  • Parallel (MPI) Version Installation

1) Set a path for LAM-MPI binaries installation. For example:

set path= (/path/to/lam/bin $path)

2) Set MPI_HOME environment variable which will be used by Amber configure script. For example, for a local LAM/MPI installation in

/path/to/lam:

setenv MPI_HOME /path/to/lam

To be sure check current LAM-MPI version using laminfo command.

3) To build a parallel version go to the $AMBERHOME/src directory, and create a configuration file, config.h, for a parallel version.

./configure -lam -mmtsb -bintraj -p4 ifort_ia64

Edit resulted config.h and change lines

FC= ifort

LOAD= ifort $(LOCALFLAGS) $(AMBERBUILDFLAGS)

into

FC= mpif77

LOAD= mpif77 $(LOCALFLAGS) $(AMBERBUILDFLAGS)

3) Now compile a parallel version:

make parallel

4) To test the parallel AMBER distribution, one needs to do the following:

cd $AMBERHOME/test

Setup “DO_PARALLEL” environment variable

setenv DO_PARALLEL “mpirun –np 2 “

to run sander on two CPUs.

Be sure that LAM/MPI run-time environment is launched

make test.parallel

Where "possible FAILURE" messages are found, one needs to go to the indicated directory under $AMBERHOME/test, and look at the "*.dif" files. Differences should involve round-off in the final digit printed, or occasional messages that differ from machine to machine.

PMEMD

Be sure to patch source files with the latest bugfixes. You can skip this step if a cumulative bug fix patch had been already applied to the Amber distribution.

Set MKL_HOME environment variable which will be used by the configure script. For example:

setenv MKL_HOME /opt/intel-mkl/7.2.008/mkl72

  • Serial Version Installation

1) In $AMBERHOME/src/pmemd one needs to create configuration file, config.h, using configure utility:

./configure sgi_altix ifort nopar bintraj

$ make clean

$ make

$ make install

2) Before running pmemd to avoid program crashes one needs to be sure to unlimit the stacksize in your shell. For example, for csh:

limit stacksize unlimited

3) To test a serial version of pmemd one needs to switch to the directory $AMBERHOME/test and run tests for the pmemd:

make test.pmemd

Where "possible FAILURE" messages are found, one needs to go to the indicated directory under $AMBERHOME/test, and look at the "*.dif" files. Differences should involve round-off in the final digit printed, or occasional messages that differ from machine to machine.

  • Parallel Version Installation

1) Set a path for local LAM-MPI binaries installation. For example:

set path= (/path/to/lam/bin $path)

2) Set MPI_HOME environment variable which will be used by PMEMD configure script:

setenv MPI_HOME /path/to/lam

3) In $AMBERHOME/src/pmemd one needs to create configuration file, config.h, using configure utility:

./configure sgi-altix ifort lam bintraj

User might want to look at file config.h and make corrections. For example, one needs to change lines

F90 = ifort

and

LOAD = ifort

into

F90 = mpif77

and

LOAD = mpif77

$ make clean

$ make

$ make install

4) To test a parallel version of pmemd one needs to switch to the directory $AMBERHOME/test, setup “DO_PARALLEL” environment variable

setenv DO_PARALLEL “mpirun –np 2 “

to run pmemd on two CPUs and run tests for the pmemd:

make test.pmemd

Where "possible FAILURE" messages are found, one needs to go to the indicated directory under $AMBERHOME/test, and look at the "*.dif" files. Differences should involve round-off in the final digit printed, or occasional messages that differ from machine to machine.