Amber 8 on Fujitsu PRIMEQUEST RXI300/600


This page contains recommendations for building and running Amber 8 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 Version 8.1.


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 8 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/amber8

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

./configure -nopar ia64_ifort

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

4) Now compile everything :

make serial

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

cd $AMBERHOME/test

make test

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 LAM_HOME environment variable which will be used by Amber configure script. For example, for a local LAM/MPI installation in /path/to/lam:

      setenv LAM_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 ia64_ifort

      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.sander

      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

      Before building pmemd it is recommended to download a new configuration utility for pmemd from the AMBER site. This file will simply need to be untar'd in the $AMBERHOME/src/pmemd directory, which will place a new_configure_README, a new_configure script, and a new_config_data directory in the pmemd directory.

      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

      Also, user might want to modify pmemd_clib.c subroutine in the $AMBERHOME/src/pmemd/src directory to add a small subroutine

      void

      /* CLINK_CAPS if for unicos (cray) */

      #ifdef CLINK_CAPS

      CHECK_RESOURCES(void)

      #else

      #ifdef NO_C_UNDERSCORE

      check_resources(void)

      #else

      /* DBL_C_UNDERSCORE for pathscale */

      #ifdef DBL_C_UNDERSCORE

      check_resources__(void)

      #else

      check_resources_(void)

      #endif

      #endif

      #endif

      {

      int n;

      struct rlimit rlim;

      n = getrlimit(RLIMIT_STACK, &rlim);

      double h_lim = (double)rlim.rlim_max;

      double s_lim = (double)rlim.rlim_cur;

      printf("\nStacksize limits: hard: %10.1lf Kb Soft: %10.1lf Kb\n",h_lim/1024., s_lim/1024.);

      rlim.rlim_cur = rlim.rlim_max;

      n = setrlimit(RLIMIT_STACK, &rlim);

      if ( n == -1 ) {

      perror("setrlimit fails");

      printf("\nUnable to increase stacksize\n");

      }

      }

      Also, one needs to add a call to the subroutine from the main PMEMD module, pmemd.f90:

      call time_it(3, 6)

      call wall(itim0)

      call check_resources()

      This subroutine will try to increase soft stacksize limit upon run of PMEMD.

      • Serial Version Installation

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

      ./new_configure sgi_altix ifort nopar

      User might want to look at file config.h and make corrections (if any).

      make clean

      make

      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

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

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

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

      setenv MPI_HOME /path/to/lam

      In $AMBERHOME/src/pmemd one needs to create configuration file, config.h, using either configure utility. Before running configure utility download configuration file, itanium2.mpif77.lam , (shift-click or right-mouse-click for download) and put it into in the $AMBERHOME/src/pmemd/config_data directory.

      Run configure utility:

      ./configure itanium2 mpif77 lam

      You might want to look at file config.h and make corrections (if any).

      make clean

      make

      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.